Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Stepper2015-09-25 10:37:17 +0000
committerEike Stepper2015-09-25 10:37:17 +0000
commit3259e9d702451eae8965688c62c167913c73df34 (patch)
tree2b708d5e5671617df0a4e1adab71c45bc4078d87
parent196eb7b8b72e7ea56999f3b1a813a0ce2f6886c2 (diff)
downloadcdo-3259e9d702451eae8965688c62c167913c73df34.tar.gz
cdo-3259e9d702451eae8965688c62c167913c73df34.tar.xz
cdo-3259e9d702451eae8965688c62c167913c73df34.zip
[297142] Provide more documentation
https://bugs.eclipse.org/bugs/show_bug.cgi?id=297142
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/html/operators/Doc01_ConfiguringRepositories.html2
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/html/operators/index.html4
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/html/users/Doc01_UserInterface.html2
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/html/users/Doc05_UsingCheckouts.html2
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/html/users/Doc06_UsingResources.html2
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/html/users/Doc07_UsingModels.html10
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/html/users/Doc08_Collaborating.html180
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/html/users/Doc09_TechnicalBackground.html (renamed from plugins/org.eclipse.emf.cdo.doc/html/users/Doc08_TechnicalBackground.html)42
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/html/users/collaborating.pngbin0 -> 43951 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/html/users/early-conflict.pngbin0 -> 11398 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/html/users/index.html31
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/html/users/late-conflict.pngbin0 -> 23658 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/html/users/pessimistic-locking.pngbin0 -> 31061 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/operators/Doc01_ConfiguringRepositories.java2
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/users/Doc01_UserInterface.java2
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/users/Doc05_UsingCheckouts.java2
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/users/Doc06_UsingResources.java2
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/users/Doc07_UsingModels.java4
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/users/Doc08_Collaborating.java194
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/users/Doc09_TechnicalBackground.java (renamed from plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/users/Doc08_TechnicalBackground.java)2
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/users/collaborating.pngbin0 -> 43951 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/users/early-conflict.pngbin0 -> 11398 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/users/late-conflict.pngbin0 -> 23658 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/users/pessimistic-locking.pngbin0 -> 31061 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/toc.html3
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/toc.xml3
-rw-r--r--plugins/org.eclipse.emf.cdo.releng/help/toc.html3
27 files changed, 439 insertions, 53 deletions
diff --git a/plugins/org.eclipse.emf.cdo.doc/html/operators/Doc01_ConfiguringRepositories.html b/plugins/org.eclipse.emf.cdo.doc/html/operators/Doc01_ConfiguringRepositories.html
index 01b84ef44c..4f9d2b78ed 100644
--- a/plugins/org.eclipse.emf.cdo.doc/html/operators/Doc01_ConfiguringRepositories.html
+++ b/plugins/org.eclipse.emf.cdo.doc/html/operators/Doc01_ConfiguringRepositories.html
@@ -243,7 +243,7 @@ function windowTitle()
<p>
Specifies whether the repository will support the storage of instances of the Ecore (meta meta) model or not.
<p>
- With the advent of the <a href="../users/Doc08_TechnicalBackground.html#Doc_BackgroundLegacyModels" title="Chapter in CDO Model Repository Documentation">legacy mode</a> in CDO 3.0 you can store instances of any model in CDO repositories.
+ With the advent of the <a href="../users/Doc09_TechnicalBackground.html#Doc_BackgroundLegacyModels" title="Chapter in CDO Model Repository Documentation">legacy mode</a> in CDO 3.0 you can store instances of any model in CDO repositories.
Whether these models have been generated for CDO or not only influences their characteristics (scalability, performance, etc.).
As a consequence you can also store instances of the Ecore (meta meta) model in CDO Repositories.
Since Ecore is always registered in all package registries the legacy mode would lead to the creation of mapped tables in many types of stores,
diff --git a/plugins/org.eclipse.emf.cdo.doc/html/operators/index.html b/plugins/org.eclipse.emf.cdo.doc/html/operators/index.html
index 81778117d7..2a47eb5d36 100644
--- a/plugins/org.eclipse.emf.cdo.doc/html/operators/index.html
+++ b/plugins/org.eclipse.emf.cdo.doc/html/operators/index.html
@@ -23,7 +23,7 @@ function windowTitle()
<table border="0">
<tr>
<td width="100%"><h1>Operator's Guide</h1></td>
- <td align="right" valign="middle" nowrap><a href="../users/Doc08_TechnicalBackground.html" title="Backward to Understanding the Technical Background"><img src="../../images/backward.png" border="0"></a>&nbsp;<a href="Doc00_OperatingServer.html" title="Forward to Operating a CDO Server"><img src="../../images/forward.png" border="0"></a></td>
+ <td align="right" valign="middle" nowrap><a href="../users/Doc09_TechnicalBackground.html" title="Backward to Understanding the Technical Background"><img src="../../images/backward.png" border="0"></a>&nbsp;<a href="Doc00_OperatingServer.html" title="Forward to Operating a CDO Server"><img src="../../images/forward.png" border="0"></a></td>
</tr>
</table>
<p>
@@ -71,7 +71,7 @@ function windowTitle()
<p align="right">
-<a href="../users/Doc08_TechnicalBackground.html" title="Backward to Understanding the Technical Background"><img src="../../images/backward.png" border="0"></a>&nbsp;<a href="Doc00_OperatingServer.html" title="Forward to Operating a CDO Server"><img src="../../images/forward.png" border="0"></a></p>
+<a href="../users/Doc09_TechnicalBackground.html" title="Backward to Understanding the Technical Background"><img src="../../images/backward.png" border="0"></a>&nbsp;<a href="Doc00_OperatingServer.html" title="Forward to Operating a CDO Server"><img src="../../images/forward.png" border="0"></a></p>
<HR>
<i>Copyright (c) 2011, 2012, 2015 Eike Stepper (Berlin, Germany) and others.</i>
</BODY>
diff --git a/plugins/org.eclipse.emf.cdo.doc/html/users/Doc01_UserInterface.html b/plugins/org.eclipse.emf.cdo.doc/html/users/Doc01_UserInterface.html
index 49f73c3261..c1636fc99c 100644
--- a/plugins/org.eclipse.emf.cdo.doc/html/users/Doc01_UserInterface.html
+++ b/plugins/org.eclipse.emf.cdo.doc/html/users/Doc01_UserInterface.html
@@ -233,7 +233,7 @@ function windowTitle()
<ul>
<li><a href="http://www.eclipse.org/emf/compare/documentation/latest/user/user-guide.html" title="Article in CDO Model Repository Documentation">EMF Compare Guide</a></li>
<li><a href="Doc05_UsingCheckouts.html#Doc_ComparingCheckouts" title="Chapter in CDO Model Repository Documentation">Comparing Checkouts</a></li>
- <li><a href="Doc08_TechnicalBackground.html#Doc_BackgroundCompare" title="Chapter in CDO Model Repository Documentation">Technical Background of the Compare Integration</a></li>
+ <li><a href="Doc09_TechnicalBackground.html#Doc_BackgroundCompare" title="Chapter in CDO Model Repository Documentation">Technical Background of the Compare Integration</a></li>
</ul>
diff --git a/plugins/org.eclipse.emf.cdo.doc/html/users/Doc05_UsingCheckouts.html b/plugins/org.eclipse.emf.cdo.doc/html/users/Doc05_UsingCheckouts.html
index ec7f246fe6..5f26b61e82 100644
--- a/plugins/org.eclipse.emf.cdo.doc/html/users/Doc05_UsingCheckouts.html
+++ b/plugins/org.eclipse.emf.cdo.doc/html/users/Doc05_UsingCheckouts.html
@@ -430,7 +430,7 @@ function windowTitle()
Updating an offline checkout is a <b>remote operation</b>.<p><b>See Also:</b></p>
<ul>
<li><a href="Doc01_UserInterface.html#Doc_CompareIntegration" title="Chapter in CDO Model Repository Documentation">Compare Integration</a></li>
- <li><a href="Doc08_TechnicalBackground.html#Doc_BackgroundCompare" title="Chapter in CDO Model Repository Documentation">Technical Background of the Compare Integration</a></li>
+ <li><a href="Doc09_TechnicalBackground.html#Doc_BackgroundCompare" title="Chapter in CDO Model Repository Documentation">Technical Background of the Compare Integration</a></li>
</ul>
diff --git a/plugins/org.eclipse.emf.cdo.doc/html/users/Doc06_UsingResources.html b/plugins/org.eclipse.emf.cdo.doc/html/users/Doc06_UsingResources.html
index 23e5246096..8a2fed0bc8 100644
--- a/plugins/org.eclipse.emf.cdo.doc/html/users/Doc06_UsingResources.html
+++ b/plugins/org.eclipse.emf.cdo.doc/html/users/Doc06_UsingResources.html
@@ -32,7 +32,7 @@ function windowTitle()
consists of folders and different types of resources, all categorized as <a href="../../javadoc/org/eclipse/emf/cdo/eresource/CDOResourceNode.html" title="Interface in org.eclipse.emf.cdo.eresource"><code>resource nodes</code></a>.
<p>
All modifications of the resource tree that are triggered in the <a href="Doc01_UserInterface.html#Doc_ProjectExplorerIntegration" title="Chapter in CDO Model Repository Documentation">Project Explorer</a>
- are performed in a separate background <a href="../../javadoc/org/eclipse/emf/cdo/transaction/CDOTransaction.html" title="Interface in org.eclipse.emf.cdo.transaction"><code>transaction</code></a>, see <a href="Doc08_TechnicalBackground.html#Doc_BackgroundTransactions" title="Chapter in CDO Model Repository Documentation">Technical Background of Transactions</a> for details.
+ are performed in a separate background <a href="../../javadoc/org/eclipse/emf/cdo/transaction/CDOTransaction.html" title="Interface in org.eclipse.emf.cdo.transaction"><code>transaction</code></a>, see <a href="Doc09_TechnicalBackground.html#Doc_BackgroundTransactions" title="Chapter in CDO Model Repository Documentation">Technical Background of Transactions</a> for details.
<p>
Modifying the resource tree is only possible in checkouts that are not read-only, i.e., not in <a href="Doc04_CheckingOut.html#Doc_HistoricalCheckouts" title="Chapter in CDO Model Repository Documentation">Online Historical Checkouts</a>.
<p>
diff --git a/plugins/org.eclipse.emf.cdo.doc/html/users/Doc07_UsingModels.html b/plugins/org.eclipse.emf.cdo.doc/html/users/Doc07_UsingModels.html
index 7ebaae0a45..96949fd872 100644
--- a/plugins/org.eclipse.emf.cdo.doc/html/users/Doc07_UsingModels.html
+++ b/plugins/org.eclipse.emf.cdo.doc/html/users/Doc07_UsingModels.html
@@ -23,14 +23,14 @@ function windowTitle()
<table border="0">
<tr>
<td width="100%"><h1>Working with Models and Model Elements</h1></td>
- <td align="right" valign="middle" nowrap><a href="Doc06_UsingResources.html" title="Backward to Working with Folders and Resources"><img src="../../images/backward.png" border="0"></a>&nbsp;<a href="Doc08_TechnicalBackground.html" title="Forward to Understanding the Technical Background"><img src="../../images/forward.png" border="0"></a></td>
+ <td align="right" valign="middle" nowrap><a href="Doc06_UsingResources.html" title="Backward to Working with Folders and Resources"><img src="../../images/backward.png" border="0"></a>&nbsp;<a href="Doc08_Collaborating.html" title="Forward to Collaborating in Real-Time"><img src="../../images/forward.png" border="0"></a></td>
</tr>
</table>
<p class="author">Author: Eike Stepper</p>
<p>
All modifications of model elements that are triggered in the <a href="Doc01_UserInterface.html#Doc_ProjectExplorerIntegration" title="Chapter in CDO Model Repository Documentation">Project Explorer</a>
(as opposed to being triggered in a <a href="Doc07_UsingModels.html#Doc_EditingModelElementsEditor" title="Chapter in CDO Model Repository Documentation">model editor</a>)
- are performed in a separate background <a href="../../javadoc/org/eclipse/emf/cdo/transaction/CDOTransaction.html" title="Interface in org.eclipse.emf.cdo.transaction"><code>transaction</code></a>, see <a href="Doc08_TechnicalBackground.html#Doc_BackgroundTransactions" title="Chapter in CDO Model Repository Documentation">Technical Background of Transactions</a> for details.
+ are performed in a separate background <a href="../../javadoc/org/eclipse/emf/cdo/transaction/CDOTransaction.html" title="Interface in org.eclipse.emf.cdo.transaction"><code>transaction</code></a>, see <a href="Doc09_TechnicalBackground.html#Doc_BackgroundTransactions" title="Chapter in CDO Model Repository Documentation">Technical Background of Transactions</a> for details.
<p>
Modifying model elements is only possible in checkouts that are not read-only, i.e., not in <a href="Doc04_CheckingOut.html#Doc_HistoricalCheckouts" title="Chapter in CDO Model Repository Documentation">Online Historical Checkouts</a>.
<p>
@@ -60,7 +60,7 @@ function windowTitle()
or an existing model element that can have children, opening the context menu and opening the New sub menu.
This sub menu looks different depending on the type of the container. It is explained in the following two sub sections.<p><b>See Also:</b></p>
<ul>
- <li><a href="Doc08_TechnicalBackground.html#Doc_BackgroundModelElements" title="Chapter in CDO Model Repository Documentation">Technical Background of Model Elements</a></li>
+ <li><a href="Doc09_TechnicalBackground.html#Doc_BackgroundModelElements" title="Chapter in CDO Model Repository Documentation">Technical Background of Model Elements</a></li>
</ul>
@@ -151,10 +151,10 @@ function windowTitle()
<p>
All registered model editors open their own, separate <a href="../../javadoc/org/eclipse/emf/cdo/transaction/CDOTransaction.html" title="Interface in org.eclipse.emf.cdo.transaction"><code>transaction</code></a>, which is typically
<a href="../../javadoc/org/eclipse/emf/cdo/transaction/CDOTransaction.html" title="Interface in org.eclipse.emf.cdo.transaction"><code>committed</code></a> when the editor is saved.
- See <a href="Doc08_TechnicalBackground.html#Doc_BackgroundTransactions" title="Chapter in CDO Model Repository Documentation">Technical Background of Transactions</a> for details on how transactions are typically used by editors.
+ See <a href="Doc09_TechnicalBackground.html#Doc_BackgroundTransactions" title="Chapter in CDO Model Repository Documentation">Technical Background of Transactions</a> for details on how transactions are typically used by editors.
<p align="right">
-<a href="Doc06_UsingResources.html" title="Backward to Working with Folders and Resources"><img src="../../images/backward.png" border="0"></a>&nbsp;<a href="Doc08_TechnicalBackground.html" title="Forward to Understanding the Technical Background"><img src="../../images/forward.png" border="0"></a></p>
+<a href="Doc06_UsingResources.html" title="Backward to Working with Folders and Resources"><img src="../../images/backward.png" border="0"></a>&nbsp;<a href="Doc08_Collaborating.html" title="Forward to Collaborating in Real-Time"><img src="../../images/forward.png" border="0"></a></p>
<HR>
<i>Copyright (c) 2011, 2012, 2015 Eike Stepper (Berlin, Germany) and others.</i>
</BODY>
diff --git a/plugins/org.eclipse.emf.cdo.doc/html/users/Doc08_Collaborating.html b/plugins/org.eclipse.emf.cdo.doc/html/users/Doc08_Collaborating.html
new file mode 100644
index 0000000000..7ca0ea701f
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.doc/html/users/Doc08_Collaborating.html
@@ -0,0 +1,180 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML>
+
+<HEAD>
+<TITLE>Collaborating in Real-Time (CDO Model Repository Documentation)</TITLE>
+
+<LINK REL="STYLESHEET" HREF="../book.css" CHARSET="ISO-8859-1" TYPE="text/css">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Collaborating in Real-Time (CDO Model Repository Documentation)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT></NOSCRIPT>
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<!-- <div class="help_breadcrumbs"><a href="../Overview.html" title="CDO Model Repository Documentation">CDO Model Repository Documentation</a> > <a href="index.html" title="Category in CDO Model Repository Documentation">User's Guide</a></div> -->
+
+<table border="0">
+ <tr>
+ <td width="100%"><h1>Collaborating in Real-Time</h1></td>
+ <td align="right" valign="middle" nowrap><a href="Doc07_UsingModels.html" title="Backward to Working with Models and Model Elements"><img src="../../images/backward.png" border="0"></a>&nbsp;<a href="Doc09_TechnicalBackground.html" title="Forward to Understanding the Technical Background"><img src="../../images/forward.png" border="0"></a></td>
+ </tr>
+</table>
+<p class="author">Author: Eike Stepper</p>
+<p>
+ CDO supports real-time collaboration on models by transferring the changes that one user
+ <a href="../../javadoc/org/eclipse/emf/cdo/transaction/CDOTransaction.html" title="Interface in org.eclipse.emf.cdo.transaction"><code>commits</code></a> to the repository to all
+ other users connected to the same repository and transparently weaving those changes into their model copies.
+ <p align="center"><img src="collaborating.png"></p>
+
+ <p>
+ With CDO the local model copies (in particular with <a href="Doc04_CheckingOut.html#Doc_TransactionalCheckouts" title="Chapter in CDO Model Repository Documentation">online transactional checkouts</a>) do not need to be
+ <i>updated</i> manually; they are automatically updated (almost) at the time they are changed by other users.
+ <p>
+ As real-time collaboration relies on committing a <a href="../../javadoc/org/eclipse/emf/cdo/transaction/CDOTransaction.html" title="Interface in org.eclipse.emf.cdo.transaction"><code>transaction</code></a> it applies only to
+ online transactional checkouts and the <a href="Doc07_UsingModels.html#Doc_EditingModelElementsEditor" title="Chapter in CDO Model Repository Documentation">editors</a>
+ opened on online transactional models. Saving a model editor commits the underlying transaction.
+ <p>
+ The data integrity of the models and model elements in a repository is guaranteed by <a href="../../../org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/concurrent/IRWLockManager.LockType.html" title="Class in org.eclipse.net4j.util.concurrent.IRWLockManager"><code>write locks</code></a>
+ that are acquired <b>per model element</b>. <a href="../../../org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/concurrent/IRWLockManager.LockType.html" title="Class in org.eclipse.net4j.util.concurrent.IRWLockManager"><code>Read locks</code></a> and <a href="../../../org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/concurrent/IRWLockManager.LockType.html" title="Class in org.eclipse.net4j.util.concurrent.IRWLockManager"><code>write options</code></a>,
+ as well as <a href="../../javadoc/org/eclipse/emf/cdo/view/CDOView.html" title="Interface in org.eclipse.emf.cdo.view"><code>durable locks</code></a> are supported by the core-level APIs
+ but not by the CDO Explorer's user interface.
+ <p>
+ <b>Table of Contents</b> <p>
+<table border="0">
+<tr><td>1&nbsp;</td><td colspan="4"><a href="Doc08_Collaborating.html#Doc_OptimisticLocking" title="Chapter in CDO Model Repository Documentation">Optimistic Locking</a></td></tr>
+<tr><td></td><td>1.1&nbsp;</td><td colspan="3"><a href="Doc08_Collaborating.html#Doc_EarlyConflictDetection" title="Chapter in CDO Model Repository Documentation">Early Conflict Detection</a></td></tr>
+<tr><td></td><td>1.2&nbsp;</td><td colspan="3"><a href="Doc08_Collaborating.html#Doc_AutomaticConflictResolution" title="Chapter in CDO Model Repository Documentation">Automatic Conflict Resolution</a></td></tr>
+<tr><td></td><td>1.3&nbsp;</td><td colspan="3"><a href="Doc08_Collaborating.html#Doc_InteractiveConflictResolution" title="Chapter in CDO Model Repository Documentation">Interactive Conflict Resolution</a></td></tr>
+<tr><td>2&nbsp;</td><td colspan="4"><a href="Doc08_Collaborating.html#Doc_PessimisticLocking" title="Chapter in CDO Model Repository Documentation">Pessimistic Locking</a></td></tr>
+<tr><td></td><td>2.1&nbsp;</td><td colspan="3"><a href="Doc08_Collaborating.html#Doc_TreeLocking" title="Chapter in CDO Model Repository Documentation">Tree Locking</a></td></tr>
+<tr><td>3&nbsp;</td><td colspan="4"><a href="Doc08_Collaborating.html#Doc_AutomaticLocking" title="Chapter in CDO Model Repository Documentation">Automatic Locking</a></td></tr>
+<tr><td>4&nbsp;</td><td colspan="4"><a href="Doc08_Collaborating.html#Doc_AutomaticCommitting" title="Chapter in CDO Model Repository Documentation">Automatic Committing</a></td></tr>
+</table>
+</p>
+
+
+<h2><a name="Doc_OptimisticLocking"></a>1&nbsp;&nbsp;Optimistic Locking</h2>
+<p>
+ By default model elements are locked optimistically, that is, the CDO server <i>implicitly</i> acquires and releases locks while executing
+ a commit operation. These implicit locks are not visible to the committing user or any other user of the same repository.
+ <p>
+ Optimistic locking provides for the highest possible degree of concurrency but it also comes with a non-zero risk of commit conflicts
+ that are only detected when a commit operation is executed by the CDO server and, as a consequence, rejected. Because of
+ <a href="Doc08_Collaborating.html#Doc_EarlyConflictDetection" title="Chapter in CDO Model Repository Documentation">Early Conflict Detection</a> the risk of conflicts that are detected that late in the commit process is generally much lower
+ than, for example, in pure database-based applications.
+ <p>
+ To completely eliminate the risk of commit conflicts <a href="Doc08_Collaborating.html#Doc_PessimisticLocking" title="Chapter in CDO Model Repository Documentation">Pessimistic Locking</a> must be used.
+
+<h3><a name="Doc_EarlyConflictDetection"></a>1.1&nbsp;&nbsp;Early Conflict Detection</h3>
+<p>
+ As the local model copies of a user are automatically updated (almost) at the time they are changed by other users
+ CDO can anticipate the conflict potential of the local changes early, in particular before an attempt to commit these changes is even made.
+ The <a href="Doc07_UsingModels.html#Doc_EditingModelElementsEditor" title="Chapter in CDO Model Repository Documentation">CDO Model Editor</a> decorates such conflicting model elements with a red-colored font,
+ indicating that the underlying <a href="../../javadoc/org/eclipse/emf/cdo/transaction/CDOTransaction.html" title="Interface in org.eclipse.emf.cdo.transaction"><code>transaction</code></a> can not be successfully committed anymore.
+ <p align="center"><img src="early-conflict.png"></p>
+
+ <p>
+ <a href="Doc08_Collaborating.html#Doc_AutomaticConflictResolution" title="Chapter in CDO Model Repository Documentation">Automatic Conflict Resolution</a> and <a href="Doc08_Collaborating.html#Doc_InteractiveConflictResolution" title="Chapter in CDO Model Repository Documentation">Interactive Conflict Resolution</a>, if enabled, may have an impact on what exact types
+ of changes are considered a conflict.
+
+<h3><a name="Doc_AutomaticConflictResolution"></a>1.2&nbsp;&nbsp;Automatic Conflict Resolution</h3>
+<p>
+ Each time a local transaction is notified of a remote change by the CDO server and local conflicts are detected (see <a href="Doc08_Collaborating.html#Doc_EarlyConflictDetection" title="Chapter in CDO Model Repository Documentation">Early Conflict Detection</a>)
+ these conflicts are categorized as being either <i>trivial</i> conflicts or <i>non-trivial</i> conflicts. Trivial conflicts are:
+ <ul>
+ <li> Changes to multi-valued <a href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.11/org/eclipse/emf/ecore/EStructuralFeature.html" title="Interface in org.eclipse.emf.ecore"><code>features</code></a> on both sides (local and remote) of the same model element.
+ <li> Changes to different single-valued <a href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.11/org/eclipse/emf/ecore/EStructuralFeature.html" title="Interface in org.eclipse.emf.ecore"><code>features</code></a> on both sides (local and remote) of the same model element.
+ </ul>
+ <p>
+ Trivial conflicts are merged automatically into the local transaction, i.e., no user interaction is involved.
+ <p>
+ When non-trivial changes are detected, i.e., changes to the same single-valued <a href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.11/org/eclipse/emf/ecore/EStructuralFeature.html" title="Interface in org.eclipse.emf.ecore"><code>feature</code></a> on both sides (local and remote)
+ of the same model element, automatic conflict resolution is suspended for all model elements until the next local commit operation.
+ During this period all incoming change notifications are accumulated and remembered for possible <a href="Doc08_Collaborating.html#Doc_InteractiveConflictResolution" title="Chapter in CDO Model Repository Documentation">Interactive Conflict Resolution</a>
+ at commit time.
+
+<h3><a name="Doc_InteractiveConflictResolution"></a>1.3&nbsp;&nbsp;Interactive Conflict Resolution</h3>
+<p>
+ If <a href="Doc08_Collaborating.html#Doc_AutomaticConflictResolution" title="Chapter in CDO Model Repository Documentation">Automatic Conflict Resolution</a> has detected non-trivial conflicts in a local <a href="../../javadoc/org/eclipse/emf/cdo/transaction/CDOTransaction.html" title="Interface in org.eclipse.emf.cdo.transaction"><code>transaction</code></a> and
+ an attempt is made to commit this transaction the following dialog pops up:
+ <p align="center"><img src="late-conflict.png"></p>
+
+ <p>
+ The dialog shows an overview of how many local model elements are added, changed, and removed. One of several conflict resolution
+ actions has to be selected by the user:
+ <ul>
+ <li> If the Merge action is selected an EMF Merge editor is opened with the left side showing the remote changes and
+ the right side showing the local changes:
+ <p align="center"><img src="merge.png"></p>
+
+ <p>
+ Saving this merge editor commits the merged local transaction. Note that new non-trivial conflicts may have been detected
+ in the meantime, in which case interactive conflict resolution is triggered again.
+ <li> If the Rollback action is selected the local transaction is <a href="../../javadoc/org/eclipse/emf/cdo/transaction/CDOTransaction.html" title="Interface in org.eclipse.emf.cdo.transaction"><code>rolled back</code></a> and the local model copies
+ are automatically updated to their latest remote versions. As a result all local changes will be lost and eventually need to be
+ re-applied and committed again.
+ </ul>
+
+<h2><a name="Doc_PessimisticLocking"></a>2&nbsp;&nbsp;Pessimistic Locking</h2>
+<p>
+ Sometimes it seems not desirable to risk commit conflicts as they can occur with <a href="Doc08_Collaborating.html#Doc_OptimisticLocking" title="Chapter in CDO Model Repository Documentation">Optimistic Locking</a>.
+ In these cases CDO supports the acquisition of <i>explicit</i> locks on selected models (see <a href="Doc08_Collaborating.html#Doc_TreeLocking" title="Chapter in CDO Model Repository Documentation">Tree Locking</a>) and model elements.
+ <p>
+ Pessimistic locking support consists of:
+ <ul>
+ <li> Lock and unlock actions
+ <li> Lock state visualization
+ </ul>
+ <p>
+ Whether custom user interface components, such as model editors or views, support local actions and/or lock state visualization depends
+ on the implementation of those components. The CDO Model Editor's context menu offers lock actions for model elements that are not locked
+ by anyone and unlock actions for model elements that are locked by the current user. Both the CDO Model Editor and the
+ <a href="Doc01_UserInterface.html#Doc_ProjectExplorerIntegration" title="Chapter in CDO Model Repository Documentation">Project Explorer Integration</a> support lock state visualization by decorating model elements that are locked by the current user
+ with a green lock icon (indicating that they can be modified) and model elements that are locked by other users with a red lock icon
+ (indicating that they can not be modified):
+ <p align="center"><img src="pessimistic-locking.png"></p>
+
+ <p>
+ Note that a CDO editor generally operates in the context of a separate transaction, in particular not in the context of the
+ <a href="../../javadoc/org/eclipse/emf/cdo/view/CDOView.html" title="Interface in org.eclipse.emf.cdo.view"><code>read-only view</code></a> of the associated checkout, which explains why, in the screen shot above, both checkouts show the
+ locked model elements with a red lock icon decoration. In other words, while a model element is locked in a CDO editor it can not be
+ modified directly in the associated checkout via the Project Explorer.
+
+<h3><a name="Doc_TreeLocking"></a>2.1&nbsp;&nbsp;Tree Locking</h3>
+<p>
+ Sometimes it is desirable to lock not just a single model element but to atomically lock the tree of model elements rooted at the
+ selected model element. The CDO Model Editor's context menu offers a Lock Tree action for model elements that are not locked by
+ anyone and an Unlock Tree action for model elements that are locked by the current user.
+
+<h2><a name="Doc_AutomaticLocking"></a>3&nbsp;&nbsp;Automatic Locking</h2>
+<p>
+ With automatic locking turned on for a particular <a href="../../javadoc/org/eclipse/emf/cdo/transaction/CDOTransaction.html" title="Interface in org.eclipse.emf.cdo.transaction"><code>transaction</code></a> write locks are automatically acquired
+ for model elements at the time these model elements are modified the first time.
+ <p>
+ Automatic locking is not yet supported for checkouts.
+
+<h2><a name="Doc_AutomaticCommitting"></a>4&nbsp;&nbsp;Automatic Committing</h2>
+<p>
+ With automatic committing turned on for a particular <a href="../../javadoc/org/eclipse/emf/cdo/transaction/CDOTransaction.html" title="Interface in org.eclipse.emf.cdo.transaction"><code>transaction</code></a> that transaction is automatically committed
+ each time a model element is modified. This can be very useful when the primary purpose of a repository is to support real-time
+ collaboration between a number of users.
+ <p>
+ On the other hand with automatic committing multiple logically related changes are no longer
+ isolated in single composed commits. This can be especially undesirable in repositories with auditing or branching support
+ because the databases of these types of repositories monotonously grow with the number of commits.
+ <p>
+ Automatic committing is not yet supported for checkouts.
+
+<p align="right">
+<a href="Doc07_UsingModels.html" title="Backward to Working with Models and Model Elements"><img src="../../images/backward.png" border="0"></a>&nbsp;<a href="Doc09_TechnicalBackground.html" title="Forward to Understanding the Technical Background"><img src="../../images/forward.png" border="0"></a></p>
+<HR>
+<i>Copyright (c) 2011, 2012, 2015 Eike Stepper (Berlin, Germany) and others.</i>
+</BODY>
+</HTML>
diff --git a/plugins/org.eclipse.emf.cdo.doc/html/users/Doc08_TechnicalBackground.html b/plugins/org.eclipse.emf.cdo.doc/html/users/Doc09_TechnicalBackground.html
index fdaeb7d818..00e6e94c96 100644
--- a/plugins/org.eclipse.emf.cdo.doc/html/users/Doc08_TechnicalBackground.html
+++ b/plugins/org.eclipse.emf.cdo.doc/html/users/Doc09_TechnicalBackground.html
@@ -23,7 +23,7 @@ function windowTitle()
<table border="0">
<tr>
<td width="100%"><h1>Understanding the Technical Background</h1></td>
- <td align="right" valign="middle" nowrap><a href="Doc07_UsingModels.html" title="Backward to Working with Models and Model Elements"><img src="../../images/backward.png" border="0"></a>&nbsp;<a href="../operators/index.html" title="Forward to Operator's Guide"><img src="../../images/forward.png" border="0"></a></td>
+ <td align="right" valign="middle" nowrap><a href="Doc08_Collaborating.html" title="Backward to Collaborating in Real-Time"><img src="../../images/backward.png" border="0"></a>&nbsp;<a href="../operators/index.html" title="Forward to Operator's Guide"><img src="../../images/forward.png" border="0"></a></td>
</tr>
</table>
<p class="author">Author: Eike Stepper</p>
@@ -35,16 +35,16 @@ function windowTitle()
<p>
<b>Table of Contents</b> <p>
<table border="0">
-<tr><td>1&nbsp;</td><td colspan="4"><a href="Doc08_TechnicalBackground.html#Doc_BackgroundModelElements" title="Chapter in CDO Model Repository Documentation">Technical Background of Model Elements</a></td></tr>
-<tr><td></td><td>1.1&nbsp;</td><td colspan="3"><a href="Doc08_TechnicalBackground.html#Doc_BackgroundNativeModels" title="Chapter in CDO Model Repository Documentation">Native Models</a></td></tr>
-<tr><td></td><td>1.2&nbsp;</td><td colspan="3"><a href="Doc08_TechnicalBackground.html#Doc_BackgroundLegacyModels" title="Chapter in CDO Model Repository Documentation">Legacy Models</a></td></tr>
-<tr><td></td><td>1.3&nbsp;</td><td colspan="3"><a href="Doc08_TechnicalBackground.html#Doc_BackgroundDynamicModels" title="Chapter in CDO Model Repository Documentation">Dynamic Models</a></td></tr>
-<tr><td>2&nbsp;</td><td colspan="4"><a href="Doc08_TechnicalBackground.html#Doc_BackgroundRepositories" title="Chapter in CDO Model Repository Documentation">Technical Background of Repositories</a></td></tr>
-<tr><td>3&nbsp;</td><td colspan="4"><a href="Doc08_TechnicalBackground.html#Doc_BackgroundCheckouts" title="Chapter in CDO Model Repository Documentation">Technical Background of Checkouts</a></td></tr>
-<tr><td>4&nbsp;</td><td colspan="4"><a href="Doc08_TechnicalBackground.html#Doc_BackgroundSessions" title="Chapter in CDO Model Repository Documentation">Technical Background of Sessions</a></td></tr>
-<tr><td>5&nbsp;</td><td colspan="4"><a href="Doc08_TechnicalBackground.html#Doc_BackgroundViews" title="Chapter in CDO Model Repository Documentation">Technical Background of Views</a></td></tr>
-<tr><td>6&nbsp;</td><td colspan="4"><a href="Doc08_TechnicalBackground.html#Doc_BackgroundTransactions" title="Chapter in CDO Model Repository Documentation">Technical Background of Transactions</a></td></tr>
-<tr><td>7&nbsp;</td><td colspan="4"><a href="Doc08_TechnicalBackground.html#Doc_BackgroundCompare" title="Chapter in CDO Model Repository Documentation">Technical Background of the Compare Integration</a></td></tr>
+<tr><td>1&nbsp;</td><td colspan="4"><a href="Doc09_TechnicalBackground.html#Doc_BackgroundModelElements" title="Chapter in CDO Model Repository Documentation">Technical Background of Model Elements</a></td></tr>
+<tr><td></td><td>1.1&nbsp;</td><td colspan="3"><a href="Doc09_TechnicalBackground.html#Doc_BackgroundNativeModels" title="Chapter in CDO Model Repository Documentation">Native Models</a></td></tr>
+<tr><td></td><td>1.2&nbsp;</td><td colspan="3"><a href="Doc09_TechnicalBackground.html#Doc_BackgroundLegacyModels" title="Chapter in CDO Model Repository Documentation">Legacy Models</a></td></tr>
+<tr><td></td><td>1.3&nbsp;</td><td colspan="3"><a href="Doc09_TechnicalBackground.html#Doc_BackgroundDynamicModels" title="Chapter in CDO Model Repository Documentation">Dynamic Models</a></td></tr>
+<tr><td>2&nbsp;</td><td colspan="4"><a href="Doc09_TechnicalBackground.html#Doc_BackgroundRepositories" title="Chapter in CDO Model Repository Documentation">Technical Background of Repositories</a></td></tr>
+<tr><td>3&nbsp;</td><td colspan="4"><a href="Doc09_TechnicalBackground.html#Doc_BackgroundCheckouts" title="Chapter in CDO Model Repository Documentation">Technical Background of Checkouts</a></td></tr>
+<tr><td>4&nbsp;</td><td colspan="4"><a href="Doc09_TechnicalBackground.html#Doc_BackgroundSessions" title="Chapter in CDO Model Repository Documentation">Technical Background of Sessions</a></td></tr>
+<tr><td>5&nbsp;</td><td colspan="4"><a href="Doc09_TechnicalBackground.html#Doc_BackgroundViews" title="Chapter in CDO Model Repository Documentation">Technical Background of Views</a></td></tr>
+<tr><td>6&nbsp;</td><td colspan="4"><a href="Doc09_TechnicalBackground.html#Doc_BackgroundTransactions" title="Chapter in CDO Model Repository Documentation">Technical Background of Transactions</a></td></tr>
+<tr><td>7&nbsp;</td><td colspan="4"><a href="Doc09_TechnicalBackground.html#Doc_BackgroundCompare" title="Chapter in CDO Model Repository Documentation">Technical Background of the Compare Integration</a></td></tr>
</table>
</p>
@@ -84,7 +84,7 @@ function windowTitle()
<h3><a name="Doc_BackgroundLegacyModels"></a>1.2&nbsp;&nbsp;Legacy Models</h3>
<p>
Generating or regenerating an <a href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.11/org/eclipse/emf/ecore/EPackage.html" title="Interface in org.eclipse.emf.ecore"><code>EPackage</code></a> with the CDO-specific <a href="../programmers/client/Doc02_PreparingModels.html#Doc_MigratingManually" title="Chapter in CDO Model Repository Documentation">options</a>
- (as explained in <a href="Doc08_TechnicalBackground.html#Doc_BackgroundNativeModels" title="Chapter in CDO Model Repository Documentation">Native Models</a>) is not always possible, for example if an EPackage has already
+ (as explained in <a href="Doc09_TechnicalBackground.html#Doc_BackgroundNativeModels" title="Chapter in CDO Model Repository Documentation">Native Models</a>) is not always possible, for example if an EPackage has already
been generated by a third party. In these cases the original generated EPackage can still be used with CDO;
and is then referred to as a "legacy model".
<p>
@@ -100,7 +100,7 @@ function windowTitle()
<p>
Technically dynamic model elements are instances of the Java class DynamicCDOObjectImpl.
<p>
- Dynamic model elements share the characteristics of <a href="Doc08_TechnicalBackground.html#Doc_BackgroundNativeModels" title="Chapter in CDO Model Repository Documentation">native</a> model elements
+ Dynamic model elements share the characteristics of <a href="Doc09_TechnicalBackground.html#Doc_BackgroundNativeModels" title="Chapter in CDO Model Repository Documentation">native</a> model elements
with respect to enhanced scalability and performance,
<h2><a name="Doc_BackgroundRepositories"></a>2&nbsp;&nbsp;Technical Background of Repositories</h2>
@@ -122,7 +122,7 @@ function windowTitle()
from that CDORepository.<p><b>See Also:</b></p>
<ul>
<li><a href="Doc02_ManagingRepositories.html" title="Article in CDO Model Repository Documentation">Managing Repositories</a></li>
- <li><a href="Doc08_TechnicalBackground.html#Doc_BackgroundSessions" title="Chapter in CDO Model Repository Documentation">Technical Background of Sessions</a></li>
+ <li><a href="Doc09_TechnicalBackground.html#Doc_BackgroundSessions" title="Chapter in CDO Model Repository Documentation">Technical Background of Sessions</a></li>
</ul>
@@ -155,8 +155,8 @@ function windowTitle()
<p><b>See Also:</b></p>
<ul>
<li><a href="Doc01_UserInterface.html#Doc_SessionsView" title="Chapter in CDO Model Repository Documentation">CDO Sessions View</a></li>
- <li><a href="Doc08_TechnicalBackground.html#Doc_BackgroundViews" title="Chapter in CDO Model Repository Documentation">Technical Background of Views</a></li>
- <li><a href="Doc08_TechnicalBackground.html#Doc_BackgroundTransactions" title="Chapter in CDO Model Repository Documentation">Technical Background of Transactions</a></li>
+ <li><a href="Doc09_TechnicalBackground.html#Doc_BackgroundViews" title="Chapter in CDO Model Repository Documentation">Technical Background of Views</a></li>
+ <li><a href="Doc09_TechnicalBackground.html#Doc_BackgroundTransactions" title="Chapter in CDO Model Repository Documentation">Technical Background of Transactions</a></li>
</ul>
@@ -168,8 +168,8 @@ function windowTitle()
<p align="center"><img src="tech-views.png"></p>
<p><b>See Also:</b></p>
<ul>
- <li><a href="Doc08_TechnicalBackground.html#Doc_BackgroundSessions" title="Chapter in CDO Model Repository Documentation">Technical Background of Sessions</a></li>
- <li><a href="Doc08_TechnicalBackground.html#Doc_BackgroundCheckouts" title="Chapter in CDO Model Repository Documentation">Technical Background of Checkouts</a></li>
+ <li><a href="Doc09_TechnicalBackground.html#Doc_BackgroundSessions" title="Chapter in CDO Model Repository Documentation">Technical Background of Sessions</a></li>
+ <li><a href="Doc09_TechnicalBackground.html#Doc_BackgroundCheckouts" title="Chapter in CDO Model Repository Documentation">Technical Background of Checkouts</a></li>
</ul>
@@ -183,8 +183,8 @@ function windowTitle()
<p align="center"><img src="tech-transactions.png"></p>
<p><b>See Also:</b></p>
<ul>
- <li><a href="Doc08_TechnicalBackground.html#Doc_BackgroundSessions" title="Chapter in CDO Model Repository Documentation">Technical Background of Sessions</a></li>
- <li><a href="Doc08_TechnicalBackground.html#Doc_BackgroundCheckouts" title="Chapter in CDO Model Repository Documentation">Technical Background of Checkouts</a></li>
+ <li><a href="Doc09_TechnicalBackground.html#Doc_BackgroundSessions" title="Chapter in CDO Model Repository Documentation">Technical Background of Sessions</a></li>
+ <li><a href="Doc09_TechnicalBackground.html#Doc_BackgroundCheckouts" title="Chapter in CDO Model Repository Documentation">Technical Background of Checkouts</a></li>
</ul>
@@ -199,7 +199,7 @@ function windowTitle()
(i.e., the number of <a href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.11/org/eclipse/emf/ecore/EObject.html" title="Interface in org.eclipse.emf.ecore"><code>EObjects</code></a>).
<p align="right">
-<a href="Doc07_UsingModels.html" title="Backward to Working with Models and Model Elements"><img src="../../images/backward.png" border="0"></a>&nbsp;<a href="../operators/index.html" title="Forward to Operator's Guide"><img src="../../images/forward.png" border="0"></a></p>
+<a href="Doc08_Collaborating.html" title="Backward to Collaborating in Real-Time"><img src="../../images/backward.png" border="0"></a>&nbsp;<a href="../operators/index.html" title="Forward to Operator's Guide"><img src="../../images/forward.png" border="0"></a></p>
<HR>
<i>Copyright (c) 2011, 2012, 2015 Eike Stepper (Berlin, Germany) and others.</i>
</BODY>
diff --git a/plugins/org.eclipse.emf.cdo.doc/html/users/collaborating.png b/plugins/org.eclipse.emf.cdo.doc/html/users/collaborating.png
new file mode 100644
index 0000000000..bab1426b66
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.doc/html/users/collaborating.png
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.doc/html/users/early-conflict.png b/plugins/org.eclipse.emf.cdo.doc/html/users/early-conflict.png
new file mode 100644
index 0000000000..6ccfa95274
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.doc/html/users/early-conflict.png
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.doc/html/users/index.html b/plugins/org.eclipse.emf.cdo.doc/html/users/index.html
index 63bb0c6f86..0fe702e934 100644
--- a/plugins/org.eclipse.emf.cdo.doc/html/users/index.html
+++ b/plugins/org.eclipse.emf.cdo.doc/html/users/index.html
@@ -123,17 +123,26 @@ function windowTitle()
<tr><td></td><td>4&nbsp;</td><td colspan="4"><a href="Doc07_UsingModels.html#Doc_DeletingModelElements" title="Chapter in CDO Model Repository Documentation">Deleting Model Elements</a></td></tr>
<tr><td></td><td>5&nbsp;</td><td colspan="4"><a href="Doc07_UsingModels.html#Doc_EditingModelElements" title="Chapter in CDO Model Repository Documentation">Editing Model Elements in a Dialog</a></td></tr>
<tr><td></td><td>6&nbsp;</td><td colspan="4"><a href="Doc07_UsingModels.html#Doc_EditingModelElementsEditor" title="Chapter in CDO Model Repository Documentation">Editing Model Elements in an Editor</a></td></tr>
-<tr><td><img src="../../images/article.gif">&nbsp;</td><td colspan="5"><a href="Doc08_TechnicalBackground.html" title="Article in CDO Model Repository Documentation">Understanding the Technical Background</a></td></tr>
-<tr><td></td><td>1&nbsp;</td><td colspan="4"><a href="Doc08_TechnicalBackground.html#Doc_BackgroundModelElements" title="Chapter in CDO Model Repository Documentation">Technical Background of Model Elements</a></td></tr>
-<tr><td></td><td></td><td>1.1&nbsp;</td><td colspan="3"><a href="Doc08_TechnicalBackground.html#Doc_BackgroundNativeModels" title="Chapter in CDO Model Repository Documentation">Native Models</a></td></tr>
-<tr><td></td><td></td><td>1.2&nbsp;</td><td colspan="3"><a href="Doc08_TechnicalBackground.html#Doc_BackgroundLegacyModels" title="Chapter in CDO Model Repository Documentation">Legacy Models</a></td></tr>
-<tr><td></td><td></td><td>1.3&nbsp;</td><td colspan="3"><a href="Doc08_TechnicalBackground.html#Doc_BackgroundDynamicModels" title="Chapter in CDO Model Repository Documentation">Dynamic Models</a></td></tr>
-<tr><td></td><td>2&nbsp;</td><td colspan="4"><a href="Doc08_TechnicalBackground.html#Doc_BackgroundRepositories" title="Chapter in CDO Model Repository Documentation">Technical Background of Repositories</a></td></tr>
-<tr><td></td><td>3&nbsp;</td><td colspan="4"><a href="Doc08_TechnicalBackground.html#Doc_BackgroundCheckouts" title="Chapter in CDO Model Repository Documentation">Technical Background of Checkouts</a></td></tr>
-<tr><td></td><td>4&nbsp;</td><td colspan="4"><a href="Doc08_TechnicalBackground.html#Doc_BackgroundSessions" title="Chapter in CDO Model Repository Documentation">Technical Background of Sessions</a></td></tr>
-<tr><td></td><td>5&nbsp;</td><td colspan="4"><a href="Doc08_TechnicalBackground.html#Doc_BackgroundViews" title="Chapter in CDO Model Repository Documentation">Technical Background of Views</a></td></tr>
-<tr><td></td><td>6&nbsp;</td><td colspan="4"><a href="Doc08_TechnicalBackground.html#Doc_BackgroundTransactions" title="Chapter in CDO Model Repository Documentation">Technical Background of Transactions</a></td></tr>
-<tr><td></td><td>7&nbsp;</td><td colspan="4"><a href="Doc08_TechnicalBackground.html#Doc_BackgroundCompare" title="Chapter in CDO Model Repository Documentation">Technical Background of the Compare Integration</a></td></tr>
+<tr><td><img src="../../images/article.gif">&nbsp;</td><td colspan="5"><a href="Doc08_Collaborating.html" title="Article in CDO Model Repository Documentation">Collaborating in Real-Time</a></td></tr>
+<tr><td></td><td>1&nbsp;</td><td colspan="4"><a href="Doc08_Collaborating.html#Doc_OptimisticLocking" title="Chapter in CDO Model Repository Documentation">Optimistic Locking</a></td></tr>
+<tr><td></td><td></td><td>1.1&nbsp;</td><td colspan="3"><a href="Doc08_Collaborating.html#Doc_EarlyConflictDetection" title="Chapter in CDO Model Repository Documentation">Early Conflict Detection</a></td></tr>
+<tr><td></td><td></td><td>1.2&nbsp;</td><td colspan="3"><a href="Doc08_Collaborating.html#Doc_AutomaticConflictResolution" title="Chapter in CDO Model Repository Documentation">Automatic Conflict Resolution</a></td></tr>
+<tr><td></td><td></td><td>1.3&nbsp;</td><td colspan="3"><a href="Doc08_Collaborating.html#Doc_InteractiveConflictResolution" title="Chapter in CDO Model Repository Documentation">Interactive Conflict Resolution</a></td></tr>
+<tr><td></td><td>2&nbsp;</td><td colspan="4"><a href="Doc08_Collaborating.html#Doc_PessimisticLocking" title="Chapter in CDO Model Repository Documentation">Pessimistic Locking</a></td></tr>
+<tr><td></td><td></td><td>2.1&nbsp;</td><td colspan="3"><a href="Doc08_Collaborating.html#Doc_TreeLocking" title="Chapter in CDO Model Repository Documentation">Tree Locking</a></td></tr>
+<tr><td></td><td>3&nbsp;</td><td colspan="4"><a href="Doc08_Collaborating.html#Doc_AutomaticLocking" title="Chapter in CDO Model Repository Documentation">Automatic Locking</a></td></tr>
+<tr><td></td><td>4&nbsp;</td><td colspan="4"><a href="Doc08_Collaborating.html#Doc_AutomaticCommitting" title="Chapter in CDO Model Repository Documentation">Automatic Committing</a></td></tr>
+<tr><td><img src="../../images/article.gif">&nbsp;</td><td colspan="5"><a href="Doc09_TechnicalBackground.html" title="Article in CDO Model Repository Documentation">Understanding the Technical Background</a></td></tr>
+<tr><td></td><td>1&nbsp;</td><td colspan="4"><a href="Doc09_TechnicalBackground.html#Doc_BackgroundModelElements" title="Chapter in CDO Model Repository Documentation">Technical Background of Model Elements</a></td></tr>
+<tr><td></td><td></td><td>1.1&nbsp;</td><td colspan="3"><a href="Doc09_TechnicalBackground.html#Doc_BackgroundNativeModels" title="Chapter in CDO Model Repository Documentation">Native Models</a></td></tr>
+<tr><td></td><td></td><td>1.2&nbsp;</td><td colspan="3"><a href="Doc09_TechnicalBackground.html#Doc_BackgroundLegacyModels" title="Chapter in CDO Model Repository Documentation">Legacy Models</a></td></tr>
+<tr><td></td><td></td><td>1.3&nbsp;</td><td colspan="3"><a href="Doc09_TechnicalBackground.html#Doc_BackgroundDynamicModels" title="Chapter in CDO Model Repository Documentation">Dynamic Models</a></td></tr>
+<tr><td></td><td>2&nbsp;</td><td colspan="4"><a href="Doc09_TechnicalBackground.html#Doc_BackgroundRepositories" title="Chapter in CDO Model Repository Documentation">Technical Background of Repositories</a></td></tr>
+<tr><td></td><td>3&nbsp;</td><td colspan="4"><a href="Doc09_TechnicalBackground.html#Doc_BackgroundCheckouts" title="Chapter in CDO Model Repository Documentation">Technical Background of Checkouts</a></td></tr>
+<tr><td></td><td>4&nbsp;</td><td colspan="4"><a href="Doc09_TechnicalBackground.html#Doc_BackgroundSessions" title="Chapter in CDO Model Repository Documentation">Technical Background of Sessions</a></td></tr>
+<tr><td></td><td>5&nbsp;</td><td colspan="4"><a href="Doc09_TechnicalBackground.html#Doc_BackgroundViews" title="Chapter in CDO Model Repository Documentation">Technical Background of Views</a></td></tr>
+<tr><td></td><td>6&nbsp;</td><td colspan="4"><a href="Doc09_TechnicalBackground.html#Doc_BackgroundTransactions" title="Chapter in CDO Model Repository Documentation">Technical Background of Transactions</a></td></tr>
+<tr><td></td><td>7&nbsp;</td><td colspan="4"><a href="Doc09_TechnicalBackground.html#Doc_BackgroundCompare" title="Chapter in CDO Model Repository Documentation">Technical Background of the Compare Integration</a></td></tr>
</table>
</p>
diff --git a/plugins/org.eclipse.emf.cdo.doc/html/users/late-conflict.png b/plugins/org.eclipse.emf.cdo.doc/html/users/late-conflict.png
new file mode 100644
index 0000000000..4b10eae2e2
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.doc/html/users/late-conflict.png
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.doc/html/users/pessimistic-locking.png b/plugins/org.eclipse.emf.cdo.doc/html/users/pessimistic-locking.png
new file mode 100644
index 0000000000..158c03da95
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.doc/html/users/pessimistic-locking.png
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/operators/Doc01_ConfiguringRepositories.java b/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/operators/Doc01_ConfiguringRepositories.java
index b94b832783..e32c3f0eb5 100644
--- a/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/operators/Doc01_ConfiguringRepositories.java
+++ b/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/operators/Doc01_ConfiguringRepositories.java
@@ -10,7 +10,7 @@
*/
package org.eclipse.emf.cdo.doc.operators;
-import org.eclipse.emf.cdo.doc.users.Doc08_TechnicalBackground.Doc_BackgroundModelElements.Doc_BackgroundLegacyModels;
+import org.eclipse.emf.cdo.doc.users.Doc09_TechnicalBackground.Doc_BackgroundModelElements.Doc_BackgroundLegacyModels;
import org.eclipse.emf.cdo.server.IRepository;
import org.eclipse.emf.cdo.server.IStore;
import org.eclipse.emf.cdo.server.db.mapping.ColumnTypeModifier;
diff --git a/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/users/Doc01_UserInterface.java b/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/users/Doc01_UserInterface.java
index fa8467f1b0..b4297de3d0 100644
--- a/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/users/Doc01_UserInterface.java
+++ b/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/users/Doc01_UserInterface.java
@@ -18,7 +18,7 @@ import org.eclipse.emf.cdo.doc.users.Doc04_CheckingOut.Doc_CheckoutType.Doc_Offl
import org.eclipse.emf.cdo.doc.users.Doc04_CheckingOut.Doc_CheckoutType.Doc_TransactionalCheckouts;
import org.eclipse.emf.cdo.doc.users.Doc05_UsingCheckouts.Doc_ComparingCheckouts;
import org.eclipse.emf.cdo.doc.users.Doc07_UsingModels.Doc_EditingModelElements;
-import org.eclipse.emf.cdo.doc.users.Doc08_TechnicalBackground.Doc_BackgroundCompare;
+import org.eclipse.emf.cdo.doc.users.Doc09_TechnicalBackground.Doc_BackgroundCompare;
import org.eclipse.emf.cdo.session.remote.CDORemoteSessionManager;
import org.eclipse.emf.cdo.view.CDOView.Options;
diff --git a/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/users/Doc05_UsingCheckouts.java b/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/users/Doc05_UsingCheckouts.java
index 2436e328d1..64cfd3d825 100644
--- a/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/users/Doc05_UsingCheckouts.java
+++ b/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/users/Doc05_UsingCheckouts.java
@@ -29,7 +29,7 @@ import org.eclipse.emf.cdo.doc.users.Doc03_UsingBranches.Doc_CreatingBranches;
import org.eclipse.emf.cdo.doc.users.Doc04_CheckingOut.Doc_CheckoutType.Doc_HistoricalCheckouts;
import org.eclipse.emf.cdo.doc.users.Doc04_CheckingOut.Doc_CheckoutType.Doc_OfflineCheckouts;
import org.eclipse.emf.cdo.doc.users.Doc04_CheckingOut.Doc_CheckoutType.Doc_TransactionalCheckouts;
-import org.eclipse.emf.cdo.doc.users.Doc08_TechnicalBackground.Doc_BackgroundCompare;
+import org.eclipse.emf.cdo.doc.users.Doc09_TechnicalBackground.Doc_BackgroundCompare;
import org.eclipse.emf.cdo.explorer.checkouts.CDOCheckout;
import org.eclipse.emf.cdo.session.CDOSession;
import org.eclipse.emf.cdo.transaction.CDOTransaction;
diff --git a/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/users/Doc06_UsingResources.java b/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/users/Doc06_UsingResources.java
index 1d48136c05..0082b94eb9 100644
--- a/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/users/Doc06_UsingResources.java
+++ b/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/users/Doc06_UsingResources.java
@@ -12,7 +12,7 @@ package org.eclipse.emf.cdo.doc.users;
import org.eclipse.emf.cdo.doc.users.Doc01_UserInterface.Doc_ProjectExplorerIntegration;
import org.eclipse.emf.cdo.doc.users.Doc04_CheckingOut.Doc_CheckoutType.Doc_HistoricalCheckouts;
-import org.eclipse.emf.cdo.doc.users.Doc08_TechnicalBackground.Doc_BackgroundTransactions;
+import org.eclipse.emf.cdo.doc.users.Doc09_TechnicalBackground.Doc_BackgroundTransactions;
import org.eclipse.emf.cdo.eresource.CDOBinaryResource;
import org.eclipse.emf.cdo.eresource.CDOResource;
import org.eclipse.emf.cdo.eresource.CDOResourceFolder;
diff --git a/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/users/Doc07_UsingModels.java b/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/users/Doc07_UsingModels.java
index 125c66cfae..6d156d103c 100644
--- a/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/users/Doc07_UsingModels.java
+++ b/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/users/Doc07_UsingModels.java
@@ -14,8 +14,8 @@ import org.eclipse.emf.cdo.doc.online.EMFFormsGuide;
import org.eclipse.emf.cdo.doc.users.Doc01_UserInterface.Doc_ProjectExplorerIntegration;
import org.eclipse.emf.cdo.doc.users.Doc04_CheckingOut.Doc_CheckoutType.Doc_HistoricalCheckouts;
import org.eclipse.emf.cdo.doc.users.Doc06_UsingResources.Doc_CreatingResourceNodes.Doc_CreatingModelResources;
-import org.eclipse.emf.cdo.doc.users.Doc08_TechnicalBackground.Doc_BackgroundModelElements;
-import org.eclipse.emf.cdo.doc.users.Doc08_TechnicalBackground.Doc_BackgroundTransactions;
+import org.eclipse.emf.cdo.doc.users.Doc09_TechnicalBackground.Doc_BackgroundModelElements;
+import org.eclipse.emf.cdo.doc.users.Doc09_TechnicalBackground.Doc_BackgroundTransactions;
import org.eclipse.emf.cdo.transaction.CDOTransaction;
import org.eclipse.emf.cdo.transfer.CDOTransfer;
import org.eclipse.emf.cdo.ui.CDOEditorOpener;
diff --git a/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/users/Doc08_Collaborating.java b/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/users/Doc08_Collaborating.java
new file mode 100644
index 0000000000..9e69fa0f6c
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/users/Doc08_Collaborating.java
@@ -0,0 +1,194 @@
+/*
+ * Copyright (c) 2015 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.doc.users;
+
+import org.eclipse.emf.cdo.doc.users.Doc01_UserInterface.Doc_ProjectExplorerIntegration;
+import org.eclipse.emf.cdo.doc.users.Doc04_CheckingOut.Doc_CheckoutType.Doc_TransactionalCheckouts;
+import org.eclipse.emf.cdo.doc.users.Doc07_UsingModels.Doc_EditingModelElementsEditor;
+import org.eclipse.emf.cdo.transaction.CDOTransaction;
+import org.eclipse.emf.cdo.view.CDOView;
+
+import org.eclipse.net4j.util.concurrent.IRWLockManager.LockType;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+/**
+ * Collaborating in Real-Time
+ * <p>
+ * CDO supports real-time collaboration on models by transferring the changes that one user
+ * {@link CDOTransaction#commit(org.eclipse.core.runtime.IProgressMonitor) commits} to the repository to all
+ * other users connected to the same repository and transparently weaving those changes into their model copies.
+ * {@img collaborating.png}
+ * <p>
+ * With CDO the local model copies (in particular with {@link Doc_TransactionalCheckouts online transactional checkouts}) do not need to be
+ * <i>updated</i> manually; they are automatically updated (almost) at the time they are changed by other users.
+ * <p>
+ * As real-time collaboration relies on committing a {@link CDOTransaction transaction} it applies only to
+ * online transactional checkouts and the {@link Doc_EditingModelElementsEditor editors}
+ * opened on online transactional models. Saving a model editor commits the underlying transaction.
+ * <p>
+ * The data integrity of the models and model elements in a repository is guaranteed by {@link LockType#WRITE write locks}
+ * that are acquired <b>per model element</b>. {@link LockType#READ Read locks} and {@link LockType#OPTION write options},
+ * as well as {@link CDOView#enableDurableLocking() durable locks} are supported by the core-level APIs
+ * but not by the CDO Explorer's user interface.
+ * <p>
+ * <b>Table of Contents</b> {@toc}
+ *
+ * @author Eike Stepper
+ */
+public class Doc08_Collaborating
+{
+ /**
+ * Optimistic Locking
+ * <p>
+ * By default model elements are locked optimistically, that is, the CDO server <i>implicitly</i> acquires and releases locks while executing
+ * a commit operation. These implicit locks are not visible to the committing user or any other user of the same repository.
+ * <p>
+ * Optimistic locking provides for the highest possible degree of concurrency but it also comes with a non-zero risk of commit conflicts
+ * that are only detected when a commit operation is executed by the CDO server and, as a consequence, rejected. Because of
+ * {@link Doc_EarlyConflictDetection} the risk of conflicts that are detected that late in the commit process is generally much lower
+ * than, for example, in pure database-based applications.
+ * <p>
+ * To completely eliminate the risk of commit conflicts {@link Doc_PessimisticLocking} must be used.
+ */
+ public class Doc_OptimisticLocking
+ {
+ /**
+ * Early Conflict Detection
+ * <p>
+ * As the local model copies of a user are automatically updated (almost) at the time they are changed by other users
+ * CDO can anticipate the conflict potential of the local changes early, in particular before an attempt to commit these changes is even made.
+ * The {@link Doc_EditingModelElementsEditor CDO Model Editor} decorates such conflicting model elements with a red-colored font,
+ * indicating that the underlying {@link CDOTransaction transaction} can not be successfully committed anymore.
+ * {@img early-conflict.png}
+ * <p>
+ * {@link Doc_AutomaticConflictResolution} and {@link Doc_InteractiveConflictResolution}, if enabled, may have an impact on what exact types
+ * of changes are considered a conflict.
+ */
+ public class Doc_EarlyConflictDetection
+ {
+ }
+
+ /**
+ * Automatic Conflict Resolution
+ * <p>
+ * Each time a local transaction is notified of a remote change by the CDO server and local conflicts are detected (see {@link Doc_EarlyConflictDetection})
+ * these conflicts are categorized as being either <i>trivial</i> conflicts or <i>non-trivial</i> conflicts. Trivial conflicts are:
+ * <ul>
+ * <li> Changes to multi-valued {@link EStructuralFeature features} on both sides (local and remote) of the same model element.
+ * <li> Changes to different single-valued {@link EStructuralFeature features} on both sides (local and remote) of the same model element.
+ * </ul>
+ * <p>
+ * Trivial conflicts are merged automatically into the local transaction, i.e., no user interaction is involved.
+ * <p>
+ * When non-trivial changes are detected, i.e., changes to the same single-valued {@link EStructuralFeature feature} on both sides (local and remote)
+ * of the same model element, automatic conflict resolution is suspended for all model elements until the next local commit operation.
+ * During this period all incoming change notifications are accumulated and remembered for possible {@link Doc_InteractiveConflictResolution}
+ * at commit time.
+ */
+ public class Doc_AutomaticConflictResolution
+ {
+ }
+
+ /**
+ * Interactive Conflict Resolution
+ * <p>
+ * If {@link Doc_AutomaticConflictResolution} has detected non-trivial conflicts in a local {@link CDOTransaction transaction} and
+ * an attempt is made to commit this transaction the following dialog pops up:
+ * {@img late-conflict.png}
+ * <p>
+ * The dialog shows an overview of how many local model elements are added, changed, and removed. One of several conflict resolution
+ * actions has to be selected by the user:
+ * <ul>
+ * <li> If the Merge action is selected an EMF Merge editor is opened with the left side showing the remote changes and
+ * the right side showing the local changes:
+ * {@img merge.png}
+ * <p>
+ * Saving this merge editor commits the merged local transaction. Note that new non-trivial conflicts may have been detected
+ * in the meantime, in which case interactive conflict resolution is triggered again.
+ * <li> If the Rollback action is selected the local transaction is {@link CDOTransaction#rollback() rolled back} and the local model copies
+ * are automatically updated to their latest remote versions. As a result all local changes will be lost and eventually need to be
+ * re-applied and committed again.
+ * </ul>
+ */
+ public class Doc_InteractiveConflictResolution
+ {
+ }
+ }
+
+ /**
+ * Pessimistic Locking
+ * <p>
+ * Sometimes it seems not desirable to risk commit conflicts as they can occur with {@link Doc_OptimisticLocking}.
+ * In these cases CDO supports the acquisition of <i>explicit</i> locks on selected models (see {@link Doc_TreeLocking}) and model elements.
+ * <p>
+ * Pessimistic locking support consists of:
+ * <ul>
+ * <li> Lock and unlock actions
+ * <li> Lock state visualization
+ * </ul>
+ * <p>
+ * Whether custom user interface components, such as model editors or views, support local actions and/or lock state visualization depends
+ * on the implementation of those components. The CDO Model Editor's context menu offers lock actions for model elements that are not locked
+ * by anyone and unlock actions for model elements that are locked by the current user. Both the CDO Model Editor and the
+ * {@link Doc_ProjectExplorerIntegration} support lock state visualization by decorating model elements that are locked by the current user
+ * with a green lock icon (indicating that they can be modified) and model elements that are locked by other users with a red lock icon
+ * (indicating that they can not be modified):
+ * {@img pessimistic-locking.png}
+ * <p>
+ * Note that a CDO editor generally operates in the context of a separate transaction, in particular not in the context of the
+ * {@link CDOView read-only view} of the associated checkout, which explains why, in the screen shot above, both checkouts show the
+ * locked model elements with a red lock icon decoration. In other words, while a model element is locked in a CDO editor it can not be
+ * modified directly in the associated checkout via the Project Explorer.
+ */
+ public class Doc_PessimisticLocking
+ {
+ /**
+ * Tree Locking
+ * <p>
+ * Sometimes it is desirable to lock not just a single model element but to atomically lock the tree of model elements rooted at the
+ * selected model element. The CDO Model Editor's context menu offers a Lock Tree action for model elements that are not locked by
+ * anyone and an Unlock Tree action for model elements that are locked by the current user.
+ */
+ public class Doc_TreeLocking
+ {
+ }
+ }
+
+ /**
+ * Automatic Locking
+ * <p>
+ * With automatic locking turned on for a particular {@link CDOTransaction transaction} write locks are automatically acquired
+ * for model elements at the time these model elements are modified the first time.
+ * <p>
+ * Automatic locking is not yet supported for checkouts.
+ */
+ public class Doc_AutomaticLocking
+ {
+ }
+
+ /**
+ * Automatic Committing
+ * <p>
+ * With automatic committing turned on for a particular {@link CDOTransaction transaction} that transaction is automatically committed
+ * each time a model element is modified. This can be very useful when the primary purpose of a repository is to support real-time
+ * collaboration between a number of users.
+ * <p>
+ * On the other hand with automatic committing multiple logically related changes are no longer
+ * isolated in single composed commits. This can be especially undesirable in repositories with auditing or branching support
+ * because the databases of these types of repositories monotonously grow with the number of commits.
+ * <p>
+ * Automatic committing is not yet supported for checkouts.
+ */
+ public class Doc_AutomaticCommitting
+ {
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/users/Doc08_TechnicalBackground.java b/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/users/Doc09_TechnicalBackground.java
index eab32421fc..8046c111aa 100644
--- a/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/users/Doc08_TechnicalBackground.java
+++ b/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/users/Doc09_TechnicalBackground.java
@@ -59,7 +59,7 @@ import org.eclipse.emf.spi.cdo.CDOSessionProtocol;
*
* @author Eike Stepper
*/
-public class Doc08_TechnicalBackground
+public class Doc09_TechnicalBackground
{
/**
* Technical Background of Model Elements
diff --git a/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/users/collaborating.png b/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/users/collaborating.png
new file mode 100644
index 0000000000..bab1426b66
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/users/collaborating.png
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/users/early-conflict.png b/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/users/early-conflict.png
new file mode 100644
index 0000000000..6ccfa95274
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/users/early-conflict.png
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/users/late-conflict.png b/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/users/late-conflict.png
new file mode 100644
index 0000000000..4b10eae2e2
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/users/late-conflict.png
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/users/pessimistic-locking.png b/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/users/pessimistic-locking.png
new file mode 100644
index 0000000000..158c03da95
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/users/pessimistic-locking.png
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.doc/toc.html b/plugins/org.eclipse.emf.cdo.doc/toc.html
index 2e6532d071..f41b16db76 100644
--- a/plugins/org.eclipse.emf.cdo.doc/toc.html
+++ b/plugins/org.eclipse.emf.cdo.doc/toc.html
@@ -10,7 +10,8 @@
<div class="te"><span><img src="empty.gif"><img src="article.gif"><a href="org.eclipse.emf.cdo.doc/html/users/Doc05_UsingCheckouts.html" target="content">Working&nbsp;with&nbsp;Checkouts</a></span></div>
<div class="te"><span><img src="empty.gif"><img src="article.gif"><a href="org.eclipse.emf.cdo.doc/html/users/Doc06_UsingResources.html" target="content">Working&nbsp;with&nbsp;Folders&nbsp;and&nbsp;Resources</a></span></div>
<div class="te"><span><img src="empty.gif"><img src="article.gif"><a href="org.eclipse.emf.cdo.doc/html/users/Doc07_UsingModels.html" target="content">Working&nbsp;with&nbsp;Models&nbsp;and&nbsp;Model&nbsp;Elements</a></span></div>
- <div class="te"><span><img src="empty.gif"><img src="article.gif"><a href="org.eclipse.emf.cdo.doc/html/users/Doc08_TechnicalBackground.html" target="content">Understanding&nbsp;the&nbsp;Technical&nbsp;Background</a></span></div>
+ <div class="te"><span><img src="empty.gif"><img src="article.gif"><a href="org.eclipse.emf.cdo.doc/html/users/Doc08_Collaborating.html" target="content">Collaborating&nbsp;in&nbsp;Real-Time</a></span></div>
+ <div class="te"><span><img src="empty.gif"><img src="article.gif"><a href="org.eclipse.emf.cdo.doc/html/users/Doc09_TechnicalBackground.html" target="content">Understanding&nbsp;the&nbsp;Technical&nbsp;Background</a></span></div>
</div>
<div class="te"><span><a href="javascript:toggle('org_eclipse_emf_cdo_doc_3')"><img src="plus.gif" id="img_org_eclipse_emf_cdo_doc_3"></a><img src="category.gif"><a href="org.eclipse.emf.cdo.doc/html/operators/index.html" target="content">Operator's&nbsp;Guide</a></span></div>
<div id="org_eclipse_emf_cdo_doc_3" style="display:none; margin-left:20px;">
diff --git a/plugins/org.eclipse.emf.cdo.doc/toc.xml b/plugins/org.eclipse.emf.cdo.doc/toc.xml
index 524a1573e0..c70cdd6959 100644
--- a/plugins/org.eclipse.emf.cdo.doc/toc.xml
+++ b/plugins/org.eclipse.emf.cdo.doc/toc.xml
@@ -11,7 +11,8 @@
<topic label="Working with Checkouts" href="html/users/Doc05_UsingCheckouts.html" />
<topic label="Working with Folders and Resources" href="html/users/Doc06_UsingResources.html" />
<topic label="Working with Models and Model Elements" href="html/users/Doc07_UsingModels.html" />
- <topic label="Understanding the Technical Background" href="html/users/Doc08_TechnicalBackground.html" />
+ <topic label="Collaborating in Real-Time" href="html/users/Doc08_Collaborating.html" />
+ <topic label="Understanding the Technical Background" href="html/users/Doc09_TechnicalBackground.html" />
</topic>
<topic label="Operator's Guide" href="html/operators/index.html">
<topic label="Operating a CDO Server" href="html/operators/Doc00_OperatingServer.html" />
diff --git a/plugins/org.eclipse.emf.cdo.releng/help/toc.html b/plugins/org.eclipse.emf.cdo.releng/help/toc.html
index ad92f2e846..f383949e3b 100644
--- a/plugins/org.eclipse.emf.cdo.releng/help/toc.html
+++ b/plugins/org.eclipse.emf.cdo.releng/help/toc.html
@@ -30,7 +30,8 @@
<div class="te"><span><img src="empty.gif"><img src="article.gif"><a href="org.eclipse.emf.cdo.doc/html/users/Doc05_UsingCheckouts.html" target="content">Working&nbsp;with&nbsp;Checkouts</a></span></div>
<div class="te"><span><img src="empty.gif"><img src="article.gif"><a href="org.eclipse.emf.cdo.doc/html/users/Doc06_UsingResources.html" target="content">Working&nbsp;with&nbsp;Folders&nbsp;and&nbsp;Resources</a></span></div>
<div class="te"><span><img src="empty.gif"><img src="article.gif"><a href="org.eclipse.emf.cdo.doc/html/users/Doc07_UsingModels.html" target="content">Working&nbsp;with&nbsp;Models&nbsp;and&nbsp;Model&nbsp;Elements</a></span></div>
- <div class="te"><span><img src="empty.gif"><img src="article.gif"><a href="org.eclipse.emf.cdo.doc/html/users/Doc08_TechnicalBackground.html" target="content">Understanding&nbsp;the&nbsp;Technical&nbsp;Background</a></span></div>
+ <div class="te"><span><img src="empty.gif"><img src="article.gif"><a href="org.eclipse.emf.cdo.doc/html/users/Doc08_Collaborating.html" target="content">Collaborating&nbsp;in&nbsp;Real-Time</a></span></div>
+ <div class="te"><span><img src="empty.gif"><img src="article.gif"><a href="org.eclipse.emf.cdo.doc/html/users/Doc09_TechnicalBackground.html" target="content">Understanding&nbsp;the&nbsp;Technical&nbsp;Background</a></span></div>
</div>
<div class="te"><span><a href="javascript:toggle('org_eclipse_emf_cdo_doc_3')"><img src="plus.gif" id="img_org_eclipse_emf_cdo_doc_3"></a><img src="category.gif"><a href="org.eclipse.emf.cdo.doc/html/operators/index.html" target="content">Operator's&nbsp;Guide</a></span></div>
<div id="org_eclipse_emf_cdo_doc_3" style="display:none; margin-left:20px;">

Back to the top