"Seegrid will be due for a migration to confluence on the 1st of August. Any update on or after the 1st of August will NOT be migrated"

Setting up Subversion for Enterprise Architect

Contents

Related pages

Introduction

This page provides instructions for configuring Subversion for use with Enterprise Archtect.

It is specific with respect to the setup of HollowWorld, GeoSciML and other EA resources managed via the Seegrid Twiki.

It relies on documentation provided with both Enterprise Architect and Subversion and should be used in conjunction with that documentation.

Pre-requisites

  • Be sure your Twiki username and password are current (test by seeing if you can edit a Twiki page). (-- BruceJohnson - 21 Jun 2007)

  • Update your version of Enterprise Architect to the latest stable version (at the time of editing 7.0 does work, 7.5 is current and 8.0 is under beta testing)

  • Install a copy of a Subversion client on your machine (not just TortoiseSVN).
    • Version 1.5 or greater is currently recommended and can be downloaded from http://subversion.tigris.org/ (Be sure to download the user guide at the same time - Reading Chapter 2 before going any further is strongly recommended if you are new to Subversion).
    • After installation locate the directory where the svn.exe binary is (it is in the bin sub-directory). Note this location for use in later steps.
    • Add the bin directory to your system path so as to make svn.exe availalble from the command line
      • Note: On a WindowsXP installation, the bin directory is added automatically to your path. However, you must re-boot before the following steps (BruceJohnson - 21 Jun 2007)

  • Confirm that the subversion client can access the HollowWorld directory as follows:
    • Open a command prompt and type "svn info https://www.seegrid.csiro.au/subversion/HollowWorld/trunk" (After a short wait you should see a short list of information about the repository including it's version, author and revision date)
    • For GeoSciML users do the same thing but specifying the GeoSciML repository (e.g. "svn info https://www.seegrid.csiro.au/subversion/GeoSciML/")

svn_info_cmd.jpg

Check out the Model

To check out a version of the model you are interested in:
  • Create a local directory on your computer that will be a place to store a "local working copy" of the version controlled model files (e.g. C:\localSVN). The models are actually persisted in xml files conventionally named using the model name with '.xml' extension. These xml files contain the UML model represented using the XMI xml schema, which is a 'standard' schema used to represent UML models. Like every standard, there are lots of versions; we use EA profile XMI so that the models can be 'round-tripped' through EA to view, edit, and update the actual UML model.

  • Open a command prompt and cd to that directory (e.g. " cd C:\localSVN")
  • Check out the whole top-level directory associated with your model of interest as follows:
    • For HollowWorld: "svn co https://www.seegrid.csiro.au/subversion/HollowWorld/" HollowWorld"
    • For GeoSciML: "svn co https://www.seegrid.csiro.au/subversion/GeoSciML/" GeoSciML"
    • Note 1: The first time you do this on any given machine you will be prompted by the seegrid server to accept a certificate - be sure to enter "p" for permanent acceptance of the certificate. Not doing so will cause mysterious authentication errors for certain SVN operations within EA.
    • Note 2: you can choose to check out a smaller set of files. For GeoSciML you currently only need the "/trunk" sub-directory but you also need the HollowWorld trunk as it is required as a dependent model. For both models you may chose to check out only the current version under the "trunk" (e.g. https://www.seegrid.csiro.au/subversion/HollowWorld/trunk/). The actual xml model files of interest are in the 'trunk/model' subdirectory in GeoSciML, and in 'trunk/XMI13_with_EA_extensions' in HollowWorld.

For more information on this process see the EA help topic titled "Create a Local Working Copy" (under Model Management|Version Control|Version Control Reference|Version Control with Subversion)

This would be a good time to install TortoiseSVN which enhances the Windows Explorer interface with SVN commands, and provides a few other useful utilities like Repo-Browser. Not necessary, but a real help in figuring out what's wrong if you run into problems (BruceJohnson - 21 Jun 2007)

Setting up EA version control configurations

At this point you are ready to set up an Enterprise Architect Project cache (.eap file), with version control configured using the packages checked out from the subversion repository. This Enterprise Architect project should be thought of as a front end interface for viewing and editing models that are actually persisted in the xml documents that were checked out from the subversion repository. EA version control takes care of check in/check out and synchronizing the 'backend' xml representations of the model that are under Subversion control. The current version of the model is only cached in the .eap file; but critically the location of the actual linked model packages (XMI documents) is stored so that the model can be synced with the latest versions at any time. The model cache also remembers various viewer configuration items (analogous to the relationship between and ArcMap .mxd file and the geodatabase that actually persists the spatial data...).

See https://www.seegrid.csiro.au/twiki/bin/view/CGIModel/ConfiguringEnterpriseArchitectForGeoSciML for detailed instructions on configuring the EA project to view/edit/update the models.

For more information on this process see the EA help topic titled "Configure Version Control with Subversion" (under Model Management|Version Control|Version Control Reference|Version Control with Subversion)

The EA project file is your local 'front end' interface for the model, and is not under subversion version control.

Daily usage guide

CGIWorld (GeoSciML and GeoTime) and HollowWorld sub packages are version controlled by subversion through xml documents read in and updated by the EA 'package control' functions. The actual model xml model files are versioned and maintained separately from the main EAP file. These files are named %packageName%.xml (e.g. CGIWorld.xml). This xml file is committed to the subversion repository when an EA package 'Check In' is executed from the package control context menu in EA.

When the EAP document with package control is opened, %packageName%.xml files are updated from the repository, and the EAP document is synchronized by XMI import from these files, which are identified by the Package Control ->Version control Settings -> Defined configurations. That's why opening the file takes a while. If you are off line and the %packageName%.xml update is not possible, you will get a message that other users may change things while your working, e.g. there is no locking of packages being edited.

If you haven't done so already, before starting, configure the package control options in EA (See https://www.seegrid.csiro.au/twiki/bin/view/CGIModel/ConfiguringEnterpriseArchitectForGeoSciML).

To check the package control options in your local EA front end project:

  1. in the Project Browser right-click on “Model” and select “Package Control -> Version Control Settings”,
  2. In Model Settings, check both boxes (This Model Is Private and also Save Nested VCP to stubs only)
  3. In Configuration Details set up two configurations:

  1. point HollowWorld-trunk to the directory holding your local copy of https://www.seegrid.csiro.au/subversion/HollowWorld/trunk/XMI13_with_EA_extensions/
  2. point GeoSciML to the directory holding your local copy of https://www.seegrid.csiro.au/subversion/GeoSciML/trunk/model

# When you want to work on the UML model, open the EA project 'front-end'. # Its always a good idea to run 'Get all Latest' (right click on the model, select 'Package Control -> Get all Latest from context menu) when starting work. # In order to modify anything in a controlled package, you first have to check it out (right-click->package Control->Check Out). This locks the associated %packageName%.xml file in the subversion repository until the package is checked back in.

# when you have finished editing check the package back in (right click->Package control->Check In) (this updates and commits the associated %packageName%.xml file)

- check in often to avoid headaches. Check in commits changes to the repository (via the %packageName%.xml).

- Your local EA project is never added to the subversion repository, it can be opened and viewed without generating little red exclamation marks on the icons in your repository listing.

(-- NickArdlie, edited by SteveRichard - 19 May 2007, 24 July 2007)

  • See the section titled "Basic Work Cycle" in the Subversion User Guide.

FAQ

  1. Is the HollowWorld SVN configuration name important? - Yes! It must be exactly the same in order for nested packages to load correctly.
  2. Is this page up to date? - Geosciml 2.0 is using HollowWorld release 1

  • TODO: add content
Topic attachments
I Attachment Action Size Date Who Comment
svn_config.jpgjpg svn_config.jpg manage 48.9 K 13 Apr 2007 - 12:25 NickArdlie Screenshot of EA Subversion config
svn_info_cmd.jpgjpg svn_info_cmd.jpg manage 20.8 K 13 Apr 2007 - 12:12 NickArdlie Screenshot of SVN info command
Topic revision: r16 - 15 Oct 2010, UnknownUser
 

Current license: All material on this collaboration platform is licensed under a Creative Commons Attribution 3.0 Australia Licence (CC BY 3.0).