diff --git a/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/.classpath b/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/.classpath
index cbd391f..4a00bec 100644
--- a/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/.classpath
+++ b/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/.classpath
@@ -1,6 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11">
+		<attributes>
+			<attribute name="module" value="true"/>
+		</attributes>
+	</classpathentry>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="target/classes"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/.project b/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/.project
index 3b6d763..020d608 100755
--- a/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/.project
+++ b/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/.project
@@ -6,12 +6,12 @@
 	</projects>
 	<buildSpec>
 		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
+			<name>org.eclipse.pde.ManifestBuilder</name>
 			<arguments>
 			</arguments>
 		</buildCommand>
 		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
 			<arguments>
 			</arguments>
 		</buildCommand>
@@ -37,11 +37,6 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.m2e.core.maven2Builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
 	</buildSpec>
 	<natures>
 		<nature>org.eclipse.m2e.core.maven2Nature</nature>
diff --git a/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/build.properties b/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/build.properties
index 1e767a7..b501f5b 100755
--- a/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/build.properties
+++ b/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/build.properties
@@ -1,11 +1,22 @@
-bin.includes = META-INF/,\
-               .,\
-               about.html,\
-               plugin.properties,\
+#
+# Copyright (c) 2021 CEA LIST.
+# 
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/
+#
+# SPDX-License-Identifier: EPL-2.0
+# 
+# Contributors:
+#  Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+#
+source.. = src/
+output.. = bin/
+bin.includes = .,\
+               META-INF/,\
                plugin.xml,\
                target/site/generated-eclipse-help/**,\
-               target/generated-eclipse-help/**,\
-               resource/,\
-               src/
-bin.excludes = **/*.markdown
-src.includes = about.html
+               plugin.properties,\
+               about.html
+src.includes = about.html
\ No newline at end of file
diff --git a/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/plugin.xml b/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/plugin.xml
index 29b2219..7286e32 100755
--- a/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/plugin.xml
+++ b/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/plugin.xml
@@ -20,20 +20,19 @@
    <extension
          point="org.eclipse.help.toc">
       <toc
-            file="target/generated-eclipse-help/cdo-main-toc.xml"
+            category="org.eclipse.papyrus-cdo"
+            file="target/site/generated-eclipse-help/papyrus-cdo-client-userDoc-toc.xml"
             primary="false">
       </toc>
       <toc
-            file="target/generated-eclipse-help/start/cdo-start-toc.xml"
+            category="org.eclipse.papyrus-cdo"
+            file="target/site/generated-eclipse-help/papyrus-cdo-server-userDoc-toc.xml"
             primary="false">
       </toc>
       <toc
-            file="target/generated-eclipse-help/team/cdo-team-toc.xml"
-            primary="false">
-      </toc>
-      <toc
-            file="target/generated-eclipse-help/bugs/cdo-bugs-toc.xml"
-            primary="false">
+            category="org.eclipse.papyrus-cdo"
+            file="target/site/generated-eclipse-help/papyrus-cdo-userDoc-main-toc.xml"
+            primary="true">
       </toc>
    </extension>
 
diff --git a/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/pom.xml b/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/pom.xml
index 71ac970..2013be6 100755
--- a/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/pom.xml
+++ b/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/pom.xml
@@ -1,8 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 	<modelVersion>4.0.0</modelVersion>
-	
+
 	<!-- Parent of this POM -->
 	<parent>
 		<groupId>org.eclipse.papyrus.cdo</groupId>
@@ -12,22 +13,22 @@
 
 	<artifactId>org.eclipse.papyrus.cdo.ui.doc</artifactId>
 	<packaging>eclipse-plugin</packaging>
-	
+
 	<build>
 		<plugins>
 			<plugin>
 				<groupId>org.eclipse.mylyn.docs</groupId>
 				<artifactId>org.eclipse.mylyn.wikitext.maven</artifactId>
 				<configuration>
-					<sourceFolder>resource</sourceFolder>
-					<outputFolder>${project.build.directory}/generated-eclipse-help</outputFolder>
+					<sourceFolder>src/site/mediawiki</sourceFolder>
+					<outputFolder>${project.build.directory}/site/generated-eclipse-help</outputFolder>
 					<!-- copyrightNotice>${help.copyrightNotice}</copyrightNotice> <title>${help.documentTitle}</title -->
 					<multipleOutputFiles>false</multipleOutputFiles>
 					<navigationImages>true</navigationImages>
 					<formatOutput>true</formatOutput>
 					<htmlFilenameFormat>$1.html</htmlFilenameFormat>
 					<xmlFilenameFormat>$1-toc.xml</xmlFilenameFormat>
-					<helpPrefix>generated-eclipse-help</helpPrefix>
+					<helpPrefix>target/site/generated-eclipse-help</helpPrefix>
 					<!-- stylesheetUrls> <param>styles/main.css</param> </stylesheetUrls -->
 				</configuration>
 				<executions>
@@ -40,12 +41,13 @@
 				<dependencies>
 					<dependency>
 						<groupId>org.eclipse.mylyn.docs</groupId>
-						<artifactId>org.eclipse.mylyn.wikitext.markdown.core</artifactId>
+						<!-- artifactId>org.eclipse.mylyn.wikitext.markdown.core</artifactId> -->
+						<artifactId>org.eclipse.mylyn.wikitext.mediawiki</artifactId>
 						<version>${mylyn.wikitext.version}</version>
 					</dependency>
 				</dependencies>
 			</plugin>
 		</plugins>
 	</build>
-	<name>Papyrus Cdo UI doc</name>
+	<name>Papyrus CDO UI doc</name>
 </project>
diff --git a/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/resource/bugs/cdo-bugs.markdown b/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/resource/bugs/cdo-bugs.markdown
deleted file mode 100755
index 74fb6b9..0000000
--- a/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/resource/bugs/cdo-bugs.markdown
+++ /dev/null
@@ -1,20 +0,0 @@
-# <a id="Limitations">Limitations and Known Issues</a>
-
-The following Papyrus capabilities are supported on models in CDO repositories:
-
-* create new UML and DSML models
-	* initialize Papyrus model from existing domain model resource in the repository
-	* import models from the workspace
-	* reorganize models in folders by drag-and-drop
-* create and edit all kinds of UML and DSML diagram
-* create and edit tables
-* export models to the workspace
-* browse connected repositories for importing packages and applying profiles
-* CSS diagram styling and themes (with restrictions, see below)
-* properties view customization models can be stored in and loaded from the repository
-
-Some capabilities of Papyrus are not support on models in CDO repositories in this release:
-
-* although CSS styling of diagrams is supported, this extends only to CSS stylsheets deployed in plug-ins.  Custom stylesheets stored locally in the workspace or in a repository are not supported
-* controlled resources are not supported
-* attaching documents to model elements is not supported
\ No newline at end of file
diff --git a/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/resource/cdo-main-toc.xml b/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/resource/cdo-main-toc.xml
deleted file mode 100755
index 55ae0b1..0000000
--- a/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/resource/cdo-main-toc.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version='1.0' encoding='utf-8' ?>
-<toc label="CDO Model Repository" link_to="../org.eclipse.papyrus.infra.doc/toc.xml#PapyrusTasks">
-   <topic href="target/generated-eclipse-help/start/cdo-start.html" label="Working with CDO Model Repositories">
-      <link toc="target/generated-eclipse-help/start/cdo-start-toc.xml"/>
-      <link toc="target/generated-eclipse-help/team/cdo-team-toc.xml"/>
-      <link toc="target/generated-eclipse-help/bugs/cdo-bugs-toc.xml"/>
-      <anchor id="cdo-additions"/>
-   </topic>
-	
-</toc>
diff --git a/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/resource/start/addrepo.png b/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/resource/start/addrepo.png
deleted file mode 100755
index 86f7efe..0000000
--- a/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/resource/start/addrepo.png
+++ /dev/null
Binary files differ
diff --git a/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/resource/start/cdo-start.markdown b/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/resource/start/cdo-start.markdown
deleted file mode 100755
index a838cac..0000000
--- a/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/resource/start/cdo-start.markdown
+++ /dev/null
@@ -1,45 +0,0 @@
-# Working with CDO Model Repositories
-This document is a brief guide to getting started with Papyrus UML models in the CDO Model Repository.
-
-For more information about CDO, see the [EMF CDO wiki](http://wiki.eclipse.org/CDO).
-
-## <a id="Installing">Installation</a>
-The CDO Model Repository integration feature is not installed by default with Papyrus; it is an optional extra component.  To install this feature, open the Papyrus discovery wizard from the **Help &rarr; Install Papyrus Additional Components** menu.  You should find an entry like the following in the list:
-
-![Install additional components](discovery_dialog.png)
-
-Select the CDO integration feature by checking the box on the left side and press **Finish** to perform the installation.
-
-## <a id="Connecting">Connecting to a Repository</a>
-Repository connections are managed in the **CDO Repositories** view.  Use the green plus (**+**) button in the view to create a new repository connection:
-
-![Add repository](addrepo.png)
-
-The new repository is then added to the view.  Select the new repository and pick **Checkout** in the context menu.  Complete the wizard.  A new checkout representing the contents of the repository now appears in the **Project Explorer** view.  Note that this checkout looks like a workspace project but does not physically exist in your workspace.  An online checkout does not store model data on your local disk at all; an offline checkout stores the checked-out baseline locally (but not in the workspace).  You can create as many checkouts from a repository as you want, for example when working with different branches.
-
-Creating new or opening existing Papyrus models in a checkout works similar to local workspace projects.  Note that because it is necessary to explicitly connect to model repositories, any model editors that are open when shutting down the Papyrus workbench are not re-opened on next launch.
-
-## <a id="Importing">Importing Models from the Workspace</a>
-
-You probably already have models in your workspace that you would like to import into a repository.  To do this, select one or more models in the **Project Explorer** and choose the **Import into Repository...** action in the context menu.  Alternatively, just drag and drop one or more model onto a repository.
-
-![Import Models](importmodels.png)
-
-By default, the wizard maps incoming models to paths in the repository according to their paths in the workspace.  This mapping may be customized in the last page.
-
-As a first step, the wizard analyzes the selected models for cross-reference dependencies.  It is highly recommended also to import any models that references the initially selected models.  Otherwise, they will be updated to reference the models in the repository and it may be difficult to edit them when Papyrus is not connected to the repository.
-
-It is also suggested to import models referenced by the initial selection.  However, references from models in a repository to models in the workspace do not present the same kind of problem of availability as the reverse case.
-
-## <a id="Validating">Validating Models</a>
-
-The **Validate** context menu actions work in repository models just as in workspace models.  Annotations are presented in the diagrams and in the **Model Explorer** view.  The difference is that validation issues are not shown in the **Problems** view.  Instead, they are shown in a new **Model Validation** view:
-
-![Model Validation](validation.png)
-
-The **Model Validation** view supports the usual functions, including:
-
-* double-click navigation to the problem element in the editor
-* copy selected problems to CSV text on the system clipboard
-* delete problems
-
diff --git a/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/resource/start/discovery_dialog.png b/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/resource/start/discovery_dialog.png
deleted file mode 100755
index 1f10807..0000000
--- a/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/resource/start/discovery_dialog.png
+++ /dev/null
Binary files differ
diff --git a/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/resource/start/modelreposview.png b/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/resource/start/modelreposview.png
deleted file mode 100755
index ab8f116..0000000
--- a/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/resource/start/modelreposview.png
+++ /dev/null
Binary files differ
diff --git a/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/resource/start/validation.png b/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/resource/start/validation.png
deleted file mode 100755
index dcd7585..0000000
--- a/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/resource/start/validation.png
+++ /dev/null
Binary files differ
diff --git a/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/resource/team/cdo-team.markdown b/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/resource/team/cdo-team.markdown
deleted file mode 100755
index 4a4ae0e..0000000
--- a/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/resource/team/cdo-team.markdown
+++ /dev/null
@@ -1,28 +0,0 @@
-# Sharing Models with a Team
-One purpose of keeping Papyrus models in a CDO model repository is to share them with a team and enjoy the benefits of real-time collaboration that CDO offers.  However, this entails certain consequences that need to be accounted for in the workflow.
-
-## <a id="Locking">Locking Objects</a>
-The context menu in both the **Model Explorer** view and the diagrams has actions for locking and unlocking objects.  Locking a model element reserves it for the exclusive use of the editor that has it locked.  Other users connected to the same repository cannot edit it.  Locking an element in a diagram locks not only the model element, but also the view of it in the diagram.
-
-An object locked by you shows a key decoration.  To lock an element, use the **Locks/Conflicts &rarr; Lock** context menu action:
-
-![A locally locked element](locked.png)
-
-To unlock an object once you have finished editing it and saved the model, use the **Locks/Conflicts &rarr; Unlock** context menu action.  Locks are also automatically released when the editor that holds them is closed.
-
-When another user has locked an element, the editor shows a lock decoration:
-
-![A remotely locked element](remotely_locked.png)
-
-Note that in this case, the element cannot be edited:  the **Properties** view is disabled and the diagram editor does not show the selection handles.
-
-## <a id="Conflicts">Handling Conflicts</a>
-CDO is a real-time collaborative editing platform.  When other users save changes they have made in models that are open in your Papyrus workbench, the repository server pushes those changes into your editors.  You see those changes in real time.  There is no "synchronize" step as with Git or Subversion source control.
-
-Most changes saved by other users will be in different model elements and diagram views than those in which you have unsaved changes.  These do not present a problem.  However, the repository may push changes in objects that you *have* edited and have not yet saved.  Many of these changes, too, are automatically merged by Papyrus:  changes to features of an object that you have not modified and certain changes in multi-valued features can be merged automatically.  Other changes leave the objects that you have edited in a state of conflict.  This is indicated by a decoration in the diagrams and the **Model Explorer** view:
-
-![Conflicting changes](conflict.png)
-
-Papyrus cannot automatically resolve these conflicts by merging the incoming changes from the repository with the changes made in your editor.  They require manual intervention to resolve.
-
-On an object that shows conflict, invoke the **Locks/Conflicts &rarr; Resolve Conflicts** context menu action.  In the current release, the only strategy available is to rollback the editor's unsaved changes, leaving only the changes pushed by the server from other users.  Future releases will add more options, such as an interactive graphical merge.
\ No newline at end of file
diff --git a/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/src/site/mediawiki/images/CDO_CloseServer.png b/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/src/site/mediawiki/cdoserver/images/CDO_Shutdown_Server.png
similarity index 100%
rename from cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/src/site/mediawiki/images/CDO_CloseServer.png
rename to cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/src/site/mediawiki/cdoserver/images/CDO_Shutdown_Server.png
Binary files differ
diff --git a/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/src/site/mediawiki/cdoserver/images/CDO_Start_Server.png b/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/src/site/mediawiki/cdoserver/images/CDO_Start_Server.png
new file mode 100755
index 0000000..baa4b5d
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/src/site/mediawiki/cdoserver/images/CDO_Start_Server.png
Binary files differ
diff --git a/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/resource/start/importmodels.png b/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/src/site/mediawiki/images/CDO_ImportModels.png
similarity index 100%
rename from cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/resource/start/importmodels.png
rename to cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/src/site/mediawiki/images/CDO_ImportModels.png
Binary files differ
diff --git a/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/resource/team/conflict.png b/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/src/site/mediawiki/images/CDO_Team_conflict.png
similarity index 100%
rename from cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/resource/team/conflict.png
rename to cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/src/site/mediawiki/images/CDO_Team_conflict.png
Binary files differ
diff --git a/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/resource/team/locked.png b/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/src/site/mediawiki/images/CDO_Team_locked.png
similarity index 100%
rename from cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/resource/team/locked.png
rename to cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/src/site/mediawiki/images/CDO_Team_locked.png
Binary files differ
diff --git a/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/resource/team/remotely_locked.png b/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/src/site/mediawiki/images/CDO_Team_remotely_locked.png
similarity index 100%
rename from cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/resource/team/remotely_locked.png
rename to cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/src/site/mediawiki/images/CDO_Team_remotely_locked.png
Binary files differ
diff --git a/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/src/site/mediawiki/papyrus-cdo-client-userDoc.mediawiki b/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/src/site/mediawiki/papyrus-cdo-client-userDoc.mediawiki
new file mode 100755
index 0000000..bc3721c
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/src/site/mediawiki/papyrus-cdo-client-userDoc.mediawiki
@@ -0,0 +1,94 @@
+Papyrus CDO allows you to share your models with others users. To be able to use this feature you'll need to have a CDO-Server. 
+
+=Installation=
+#Add in your Eclipse update site, this CDO interim job : '''https://download.eclipse.org/modeling/emf/cdo/drops/I20190208-0100'''
+#Install the last version of Papyrus CDO Integration ('''https://hudson.eclipse.org/papyrus/job/Papyrus-CDO/lastSuccessfulBuild/artifact/repository/''')
+#Restart Eclipse
+ 
+=Configuration=
+===How to configure connection to CDO-Server from Papyrus===
+#Open the '''CDO Explorer''' Perspective
+#Add a new repository from the '''CDO Repository''' View by '''Click''' on the green plus
+#:[[File:images/CDO_NewRepository_0.png|frame|none|]]
+#a new dialod opens, Select '''Connect To an existing remove repository''' then '''Next''',
+#:[[File:images/CDO_NewRepository_1.png|frame|none|]]
+#Edit the  fields with these values (here are the values if you are using the Papyrus-CDO-Server in localhost):
+#*''Host'': localhost
+#*''Port'': 2036
+#*''Repository name'': PapyrusCDOSecuredRepository
+#*''User name'': Administrator
+#*''Password'': 0000
+#*:[[File:images/CDO_NewRepository_2.png|frame|none|]]
+
+==How to Add a User==
+#From the '''CDO Repository''' view, select your server, then '''Right-Click'''->'''Manage Security'''.
+#:[[File:images/CDO_Manage_Security.png|frame|none|]]
+#The '''CDO Security Manager''' editor is now open.
+#:[[File:images/CDO_Manage_Security_Editor.png|frame|none|]]
+#'''Click''' on the button in the top right corner to open a Tree Editor with the same information, then expand all contents, select the ''Users'' folder, then '''Right-Click'''->'''Papyrus CDO User Management'''->'''Create User'''. A dialog opens (after some delay the first time). 
+#:[[File:images/CDO_Papyrus_User_Creation1.png|frame|none|]]
+#In this dialog, you can edit various informations about the new user (some values are already initialized by Papyrus). The required values are the ''ID'' and the ''Password''. These informations will allow to your new user to connect him to the server.
+#:[[File:images/CDO_Papyrus_User_Creation2.png|frame|none|]]
+
+''Note'': 
+*The user is not yet able to change its own password.
+*The user can only edit elements in its own folder.
+*The user can't work on the same model with his colleagues. To do that, the CDO Server administrator must create a new folder and give the access to the users wanting work together. 
+
+==How to disconnect yourself from the CDO Server==
+#Select your repository '''PapyrusCDOSecuredRepository''' in the '''CDO Repository''', then '''Right-Click'''->'''Disconnect'''.
+#:[[File:images/CDO_Server_Disconnect.png|frame|none|]]
+
+
+=Create/Import models with CDO-Server=
+===How to create a new Papyrus model on this server===
+#Do a Checkout from your newly created repository
+#*:[[File:images/CDO_Checkout.png|frame|none|]]
+#In the project explorer, you now have a new folder called ''Online Transactional Checkout''. In it, find the home folder corresponding to your user id (here, it is ''Administrator'', select it, then '''Right-Click'''->'''New'''->'''Papyrus model'''.
+#*:[[File:images/CDO_CreateANewPapyrusModel.png|frame|none|]]
+#Now you can work according to your Papyrus habits
+
+''Note'': The commit on the CDO server is automatically done by the standard save action (CTRL-S).
+
+
+==How to import Models from the Workspace==
+
+You probably already have models in your workspace that you would like to import into a repository.  To do this, select one or more models in the '''Project Explorer''' and choose the '''Import into Repository...''' action in the context menu.  Alternatively, just drag and drop one or more model onto a repository.
+
+[[File:images/CDO_ImportModels.png|frame|none|]]
+
+By default, the wizard maps incoming models to paths in the repository according to their paths in the workspace.  This mapping may be customized in the last page.
+
+As a first step, the wizard analyzes the selected models for cross-reference dependencies.  It is highly recommended also to import any models that references the initially selected models.  Otherwise, they will be updated to reference the models in the repository and it may be difficult to edit them when Papyrus is not connected to the repository.
+
+It is also suggested to import models referenced by the initial selection.  However, references from models in a repository to models in the workspace do not present the same kind of problem of availability as the reverse case.
+
+
+= Sharing Models with a Team=
+One purpose of keeping Papyrus models in a CDO model repository is to share them with a team and enjoy the benefits of real-time collaboration that CDO offers.  However, this entails certain consequences that need to be accounted for in the workflow.
+
+==Locking Objects==
+The context menu in both the '''Model Explorer''' view and the diagrams has actions for locking and unlocking objects.  Locking a model element reserves it for the exclusive use of the editor that has it locked.  Other users connected to the same repository cannot edit it.  Locking an element in a diagram locks not only the model element, but also the view of it in the diagram.
+
+An object locked by you shows a key decoration.  To lock an element, use the '''Locks/Conflicts &rarr; Lock''' context menu action:
+
+[[File:images/CDO_Team_locked.png|frame|none|]]
+
+To unlock an object once you have finished editing it and saved the model, use the '''Locks/Conflicts &rarr; Unlock''' context menu action.  Locks are also automatically released when the editor that holds them is closed.
+
+When another user has locked an element, the editor shows a lock decoration:
+
+[[File:images/CDO_Team_remotely_locked.png|frame|none|]]
+
+Note that in this case, the element cannot be edited:  the '''Properties''' view is disabled and the diagram editor does not show the selection handles.
+
+==Handling Conflicts==
+CDO is a real-time collaborative editing platform.  When other users save changes they have made in models that are open in your Papyrus workbench, the repository server pushes those changes into your editors.  You see those changes in real time.  There is no "synchronize" step as with Git or Subversion source control.
+
+Most changes saved by other users will be in different model elements and diagram views than those in which you have unsaved changes.  These do not present a problem.  However, the repository may push changes in objects that you *have* edited and have not yet saved.  Many of these changes, too, are automatically merged by Papyrus:  changes to features of an object that you have not modified and certain changes in multi-valued features can be merged automatically.  Other changes leave the objects that you have edited in a state of conflict.  This is indicated by a decoration in the diagrams and the '''Model Explorer''' view:
+
+[[File:images/CDO_Team_conflict.png|frame|none|]]
+
+Papyrus cannot automatically resolve these conflicts by merging the incoming changes from the repository with the changes made in your editor.  They require manual intervention to resolve.
+
+On an object that shows conflict, invoke the '''Locks/Conflicts &rarr; Resolve Conflicts''' context menu action.  In the current release, the only strategy available is to rollback the editor's unsaved changes, leaving only the changes pushed by the server from other users.  Future releases will add more options, such as an interactive graphical merge.
\ No newline at end of file
diff --git a/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/src/site/mediawiki/papyrus-cdo-server-userDoc.mediawiki b/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/src/site/mediawiki/papyrus-cdo-server-userDoc.mediawiki
new file mode 100755
index 0000000..cd7abe6
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/src/site/mediawiki/papyrus-cdo-server-userDoc.mediawiki
@@ -0,0 +1,15 @@
+This documentation describes how to start working with the default PapyrusCDOServer.
+=How to install and launch PapyrusCDOServer on localhost=
+#Download the last version of the PapyrusCDOServer on '''https://hudson.eclipse.org/papyrus/view/Collaborative%20Modeling/job/Papyrus-CDO-Server/ws/products/'''
+#Unzip it
+#Run PapyrusCDOServer like done on this snapshot.
+#:[[File:cdoserver/images/CDO_Start_Server.png|frame|none|]]
+#:The CDO server is now launched and you have access to a OSGI terminal.
+
+
+The database is created in a ''develop'' folder at the root of your system.
+
+=How to Shutdown properly the CDO Server=
+#In the OSGI terminal, type '''close''', then '''y''' (for yes) and the server will shutdown.
+#:[[File:cdoserver/images/CDO_Shutdown_Server.png|frame|none|]]
+
diff --git a/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/src/site/mediawiki/papyrus-cdo-userDoc-main-toc.xml b/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/src/site/mediawiki/papyrus-cdo-userDoc-main-toc.xml
new file mode 100755
index 0000000..fc476f2
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/src/site/mediawiki/papyrus-cdo-userDoc-main-toc.xml
@@ -0,0 +1,17 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<toc label="Papyrus-CDO">
+ <topic label="Papyrus-CDO client" >
+  <topic label="User Doc CDO">
+    	<link toc="target/site/generated-eclipse-help/papyrus-cdo-client-userDoc-toc.xml"/>
+    	<anchor id="cdoUserDoc"/>
+       </topic>
+    </topic>
+ 
+ <topic label="Papyrus-CDO server" >
+  <topic label="User Doc CDO server">
+    	<link toc="target/site/generated-eclipse-help/papyrus-cdo-server-userDoc-toc.xml"/>
+    	<anchor id="cdoServerUserDoc"/>
+       </topic>
+    </topic>
+        
+</toc>
diff --git a/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/src/site/mediawiki/papyrus-cdo-userDoc-start-main-toc.xml b/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/src/site/mediawiki/papyrus-cdo-userDoc-start-main-toc.xml
deleted file mode 100755
index 2586f35..0000000
--- a/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/src/site/mediawiki/papyrus-cdo-userDoc-start-main-toc.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version='1.0' encoding='utf-8' ?>
-<toc label="UsingCdo" link_to="../org.eclipse.papyrus.infra.doc/toc.xml#PapyrusDocCustom">
- <topic label="Using cdo" >
-  <topic label="General CDO">
-    	<link toc="target/site/generated-eclipse-help/papyrus-cdo-userDoc-start-toc.xml"/>
-    	<anchor id="cdoUserDoc"/>
-       </topic>
-   
-   
-    </topic>
-     
-</toc>
diff --git a/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/src/site/mediawiki/papyrus-cdo-userDoc-start.mediawiki b/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/src/site/mediawiki/papyrus-cdo-userDoc-start.mediawiki
deleted file mode 100755
index 27627bd..0000000
--- a/cdo/bundles/org.eclipse.papyrus.cdo.ui.doc/src/site/mediawiki/papyrus-cdo-userDoc-start.mediawiki
+++ /dev/null
@@ -1,63 +0,0 @@
-This documentation describes how to start working with the default PapyrusCDOServer.
-=How to install and launch PapyrusCDOServer on localhost=
-#Download the last version of the PapyrusCDOServer on '''https://hudson.eclipse.org/papyrus/view/Collaborative%20Modeling/job/Papyrus-CDO-Server/ws/products/'''
-#Unzip it
-#Run PapyrusCDOServer like done on this snapshot.
-#:[[File:images/CDO_Start_Server.png|frame|none|]]
-#:The CDO server is now launched and you have access to a OSGI terminal.
-
-
-The database is created in a ''develop'' folder at the root of your system.
-
-=How to connect to it from Papyrus=
-#Add in your Eclipse update site, this CDO interim job : '''https://download.eclipse.org/modeling/emf/cdo/drops/I20190208-0100'''
-#Install the last version of Papyrus CDO Integration ('''https://hudson.eclipse.org/papyrus/job/Papyrus-CDO/lastSuccessfulBuild/artifact/repository/''')
-#Restart Eclipse
-#Open the '''CDO Explorer''' Perspective
-#Add a new repository from the '''CDO Repository''' View by '''Click''' on the green plus
-#:[[File:images/CDO_NewRepository_0.png|frame|none|]]
-#a new dialod opens, Select '''Connect To an existing remove repository''' then '''Next''',
-#:[[File:images/CDO_NewRepository_1.png|frame|none|]]
-#Edit the  fields with these values:
-#*''Host'': localhost
-#*''Port'': 2036
-#*''Repository name'': PapyrusCDOSecuredRepository
-#*''User name'': Administrator
-#*''Password'': 0000
-#*:[[File:images/CDO_NewRepository_2.png|frame|none|]]
-
-
-=How to create a new Papyrus model on this server=
-#Do a Checkout from your newly created repository
-#*:[[File:images/CDO_Checkout.png|frame|none|]]
-#In the project explorer, you now have a new folder called ''Online Transactional Checkout''. In it, find the home folder corresponding to your user id (here, it is ''Administrator'', select it, then '''Right-Click'''->'''New'''->'''Papyrus model'''.
-#*:[[File:images/CDO_CreateANewPapyrusModel.png|frame|none|]]
-#Now you can work according to your Papyrus habits
-
-''Note'': The commit on the CDO server is automatically done by the standard save action (CTRL-S).
-
-
-=How to Add User=
-#From the '''CDO Repository''' view, select your server, then '''Right-Click'''->'''Manage Security'''.
-#:[[File:images/CDO_Manage_Security.png|frame|none|]]
-#The '''CDO Security Manager''' editor is now open.
-#:[[File:images/CDO_Manage_Security_Editor.png|frame|none|]]
-#'''Click''' on the button in the top right corner to open a Tree Editor with the same information, then expand all contents, select the ''Users'' folder, then '''Right-Click'''->'''Papyrus CDO User Management'''->'''Create User'''. A dialog opens (after some delay the first time). 
-#:[[File:images/CDO_Papyrus_User_Creation1.png|frame|none|]]
-#In this dialog, you can edit various informations about the new user (some values are already initialized by Papyrus). The required values are the ''ID'' and the ''Password''. These informations will allow to your new user to connect him to the server.
-#:[[File:images/CDO_Papyrus_User_Creation2.png|frame|none|]]
-
-
-''Note'': 
-*The user is not yet able to change its own password.
-*The user can only edit elements in its own folder.
-*The user can't work on the same model with his colleagues. To do that, the CDO Server administrator must create a new folder and give the access to the users wanting work together. 
-
-=How to close properly the CDO Server=
-#Select your repository '''PapyrusCDOSecuredRepository''' in the '''CDO Repository''', then '''Right-Click'''->'''Disconnect'''.
-#:[[File:images/CDO_Server_Disconnect.png|frame|none|]]
-#In the OSGI terminal, type '''close''', then '''y''' (for yes) and the server will shutdown.
-#:[[File:images/CDO_CloseServer.png|frame|none|]]
-
- 
-
diff --git a/cdo/bundles/pom.xml b/cdo/bundles/pom.xml
index 34e2bdc..b1e9ed6 100755
--- a/cdo/bundles/pom.xml
+++ b/cdo/bundles/pom.xml
@@ -20,6 +20,7 @@
 		<module>org.eclipse.papyrus.cdo.security</module>
 		<module>org.eclipse.papyrus.cdo.security.properties</module>
 		<module>org.eclipse.papyrus.cdo.ui</module>
+		<module>org.eclipse.papyrus.cdo.ui.doc</module>
 		<!-- <module>org.eclipse.papyrus.cdo.ui.customization.properties</module> -->
 		<module>org.eclipse.papyrus.cdo.ui.hyperlink</module>
 		<module>org.eclipse.papyrus.cdo.uml.diagram.ui</module>
