Data Designer: Data Storage, Versioning and Collaboration

In Data Designer: Creating and Managing Metadata, we provided an introduction to how Data Designer provides a fully functional interface for custom data models.  With such an interface, a user can enter metadata or data as specified and validated by the data model.  However, persistence and change management of the data in a collaborative way amongst users is also a key requirement.

Data Designer uses the features provided by EMFStore.  For full details see EMFStore documentation.  Here, we will assume you have a EMFStore server running and you wish to log in to use standard user functionality.  If you do not have server access, EMFStore provides a test local server.  Simply right click on EMFStore in the repository view and choose 'Start Local server'.

Similarly, to log in, right click on EMFStore in the repository view and select 'Login' in the context menu.  You will be prompted to enter your username and password as supplied by your administrator.  If you are using the test local server, you can log in with the default username 'super' and a blank password.


A green circle now appears on the EMFStore icon in the repository view to indicate you have successfully logged in.  Any projects already saved in the repository should appear as children of EMFStore in the repository view.

If you wish to add a project to the repository for the first time, right click on the project in the Model View and select 'Share' from the context menu.  A 'Repository Wizard' will appear.  Follow the prompts in the wizard to select the repository you want clicking the 'Next' and finally the 'Finish' buttons.  You will now see your project added as a child to EMFStore in the repository view.  Also, some form of versioning text (such as '[trunk, Version 0]') will be appended to the project name in the Model View.

When you have made changes to your project, you can save them to the repository server by selecting 'Commit' from the right-click context menu.  This brings up the 'Commit' dialogue box where you can enter a 'Log message' to summarise the changes made.  Here one can also review operational details of the changes made as well as an audit record of who and when the changes were committed.  If all looks reasonable, click 'OK' to save the changes to the server repository.

Once changes have been committed, you should see the version number of the project has been incremented by one.  You can also review all versions through the History Browser.  Right click on the project and select 'Show Historyview'.  This will bring up another view showing the details of all changes ever made along with version numbers and any branches made.

Looking at the context menu, one can see other useful features that EMFStore provides, including:

  • updating one's local version with the latest changes saved in the server repository
  • undoing the last operation
  • reverting to the state of the last committed version by reverting all operations
  • creating a user's own branch so changes can be made and committed to the server without affecting other users working off the main version (a.k.a., trunk)
  • being able to merge a branch with the main version when a user is ready
  • updating one's local version to a specific version saved on the server repository




Popular Posts