With the emergence of cooperative applications it turned out that traditional transaction concepts are not suitable for these scenarios. Isolation of transactions, as guaranteed by the ACID transaction properties, contradicts the need of cooperation between users. In this paper, we propose a cooperative activity model that provides transactional properties suitable for cooperative scenarios. Each user participating in a cooperative activity has his own private workspace that is isolated from other users. Cooperation is achieved by controlled exchange and synchronization of the contents of workspaces among the users and by installing results of their activities in the common activity database. Our model ensures that the joint execution of a cooperative activity is equivalent to one that could have been carried out by a single user. We discuss our cooperative activity model in different scenarios, one requiring a close cooperation in an authoring environment, and the second implementing...