266
Change Management Managing change in a model? Sparx Systems Enterprise Architect has many tools to maintain data, such as Version Control, milestone Baselines, change Auditing, Project Transfer for backups, Validation, Integrity Checking and role-based User Security. Enterprise Architect User Guide Series Author: Sparx Systems Date: 2020-09-07 Version: 15.2 CREATED WITH

Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

Change ManagementManaging change in a model? Sparx Systems

Enterprise Architect has many tools to maintaindata, such as Version Control, milestone

Baselines, change Auditing, Project Transfer forbackups, Validation, Integrity Checking and

role-based User Security.

Enterprise Architect

User Guide Series

Author: Sparx SystemsDate: 2020-09-07

Version: 15.2

CREATED WITH

Page 2: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically
Page 3: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

Table of Contents

Change Management 7Version Control 10Introduction 12Version Control Usage 16Version Control of Model Data 18Version Control and Reference Data 20Version Controlling Packages 21Applying Version Control in a Team Environment 23Version Control Nested Packages 26Add Connectors To Locked Elements 28Browser Window Indicators 30Offline Version Control 32Version Control Branching 38

Version Control Product Setup 39System Requirements 42Create a Subversion Environment 46Create a new Repository Sub-tree 50Create a Local Working Copy 52Verify the SVN Workspace 55Subversion Under Wine-Crossover 57Preparing a Subversion Environment Under Wine 59

TortoiseSVN 63

Page 4: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

Create a TFS Environment 64TFS Workspaces 69TFS Exclusive Check Outs 73Verify the TFS Workspace 75

Create a CVS Environment 78Prepare a CVS Local Workspace 82Verify the CVS Workspace 85TortoiseCVS 87

Create an SCC Environment 88Upgrade at Enterprise Architect Version 4.5, Under SCC Version Control 91

Version Control Setup 93Re-use an Existing Configuration 96Version Control Settings 98SCC Settings 103CVS Settings 107SVN Settings 110TFS Settings 113

Use Version Control 118Configure Controlled Package 123Apply Version Control To Branches 127Package Version Control Options 129Check Out a Package 138Undo Check Out of a Package 140Check In a Package 142Check Out a Model Branch 144Check In a Model Branch 146

Page 5: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

Update to the Latest Revision of Selected Package 149Update to the Latest Revision of All Packages 152Include Other Users' Packages 155Export Controlled Model Branch 157Import Controlled Model Branch 160Manually Locating Model Branch Files 164

Review Package History 167Review Package History - SCC Client 170Retrieve Prior Revision - SCC Client 173

Validate Package Configurations 176Resynchronize the Status of Version Controlled Packages 178

Auditing 181Auditing Quickstart 184Auditing Settings 186The Audit View 193Audit View Controls 197

Audit History Tab 202Auditing Performance Issues 204Audit View Performance Issues 206

Package Baselines 208Baselines 212Manage Baselines in Model 216Manage Baselines in Reusable Asset Service Registry 220Baseline Contents 227Baseline Dependencies 230

Page 6: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

Add Review Comments 234Create Baselines 236The Compare Utility (Diff) 239Compare Options 243Example Comparison 246Compare Utility View Options 249

Check Visual Changes to Diagrams 255Compare Projects 263

Page 7: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Change Management

As a repository is developed it will become the data storefor valuable organizational information assets, and it isimperative that this data is protected and maintained.Enterprise Architect has sophisticated tools to ensure theinformation is protected, including full integration with allthe leading Version Control Systems, Baselines that aresnapshots of your model that can be taken at importantmilestones, and Auditing that can track the finest changes toa model. A Project Transfer function helps you to makebackups of models without involving informationtechnology personnel. There are also Model Validation andProject Integrity Checkers to ensure the repository ismaintained with a clean bill of health, and a powerful rolebased Security System to ensure users can collaborate easily.

Facilities

Facility Detail

VersionControl ofPackages

Enterprise Architect Model VersionControl helps you to:

Coordinate sharing of Packages·

(c) Sparx Systems 2020 Page 7 of 266

Page 8: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

between users, with either read-onlyaccess or update access, ensuring thatwork on different areas of the model iscoordinated and synchronous ratherthan conflictingSave and retrieve a history of changes·

to PackagesTo use Version Control in EnterpriseArchitect, you require a third-partysource-code control application such as:

Subversion·

CVS·

MS Team Foundation Server (TFS), or·

Any other Version Control product that·

complies with the Microsoft CommonSource Code Control standard

TrackingChanges

Enterprise Architect provides twoseparate but complementary facilities fortracking changes to data across theproject:

Auditing of model changes·

Baselining and differencing to capture·

and roll back changes

Project DataTransfer

Enterprise Architect enables you totransfer project data between project datarepositories either for:

(c) Sparx Systems 2020 Page 8 of 266

Page 9: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Sections of the project (XMI and CSV)·

orThe whole project, row by row, table·

by table (in the Corporate, Unified andUltimate Editions of EnterpriseArchitect)

(c) Sparx Systems 2020 Page 9 of 266

Page 10: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Version Control

Within Enterprise Architect, you can manage changes to andrevisions of your projects by placing individual modelPackages, view nodes or root nodes under Version Control.This provides numerous key facilities, including:

Saving a history of changes to Packages·

The ability to retrieve previous revisions of Packages·

Propagating model updates between team members·

Coordinating the sharing of Packages between team·

members

You apply Version Control through a third-partysource-code control application that manages access to andstores revisions of the controlled Packages. Once theVersion Control software has been installed and configured,you must define a Version Control Configuration withinyour project. You can then use Version Control to managechanges to the Packages of your model.

Notes

Sparx Systems strongly urge you not to manipulate·

Version Controlled Package files outside of EnterpriseArchitect; it is possible to leave the Package files in astate that Enterprise Architect cannot recognize

Database replication should not be combined with·

Version Controlled Packages

(c) Sparx Systems 2020 Page 10 of 266

Page 11: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

If the Packages under Version Control contain any·

alternative images and those images are subject tofrequent change, you can set the 'Export alternate images'option on the 'Preferences' dialog to export the images tothe Version Control repository when you check in thePackages; if the images are not subject to frequent change,do not select this option and instead use 'Export/ImportReference Data' to manage alternative images

(c) Sparx Systems 2020 Page 11 of 266

Page 12: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Introduction

Enterprise Architect's Version Control integration providesseveral key facilities, including:

Saving a history of changes made to your model's·

Packages

Retrieving previous revisions of Packages·

Propagating model updates between team members·

Coordinating the sharing of Packages between team·

members

The steps involved in setting up a Version Controlenvironment and applying Version Control to an EnterpriseArchitect project that is to be accessed by a number of users,are summarized in the Help topic Applying Version Control in a Team Environment.

There are a number of factors to consider when setting upand using Version Control in your model development.

Factors to consider

Factor Detail

SystemRequirementsandConfiguratio

You apply Version Control through athird-party source-code controlapplication that manages access to andstores revisions of the controlled

(c) Sparx Systems 2020 Page 12 of 266

Page 13: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

n Packages.Typically the configuration consists of:

A server component that manages a·

Version Control repository, andClient components on the workstations,·

that manage local working copies ofcontrolled files

Enterprise Architect uses the clientcomponent to communicate with theserver. A Version Control client must beinstalled on every machine where you runEnterprise Architect and want to accessyour Version Control system.

VersionControlUsage

There are two main ways in whichprojects can be deployed:

Centralized Shared Model·

Distributed Private Models·

Version control is employed in the sameway for both scenarios; however, whenusing Private Model deployment youhave the additional facility of propagatingmodel updates throughout the team.Version Control can also be used to sharestandard Packages between differentprojects.

Team Consider the process of setting up a

(c) Sparx Systems 2020 Page 13 of 266

Page 14: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Deployment Version Control environment andapplying Version Control to a project tobe accessed by a number of users.

VersionControlBasics

Enterprise Architect enforces serializedediting of Version Controlled Packages,using the lock-modify-unlock mode ofoperation.

ApplyingVersionControl toModels

Using Version Control consists of placingindividual model Packages under VersionControl, rather than Version Controllingthe project as a whole.

VersionControl andProjectReferenceData

To share changes in reference databetween users in a version-controlledproject deployed as multiple privatemodels, you periodically export thereference data from the model where thechanges were made, and import it into theother models maintained by the team.

OfflineVersionControl

You can prevent the system fromattempting to make any Version Controlconnections by choosing to Work Offlinebefore loading a model.If Enterprise Architect is unable toconnect a Version Control Configurationfor any reason, it displays warning

(c) Sparx Systems 2020 Page 14 of 266

Page 15: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

messages to notify you and provides'offline' Version Control functionality forall Packages associated with the failedconnection.

Notes

Packages under Version Control are identified in the·

Browser window by icons that indicate the current statusof the Package

(c) Sparx Systems 2020 Page 15 of 266

Page 16: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Version Control Usage

The Version Control facility can be used in many differentways, although these roughly fall into one of four types ofuse as discussed here.

Usage

Type Details

SingleShared model

Users share a model stored in a centralproject file or DBMS repository. In thisconfiguration you can view changes toother users' Packages without explicitlyhaving to check them out, by simplyrefreshing your view of the model.Version control is used to:

Archive successive versions of your·

work to dateMaintain Package revision history·

Recover from unwanted changes or·

accidental deletions, through an 'undo'facilityRegulate access to Packages·

MultiplePrivate

One model is created by a single userwho configures it for Version Control.

(c) Sparx Systems 2020 Page 16 of 266

Page 17: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

models The model file is then distributed to otherusers, with each user storing their ownprivate copy of the model.Version Control is used to:

Propagate changes to the model,·

throughout the teamArchive successive versions of your·

work to dateMaintain Package revision history·

Recover from unwanted changes or·

accidental deletions, through an 'undo'facilityRegulate access to Packages·

SharedPackages

Individual users create separate modelsbut share one or more Packages:

Users share Packages through Version·

Control

StandardPackages

A company might have a standard set ofread-only Packages that are broadlyshared:

Individual users retrieve Packages with·

the Get Package menu option

(c) Sparx Systems 2020 Page 17 of 266

Page 18: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Version Control of Model Data

When applying Version Control in Enterprise Architect, youplace individual model Packages under Version Control, andnot the project as a whole.

All Enterprise Architect models are stored in databases -even the .eap file is an MS Jet database. In simple terms, theproject file is a single entity of binary data. Being binarydata, the project file would require the use of thelock-modify-unlock model of Version Control, which wouldmean that only a single user at a time could work on anygiven (Version Controlled) model. Therefore, it is notpractical to apply Version Control to the database (.eap file)as a whole; this can also create problems for you in that:

Most Version Control systems mark their controlled files·

as read only, unless they are specifically checked-out toyou

The .eap file is an MS Jet database, and Enterprise·

Architect must be able to open this file for read/writeaccess when you load your model; if the model isread-only, the system displays an error message and failsto load the model

Version Controlling Packages in your Model

To overcome these limitations, Enterprise Architect exportsdiscrete units of the model - the Packages - as XMI Package

(c) Sparx Systems 2020 Page 18 of 266

Page 19: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

files, and it is these XMI files, not the project file, that areplaced under Version Control. The XMI file format used byEnterprise Architect dictates that they too be treated asbinary files - therefore it is not possible to merge the XMIfiles either; however, by splitting the model into muchsmaller parts, many users can work on separate parts of themodel simultaneously.

Version Controlled Nested Packages

Version Controlled nested Packages result in much smallerXMI files being exported, as the parent Packages' XMI filesdo not contain any content for the Version Controlled childPackages.

Version Control of nested Packages, together with a modelstructure of small individual Packages, provides greaterscope for multiple users to work concurrently, as individualusers are locking much smaller parts of the model.

(c) Sparx Systems 2020 Page 19 of 266

Page 20: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Version Control and Reference Data

Reference data is data that is used across a model or project;it is not Package-specific. Version Control operates atPackage level, and therefore does not capture changes inreference data. Where Version Control is used in a multipleprivate model set up, changes in reference data are notbrought into the model when Packages are updated fromVersion Control.

In a Shared Model environment, all users are accessing thesame project reference data. Changes in reference data canbe shared between users in a Version Controlled projectdeployed as multiple private models, by periodicallyexporting the reference data from the model where thechanges were made, and importing it into the other modelsmaintained by the team.

Reference data is exported and imported as an XMI file,which contains whatever types of reference data you want totransfer. You can place your project reference data underVersion Control by exporting the data as an XMI file andapply Version Control to that file using your VersionControl software external to Enterprise Architect.

(c) Sparx Systems 2020 Page 20 of 266

Page 21: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Version Controlling Packages

Enterprise Architect implements Version Control of yourmodel by exporting Package data from the project databaseto XMI Package files, which are placed under VersionControl in the source-code control application. The XMI fileformat cannot be merged in the same way as ordinary textfiles can be merged, which is why Enterprise Architect mustenforce serialized editing of Version Controlled Packages,as discussed here.

The Lock-Modify-Unlock Solution

Many Version Control systems use a lock-modify-unlockmodel to address the problem of different authors in ashared source overwriting each other's work. In this model,the Version Control repository allows only one person tochange a file at a time, and access is managed using locks.

Harry must lock a file before he can begin making changesto it. If Harry has locked a file, Sally cannot also lock it, andtherefore cannot make any changes to that file. All she cando is read the file, and wait for Harry to finish his changesand release the lock. After Harry unlocks the file, Sally cantake her turn in locking and editing the file.

The Copy-Modify-Merge Solution

(c) Sparx Systems 2020 Page 21 of 266

Page 22: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Subversion, CVS and a number of other Version Controlsystems use a copy-modify-merge model as an alternative tolocking. In this model, each user's client contacts the projectrepository and creates a personal working copy - a localreflection of the repository's files and directories. Users thenwork simultaneously and independently, modifying theirprivate copies. In due course, the private copies are mergedtogether into a new, final version. The Version Controlsystem often assists with the merging, but ultimately aperson is responsible for making it happen correctly.

When Locking is Necessary

While the lock-modify-unlock model is generallyconsidered a hindrance to collaboration, there are still timeswhen locking is necessary.

The copy-modify-merge model is based on the assumptionthat files are contextually merge-able: that is, that the files inthe repository are line-based text files (such as programsource code). However, for files with binary formats, suchas artwork or sound, it is often impossible to mergeconflicting changes. In these situations, it really is necessaryfor users to take strict turns in changing the file. Withoutserialized access, some users end up wasting time onchanges that are ultimately overwritten.

(c) Sparx Systems 2020 Page 22 of 266

Page 23: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Applying Version Control in a TeamEnvironment

This is a summary of the process of setting up a VersionControl environment and applying Version Control to aproject to be accessed by a number of users.

Version Control - Process Overview

Step

Action

1 Install your Version Control product.

2 Create a Version Control repository.

3 Create a Version Control project to be used withyour Enterprise Architect project.

4 Check-out a working copy of the Version Controlproject (a module, project or folder within theVersion Control system) into a local folder.You must do this for every team member that isaccessing the Version Controlled Packages, whetheryou are using a single shared model or each teammember stores his own private copy of the model.

(c) Sparx Systems 2020 Page 23 of 266

Page 24: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

5 Before attempting to access the new Version Controlenvironment from within Enterprise Architect, youshould first verify that it functions correctly whenused outside of Enterprise Architect.

6 Within Enterprise Architect, define a VersionControl configuration to provide access to theworking copy files.The name of the Version Control configuration mustbe the same across all machines throughout a team.That is, all Version Control access to a givenPackage must be through Version Controlconfigurations with the same name, across allmodels and all users.The easiest way to perform this step (throughout theteam) is to have one user set up Version Control onthe model and then share that model with the rest ofthe team.

In Shared Model deployment, all users connect to·

a single instance of the model database, so themodel is shared automaticallyIn Private Model deployment, it is easiest to·

distribute copies of the original model (afterVersion Control has been set up) to all othermembers of the team

Whenever you open a model (Private or Shared) thatuses a Version Control configuration that is not yetdefined on your workstation, a prompt displays to

(c) Sparx Systems 2020 Page 24 of 266

Page 25: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

complete the definition for that configuration. Thistypically means specifying the local working copydirectory and perhaps choosing the Version Controlproject associated with this Enterprise Architectproject.Once this has been done, the Version ControlledPackages that already exist in the model are readyfor use.

7 Configure Packages within the Enterprise Architectmodel for Version Control. That is, apply VersionControl to individual Packages.

8 Check-out and check-in Packages as required.

Notes

It is possible to use multiple Version Control·

Configurations within the same model; different Packagescan still use different Version Control Configurationswithin the model, as long as any given Package is alwaysaccessed via the same Version Control Configuration

(c) Sparx Systems 2020 Page 25 of 266

Page 26: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Version Control Nested Packages

When you save a Package to the Version Control system,only stub information is exported for any nested Packages.This protects information in a nested Package from beinginadvertently over-written by a top level Package.

Operations on Nested Packages

Operation Detail

CheckingOut

When you check out a Package, you donot modify or delete nested Packages;only the top level Package is modified.As a consequence of this behavior, if youcheck out or get a Version ControlledPackage with nested Packages that arenot already in your model, you see stubsin the model for the nested Packagesonly.

Get AllLatest

If you select the 'Get All Latest' optionfrom the Version Control menu, any newstubs are populated from the VersionControl system.

Importing You can populate a large and complex

(c) Sparx Systems 2020 Page 26 of 266

Page 27: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Models model, by 'getting' only the rootPackages, then using 'Get All Latest' torecursively iterate through the attachedand nested Packages.This is a powerful and efficient means ofmanaging your project and simplifieshandling very large models, even in adistributed environment.The 'Import a Model Branch' optioncombines the procedure steps into asingle operation.

Notes

It is recommended that, when sharing a Version·

Controlled model, you do not mix versions of EnterpriseArchitect later than version 4.5 with earlier versions; ifthis is necessary it is best to go to the 'Version ControlSettings' dialog and deselect the 'Save nested versioncontrolled packages to stubs only' checkbox, settingEnterprise Architect to the pre-version 4.5 behavior (forthe current model only)

(c) Sparx Systems 2020 Page 27 of 266

Page 28: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Add Connectors To Locked Elements

Generally, when working in a diagram containing lockedelements, you cannot add a connector to a locked element.However, this depends on the lock status of the source andtarget elements (or more precisely, the lock status of theparent Packages of the source and target elements, when thesource and target element are held in different Packages).There are scenarios in which a connector can be created on alocked element.

Lock Scenarios

ElementStatus

Add Connectors

Sourceunlocked,targetunlocked

Yes, any kind of connector can be added

Sourceunlocked,target locked

Yes, except for Composition connectors

Sourcelocked, target

No, except for Composition connectors

(c) Sparx Systems 2020 Page 28 of 266

Page 29: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

unlocked

Sourcelocked, targetlocked

No, prohibited for all connectors

Notes

A connector can be added if its source is unlocked - you·

are modifying what the source can see

The exception is Composition connectors, where the·

target (the parent) must be unlocked - you are modifyingthe parent by adding children

(c) Sparx Systems 2020 Page 29 of 266

Page 30: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Browser Window Indicators

Packages under Version Control are identified in theBrowser window by icons that indicate the current status ofthe Package.

Indicators

Icon Indicates that

This Package is Version Controlled andnot checked out to you.You cannot edit the Package (until youcheck out the Package yourself).

This Package is Version Controlled andchecked out to you.You can edit the Package.

This Package is Version Controlled, butyou checked it out whilst not connectedto the Version Control server.You can edit the Package but there couldbe version conflicts when you check thePackage in again.

This Package is controlled and is

(c) Sparx Systems 2020 Page 30 of 266

Page 31: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

represented by an XMI file in the filemanagement system, but it is not underVersion Control.You can edit this Package.

(c) Sparx Systems 2020 Page 31 of 266

Page 32: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Offline Version Control

When loading a model that uses Version Control, EnterpriseArchitect normally initializes a connection to the VersionControl system for each Version Control configurationdefined in the model. If Enterprise Architect is unable toconnect a Version Control configuration for any reason, itdisplays warning messages to notify you and providesoffline Version Control functionality for all Packagesassociated with the failed connection.

You can prevent Enterprise Architect from starting to makeany Version Control connections, by selecting to workoffline before loading your model.

Access

Ribbon Configure > Version Control > WorkOffline

Working Offline

Concept Discussion

(c) Sparx Systems 2020 Page 32 of 266

Page 33: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Choosing toWork Offline

Selecting to work offline is useful if youknow beforehand that EnterpriseArchitect cannot connect to your VersionControl system. For example: If you areworking on a laptop computer that isdisconnected from your network, on anEnterprise Architect model that uses alarge number of Version Controlconfigurations, you can select to workoffline before you load the model toavoid all the error messages that thesystem would normally display as eachVersion Control connection attemptfailed.You can switch between working offlineand working online at any time, eitherbefore or after a model is loaded, bytoggling the 'Work Offline' menu option.Enterprise Architect disconnects orreconnects Version Control (dependingon the connection availability) accordingto your selection.

UsingVersionControlWhilstDisconnectedFrom theVersion

Enterprise Architect 'remembers' thestatus of a model’s Version ControlledPackages. Packages that were checkedout to you prior to disconnecting from theserver are still shown as checked out toyou, even though you are no longerconnected to the server. You can still edit

(c) Sparx Systems 2020 Page 33 of 266

Page 34: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

ControlServer

these Packages as you normally would.Packages that were not checked out toyou prior to disconnecting from theserver are shown as Version Controlledand locked. You cannot edit thesePackages until you check them out.

OfflineCheck Out

You can 'check-out' and edit a VersionControlled Package even when yourmachine is disconnected from theVersion Control server. In this example,the colored 'figure 8' icon for DFDindicates that you have checked it outwhilst off line.

(The gray 'figure 8' icon shown againstLogical View indicates that you havechecked out a Version ControlledPackage on line.)You should be aware that the VersionControl system, and therefore other users,have no way of knowing that you have'checked-out' a Package whilst offline. Itis not possible to merge changes to anXMI file that result from two usersediting the same Package at the same

(c) Sparx Systems 2020 Page 34 of 266

Page 35: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

time. If an offline checkout leads to twopeople editing the same Package at thesame time, when the changes are broughtback online the first-saved set of changesis lost.

Checking Ina PackageThat WasChecked OutOffline

Once you reconnect your system to theVersion Control server, if the Packageyou checked out offline is not currentlychecked out by another user, you cancheck in that Package. However, beforeEnterprise Architect checks in thePackage, it compares the local workingcopy of the Package file with the latestrevision in the repository. (These Packagefiles remain unchanged in your work areauntil Enterprise Architect exports thePackage again before checking in.) If therepository version remains unchangedfrom when you last updated your localcopy, Enterprise Architect exports andchecks in your Package without furtherprompting.On the other hand, if the repository nowcontains a file that has changed since youlast updated your local copy, checking inyour Package would overwrite thosechanges. Enterprise Architect displays amessage warning you of the pending dataloss and giving you the opportunity to

(c) Sparx Systems 2020 Page 35 of 266

Page 36: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

abort the check in. At this point, you mustdecide whether to discard your ownchanges, using the 'Undo Check Out'command, or continue with your check inand overwrite the changes that have beencommitted to the repository since you lastupdated your local copy from therepository.You can use the 'File Properties'command to determine who checked inthe last changes to this Package. Thismight help you to discover what changeshave been uploaded and decide whosechanges take precedence.

UpdateBefore YouDisconnect

Whenever you are connected to theVersion Control server, you are alwaysworking with the latest version of aPackage. This is because you cannotmodify a Package until you check it outfrom Version Control, and checking it outloads the latest revision from therepository into your model.This cannot happen when you aredisconnected from the Version Controlserver. You are working on whateverversions you have on your machine,dating back to the last time you updatedyour local copy of each Version

(c) Sparx Systems 2020 Page 36 of 266

Page 37: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Controlled Package. So, if you areplanning to work on a model whilstdisconnected from Version Control, it is avery good idea to make sure that youhave the latest versions of all Packagesbefore you disconnect. The 'Get AllLatest' option makes this a simple task.

(c) Sparx Systems 2020 Page 37 of 266

Page 38: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Version Control Branching

Currently, Enterprise Architect does not support VersionControl Branching.

Work-arounds to achieve similar results might be possiblefor certain version-control products; contact Sparx Supportfor advice.

Contacts

User Type Contact via

Registeredusers

https://sparxsystems.com/registered/reg_support.html

Trial users [email protected]

(c) Sparx Systems 2020 Page 38 of 266

Page 39: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Version Control Product Setup

To control and maintain the different revisions of yourproject Packages, Enterprise Architect uses third-partyVersion Control products. Once your Version Controlproduct is installed and a suitable environment has beencreated, Enterprise Architect can use that environment tocontrol your project's Packages.

Typically, Version Control products consist of:

A server component·

A client component·

Enterprise Architect integrates with the Version Controlclient components for Subversion, CVS and MS TeamFoundation Server command line clients, as well as forproducts having API clients that comply with the MS SCCIspecification.

Version Control System Components

Component Detail

VersionControlServer

The server component maintains thecontrolled files in their many revisions, ina central repository.The server component is usually locatedon a server machine that is accessible toall team members who are using Version

(c) Sparx Systems 2020 Page 39 of 266

Page 40: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Control.

ServerConfiguration

The steps for configuring a VersionControl server are, broadly:

Install the software·

Create a repository·

Create Version Control projects (or·

modules or folders for use with specificprojects)Configure user IDs and passwords·

For details on configuring any particularVersion Control server, consult theappropriate documentation provided withthe Version Control product.

VersionControlClient

The client component manages theworking copies of the controlled files,submitting files to or retrieving files fromthe server as required.A Version Control client must beinstalled on every machine on which yourun Enterprise Architect and want toaccess your Version Control system.

ClientConfiguration

The steps for configuring a VersionControl client are, broadly:

Install the software·

Create a new directory for use as a·

(c) Sparx Systems 2020 Page 40 of 266

Page 41: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

local working copy folderLog in to the Version Control server·

Associate the working copy folder with·

its corresponding server repositoryfolder

For details on setting up aproduct-specific Version Controlenvironment for use with EnterpriseArchitect, click on the appropriate link inthe next column.

(c) Sparx Systems 2020 Page 41 of 266

Page 42: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

System Requirements

Enterprise Architect is a Windows-based application andrequires a Windows-based Version Control client forintegration. It is independent of the Version Control servercomponent and the platform on which that runs.

Version Control Product Requirements

Product Detail

Subversion Subversion is free, open source software.Subversion server components areavailable to run on a wide range ofdifferent hardware and operating systems.Enterprise Architect is not affected byyour choice of server components, butrequires Subversion's Windows-basedcommand line client for integration.There are many graphical user interfaceclients available for use with Subversion,such as TortoiseSVN; this type of clientcannot be used directly for integrationwith Enterprise Architect, but can be veryuseful in preparing a working Subversionenvironment for use by EnterpriseArchitect.

(c) Sparx Systems 2020 Page 42 of 266

Page 43: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Binary Packages are available fordownload from:

http://subversion.apache.org/packages.·

htmlSubversion documentation is availablefrom:

http://svnbook.red-bean.com/nightly/en·

/index.html

ConcurrentVersionsSystem(CVS)

CVS is free, open source software.CVS server components are available torun on a wide range of different hardwareand operating systems.Enterprise Architect is not affected byyour choice of server components, butrequires CVS's Windows-basedcommand line client for integration.There are many graphical user interfaceclients available for use with CVS, suchas TortoiseCVS; this type of client cannotbe used directly for integration withEnterprise Architect, but can be veryuseful in preparing a working CVSenvironment for use by EnterpriseArchitect.The software is available for downloadfrom:

http://www.nongnu.org/cvs/·

(c) Sparx Systems 2020 Page 43 of 266

Page 44: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

CVS documentation is available from:http://cvsbook.red-bean.com/cvsbook.h·

tml

MicrosoftTeamFoundationServer

Enterprise Architect is able to use eitherthe:

Command line client for TFS, or·

MS TFS-SCC client·

Your choice of client affects how youspecify your Version ControlConfiguration.MS TFS-SCC clients are available fordownload from Microsoft's web pages.(Run an Internet search for 'TFSMSSCCI'.)

CommonSource CodeControl(SCC)-compatible products

Any Version Control product thatprovides a client that complies with theMicrosoft Common Source Code Controlstandard, version 1.1 or higher, can beintegrated with Enterprise Architect.These products are SCC-compatible andare known to successfully integrate withEnterprise Architect:

Accurev·

ClearCase·

MS Visual Source Safe·

MS TFS-SCC·

(c) Sparx Systems 2020 Page 44 of 266

Page 45: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

MKS Source Integrity·

Perforce·

Source Offsite·

Snapshot CM·

Products that do not appear in this listshould still integrate successfully withEnterprise Architect, if there is a clientavailable for that product that complieswith the MS SCC API specification.

(c) Sparx Systems 2020 Page 45 of 266

Page 46: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Create a Subversion Environment

You can use Subversion as a Version Control provider forEnterprise Architect. The first step in doing this is for aSubversion administrator to install and configure theappropriate software. A number of basic tasks are performedin creating an operational Subversion environment, anduseful tools are available for performing some of thesetasks.

Tasks in Creating a Subversion Environment

Task Detail

Install servercomponents

Executable files for Subversion can beobtained from the Apache SoftwareFoundation.Subversion server components areavailable to run on a wide range ofdifferent hardware and operating systems;Enterprise Architect is not affected byyour choice of server components.VisualSVN is a package that can greatlysimplify the installation, configurationand management of your Subversionserver.

(c) Sparx Systems 2020 Page 46 of 266

Page 47: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Create arepository

Please consult the official Subversiondocumentation.

CreateSubversionusers

Please consult the official Subversiondocumentation.

Create a newrepositorysub-tree

It is good practice to create a newrepository sub-tree in Subversion for eachnew Enterprise Architect model beingadded to Version Control withSubversion. Users should create a newlocal working copy from the sub-tree tobe used with that model.TortoiseSVN can greatly simplify theprocess of creating new repositorysub-trees.

Install clientcomponents

Executable files for Subversion can beobtained from the Apache SoftwareFoundation.

Create aworking copyfolder

A working copy folder must exist on eachusers' machine, for Enterprise Architectto use when exporting and importing theVersion Controlled Package files. It isthis folder that is specified as the LocalProject Path, when defining your VersionControl Configurations.

(c) Sparx Systems 2020 Page 47 of 266

Page 48: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

The working copy folder is the 'sandbox'where you modify the controlled files.The working copy folder is usuallyassociated with a folder that exists withinthe Version Control repository. InSubversion, to create a local workingcopy you perform an initial check-out ofa folder from the Subversion repository;this downloads a copy of the folder andits contents, to create your local workingcopy.TortoiseSVN can greatly simplify theinitial check out of a working copyfolder.

Setting upSubversionunderWine/CrossOver

The process of setting up and usingSubversion with Enterprise Architectunder Wine is almost identical to theprocess when running natively underWindows, apart from minor differencesin installing the Subversion client andperforming the initial check out of theworking copy folder.

Notes

Enterprise Architect relies on exclusive file locking when·

(c) Sparx Systems 2020 Page 48 of 266

Page 49: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

applying Version Control to its Packages; file locking wasnot introduced into Subversion until version 1.2, thereforeEnterprise Architect does not work with Subversionreleases earlier than Subversion 1.2

Enterprise Architect can only communicate with the·

Subversion server using the Subversion command lineclient svn.exe

(c) Sparx Systems 2020 Page 49 of 266

Page 50: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Create a new Repository Sub-tree

When you set up Subversion as your Version Control tool, itis good practice to create a new repository sub-tree inSubversion for each new Enterprise Architect model. Thesub-tree can be used to control the Package files for yourmodel.

Create a new sub-tree in the SubversionRepository

Step

Action

1 Use Windows Explorer to create a temporarydirectory on your PC file system, to be imported intothe Subversion repository as a new repositorysub-tree. The directory would have this structure:

2 Open a Windows command prompt, navigate totempDir and issue the Subversion command import.For example: C:\Documents and Settings\user> cd \tempDir C:\tempDir> svn import .https://host.example.com:8443/repos/ --message "Repository Initialization"

(c) Sparx Systems 2020 Page 50 of 266

Page 51: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

3 On your PC, delete the temporary directory structure(tempDir) and all its contents.

Notes

After the import is finished, the original tree is not·

converted into a Subversion working copy; you shoulddelete the temporary structure and check out a freshworking copy of the tree

The process can also be performed using TortoiseSVN's·

Repository Browser, which provides commands forsimply creating new folders directly in the repository

(c) Sparx Systems 2020 Page 51 of 266

Page 52: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Create a Local Working Copy

In order to use Subversion to provide Version Control of thePackages in a model, you need to prepare a functional SVNworking copy folder that can be accessed through anEnterprise Architect Version Control configuration withinthat model.

Create a Subversion working copy folder

Step

Action

1 Choose or create a suitable directory on your systemin which to create your Subversion working copy.

2 Open a command prompt window and navigate tothe directory you have selected. For example: C:\> mkdir mySVNWorkSpace C:\> mkdirmySVNWorkSpace/myEAModelName C:\> cd mySVNWorkSpace/myEAModelName

3 Perform the initial check out from the Subversionrepository, specifying the repository folder and localworking copy folder, as well as your user name andpassword. For example:

(c) Sparx Systems 2020 Page 52 of 266

Page 53: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

C:\> svn checkout"https://myserver:8443/svn/repos_folder "C:\mySVNWorkSpace/myEAModelName" --username myUserName --password myPassword(By specifying your Subversion username andpassword, you ensure that they are correctly cachedby Subversion and available for use by EnterpriseArchitect.)If you specify the HTTPS protocol when performingthe initial Subversion check out, a prompt displays toaccept a security certificate; in this instance, pressthe P key to permanently accept the certificate.The nominated local folder is configured as aSubversion working copy folder.Any files already existing in the repository folder aredownloaded to the working copy folder as workingcopy files.

4 Verify that your Subversion environment functionscorrectly.

Notes

It is important that Subversion caches your username and·

(c) Sparx Systems 2020 Page 53 of 266

Page 54: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

password, so that it never has to prompt for user input; acheck-out operation might not request authentication, andif it does not you should perform an action that doesrequest authentication, such as adding and committing adummy test file

The process can also be performed using TortoiseSVN's·

Checkout command (which provides options to browsewhen specifying both your repository folder and yourlocal folder); when prompted for authentication details byTortoiseSVN, make sure you place a check against the'Save Authentication Data' option

(c) Sparx Systems 2020 Page 54 of 266

Page 55: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Verify the SVN Workspace

After creating the Subversion local working copy to hold theworking copies of your Package files, you can verify that itfunctions correctly before attempting to use it withEnterprise Architect. You need to be able to add files toSubversion, lock the files and commit changes to those files.

Verify correct operation of a Subversionworking copy folder

Step

Action

1 Use Windows to open a command prompt window.

2 Select the directory you specified as the workingcopy, in the Subversion checkout command whenpreparing the SVN workspace. For example: C:\> cd mySVNWorkSpace

3 Create a test file, such as Test.txt, containing the textSubversion Test. For example: C:\> echo Subversion Test > Test.txt

4 Execute each of these Subversion commands:

(c) Sparx Systems 2020 Page 55 of 266

Page 56: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

svn add Test.txt·

svn commit -m"Commit comment" Test.txt·

svn update Test.txt·

svn lock Test.txt·

Use your preferred editor to modify the file and·

save the changessvn commit -m"Second commit comment" Test.txt·

The commands should execute without any errorsand without prompting the user for any extra input.

Notes

Your environment must be set up such that you can·

perform these operations without ever being prompted foruser ID or password; for further information, please seethe Caching Client Credentials topic in the officialSubversion documentation

(c) Sparx Systems 2020 Page 56 of 266

Page 57: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Subversion Under Wine-Crossover

If you want to set up and use Subversion with EnterpriseArchitect under Wine, the process is almost identical to theprocess for setting up and using the systems underWindows. When running Enterprise Architect under Wineor CrossOver, you still use a Windows-based Subversioncommand line client.

There are some minor differences in the way you preparethe Subversion working environment, specifically in theway you install your Subversion client and the way youcheck out a working copy folder from the Subversionrepository.

System Requirements

Sparx Systems has tested the use of Enterprise Architectwith Subversion under Wine 1.2, on macOS 10.4 and10.6.2, and on Ubuntu 10.04. All tests were passed.

When using Wine 1.2 on the Ubuntu 9.10 platform, SparxSystems was able to use the svn: and file: protocols tocommunicate with the SVN server; but not the https:protocol.

Installing a Subversion Client

(c) Sparx Systems 2020 Page 57 of 266

Page 58: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Wine is able to install applications from either a Windows.exe file, or a .msi installer file.

Place the installer for your Windows Subversion client in aconvenient location on the native file system, then open aWine console window from within Enterprise Architect andrun the installer from within the Wine console. YourSubversion installation can then access the same C: driveand folders that Enterprise Architect is accessing.

(c) Sparx Systems 2020 Page 58 of 266

Page 59: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Preparing a Subversion EnvironmentUnder Wine

Under Wine, you can install Subversion from either aWindows .exe file, or a .msi file. By performing yourSubversion installation and initial check out from a Wineconsole window opened from within Enterprise Architect,you have access to the same C: drive and folders thatEnterprise Architect is accessing.

Set up Subversion for use with EnterpriseArchitect, running under Wine

Step

Action

1 Start Enterprise Architect.You do not have to load a project at this point.

2 From the 'Start' ribbon, select 'Desktop > Preferences> Toolbars...The 'Customize' dialog is opened.Select the 'Tools' tab, then click on the icon.A new, blank entry is opened on the 'Tools' tab ofthe 'Customize' dialog.

(c) Sparx Systems 2020 Page 59 of 266

Page 60: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

3 Define the new menu item entry:In the newly-opened 'Menu contents' field, type·

the name 'Wine Console'In the 'Command' field, type 'wineconsole'·

In the 'Arguments' field, type 'cmd'·

Leave the 'Initial directory' field blank·

4 Click on the Close button.The 'Customize' dialog closes.

5 Select the ribbon option: 'Configure > User Tools >Wine Console'.A Wine console window opens.

6 Type 'C:' and press the Enter key.The Wine console switches to the C: drive.

7 Issue the command to install your Subversion client.For example: C:\>/Installers/Subversion-client-1.9.5.win32.exeTo install from a .msi file, use Wine's msiexecutility. For example: C:\>msiexec /i"Installers\Slik-Subversion-1.9.7-win32.msi"Installation of the Subversion command line clientbegins.

(c) Sparx Systems 2020 Page 60 of 266

Page 61: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

8 Create a folder to serve as the working copy folder tobe used by Enterprise Architect. For example: C:\>mkdir C:\VC_workspaces\SVN_workcopy

9 Issue the command to perform the initial checkoutfrom the Subversion repository, specifying therepository folder, working copy folder, usernameand password. For example: C:\>svn checkout"https://myServer:8443/svn/repos_folder" "C:\VC_workspaces\SVN_workcopy " --username myUserName --password myPassword(After specifying your Subversion username andpassword, they are correctly cached by Subversionand are available for use by Enterprise Architect.)If the HTTPS protocol is specified when performingthe initial Subversion check out, you are prompted toaccept a security certificate; in this instance, pressthe P key to permanently accept the certificate.The nominated local folder is configured as aSubversion working copy folder. Any files alreadyexisting in the repository folder are downloaded tothe working copy folder as working copy files.

10 Type 'Exit' and press the Enter key.The Wine console window closes.You are now ready to load a project in Enterprise

(c) Sparx Systems 2020 Page 61 of 266

Page 62: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Architect and apply Version Control to it, using thenormal Windows-based procedures.

Notes

You should copy the installer for your Windows·

Subversion client to a convenient location on the nativefile system, so that you can easily refer to it from withinthe Wine console window in step 7

(c) Sparx Systems 2020 Page 62 of 266

Page 63: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

TortoiseSVN

TortoiseSVN is a Windows shell extension for Subversion;it provides icon overlays in Windows Explorer that areuseful as a tool for observing the status of your Subversioncontrolled files. You can also use it to create your repositorysub-trees and check out local working copies from withinWindows Explorer, using simple menu commands.

You can download TortoiseSVN fromhttp://tortoisesvn.net/downloads.html.

Notes

Enterprise Architect can only communicate with the·

Subversion server using the Subversion command lineclient svn.exe

(c) Sparx Systems 2020 Page 63 of 266

Page 64: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Create a TFS Environment

You can use Microsoft Team Foundation Server (TFS) as aVersion Control provider for Enterprise Architect. The firststep in doing this is for a TFS administrator to install andconfigure the TFS server and client applications. A numberof basic tasks are performed in creating an operational TFSenvironment.

Tasks in Creating a TFS Environment

Task Detail

Obtain andinstall TFS

Enterprise Architect uses the TFScommand line client to integrate TFSVersion Control.The TFS command line client is normallyavailable as part of your Visual Studioinstallation.

Choose aTFS project

It is good practice to create a new TFSproject, or least a new Source ControlFolder within a project, for eachEnterprise Architect project being addedto Version Control with TFS.If you have a single Enterprise Architectproject that contains many different

(c) Sparx Systems 2020 Page 64 of 266

Page 65: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

models (for example, a DBMS hostedproject with multiple model root nodes),you might choose to create a new TFSproject for each separate model.For further information, please consultyour TFS product documentation.

Create a TFSworkspace

A working copy folder must exist on eachusers' machine, for Enterprise Architectto use when exporting and importing theVersion Controlled Package files. It isthis folder that is specified as the LocalProject Path, when defining your VersionControl Configurations.The working copy folder is the 'sandbox'where you modify the controlled files.The working copy folder is usuallyassociated with a folder that exists withinthe Version Control repository. In TFS,the TFS workspace is used to map a localworking folder on your PC to a SourceControl Folder within a TFS project.TFS 2012 and VS 2012 (and laterversions) feature a new type ofworkspace called 'local' workspaces. Donot attempt to use TFS 'local' workspaceswith Enterprise Architect. You must useonly 'server' workspaces for EnterpriseArchitect Version Control, as 'local'

(c) Sparx Systems 2020 Page 65 of 266

Page 66: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

workspaces do not support theapplication of checkout locks to files.Enterprise Architect relies on thepresence of checkout locks to ensure thatPackages can only be checked outexclusively and that a given Package isnot already checked-out in some otherproject (for instance, in a Private Modeldeployment). This is necessary because itis not practical to merge the XMIPackage files that Enterprise Architectuses for Version Control.A single TFS workspace can map manydifferent local folders, each one to aseparate Source Control Folder. In thiscase, TFS can take a long time to workthrough and update the files in all ofthose folders, and the system mightappear to 'freeze' whilst it waits for TFSto hand back program control.You can avoid this if you keep yourVersion Controlled Package files in afolder that is separate from otherArtifacts, such as source code files,creating a separate work space to use justfor your Package files, or creating andmapping a separate folder for Packagefiles within an existing workspace.

(c) Sparx Systems 2020 Page 66 of 266

Page 67: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Configureexclusivecheck-outs

The XMI format files used for theVersion Control of Enterprise Architect'sPackages can not be merged as if theywere ordinary text files. Therefore,Enterprise Architect must enforceserialized editing of its VersionControlled Packages. As a consequence,it is important that TFS is configured touse 'exclusive checkouts' for XML files.

Verify theTFSWorkspace

Enterprise Architect uses the TFScommand line client to checkin andcheckout files from the TFS repository.After creating the TFS workspace, it isimportant to verify that the command lineclient can be used to add, check-in andcheck-out files residing in the workingcopy folder that is mapped through thisworkspace.

Notes

TFS can also be used with an SCC client; the MS·

TFS-SCC client is available for download fromMicrosoft's web site

MDG Integration for Visual Studio 2005 or 2008·

(c) Sparx Systems 2020 Page 67 of 266

Page 68: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

enhances TFS support by providing access to, forexample, work items and bugs within both EnterpriseArchitect and the MDG Integration product

(c) Sparx Systems 2020 Page 68 of 266

Page 69: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

TFS Workspaces

In order to use TFS to provide Version Control of thePackages in a model, you prepare a functional TFSworkspace that can be accessed through an EnterpriseArchitect Version Control configuration within that model.You use the TFS workspace to map a local working folderon your PC to a Source Control Folder within a TFS projectrepository.

It is assumed that have TFS 2013 open and a TFS TeamProject already exists for you to use in Version Control ofthe Packages of your Enterprise Architect project. You cancreate the TFS workspace through MS Visual Studio.

TFS 2013 and later versions support the use of Localworkspaces. However, Local workspaces do not support theapplication of checkout locks. For this reason, SparxSystems strongly advises against the use of Localworkspaces when Version Controlling your EnterpriseArchitect Package files. Using Local workspaces carries ahigh risk of merge conflicts when checking in, which wouldalmost certainly result in loss of data or a corrupted modeldatabase.

Map a local folder to a TFS Source ControlFolder

Ste Action

(c) Sparx Systems 2020 Page 69 of 266

Page 70: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

p

1 Connect to your TFS server.From the TFS main menu, choose 'View | TeamExplorer'.In the Team Explorer toolbar, click on the Connectto Team Projects button (fourth from left, with apower plug icon).The 'Team Explorer Connect' page displays.

2 Click on the link 'Select Team Projects...'The 'Connect to Team Foundation Server' dialogdisplays.

3 Click on the appropriate Team Foundation Server,Team Project Collection and Team Project, thenclick on the Connect button.

4 Click on the Home page of the Team Explorer, andthen on the Source Control Explorer button.The Source Control Explorer view displays.

5 In the Source Control Explorer, click on thedrop-down arrow in the 'Workspace' field in thetoolbar, then click on 'Workspaces' at the bottom ofthe list.The 'Manage Workspaces' dialog displays.

(c) Sparx Systems 2020 Page 70 of 266

Page 71: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

6 Click on the Add button.The 'Add Workspace' dialog displays.

7 Click on the Advanced button.A number of new fields display on the dialog.

8 Type in an appropriate name for the new workspaceand, if required, type in a comment.

9 Set the 'Location' field to 'Server'. This setting isimportant.This setting is not available in TFS 2010 and earlierreleases, where all workspaces are Server based.

10 Click in the Source Control Folder column, thenclick on the Browse button to select a SourceControl Folder.Select the Source Control folder (in the TeamProject) to use for controlling Enterprise ArchitectPackages.

11 Click on the Browse button in the 'Local Folder'column and create a new local folder.This is the working copy folder into whichEnterprise Architect exports the Package files.

12 Click on the OK button.The new workspace is created and saved.

(c) Sparx Systems 2020 Page 71 of 266

Page 72: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

The 'Add Workspace' dialog closes.

13 Click on the OK button.The 'Manage Workspaces' dialog closes.

Notes

The local folder referenced in step 11 is the Working·

Copy Path that should be specified when defining anEnterprise Architect Version Control Configuration to usethis TFS workspace

(c) Sparx Systems 2020 Page 72 of 266

Page 73: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

TFS Exclusive Check Outs

The XMI format files used for the Version Control ofEnterprise Architect's Packages can not be merged asordinary text files can. Therefore Enterprise Architect mustenforce serialized editing of its Version ControlledPackages, and it is important that Team Foundation Serveris configured to use 'exclusive checkouts' for XML files.Otherwise, TFS can return file statuses that make it look asif the Package file is not checked-out by another user whenindeed it is.

You set exclusive checkouts in the TFS workspace throughMS Visual Studio.

Configure TFS to enforce exclusive checkouts for XML files

Step

Action

1 Using Visual Studio, from the main menu select'View | Team Explorer'.

2 In the 'Team Explorer' pane, right-click on the TFSServer name that is controlling the EnterpriseArchitect Package files, then from the context menuselect 'Team Foundation Server Settings | Source

(c) Sparx Systems 2020 Page 73 of 266

Page 74: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Control File Types'.

3 Select the entry for XML files (or create an entry ifnecessary) then click on the Edit button.

4 Deselect the 'Enable file merging and multiple checkout' checkbox.

(c) Sparx Systems 2020 Page 74 of 266

Page 75: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Verify the TFS Workspace

Enterprise Architect will be using the TFS command lineclient to commit file updates from the local working copyfolder into the TFS repository. After creating the TFSworkspace that maps your local working copy folder to aTFS repository folder, it is good practice to verify that theTFS workspace functions correctly before attempting to useit with Enterprise Architect. You need to be able to add filesto TFS, place a check-out lock on the files and check-inchanges to those files.

Verify correct operation of a TFS Workspace

Step

Action

1 Use Windows to open a command prompt window.

2 Select the directory you specified as the localworking copy folder when creating the TFSworkspace.For example: C:\> cd myTFSWorkingCopyFolder

3 Create a test file, such as Test.xml, containing thetext 'my TFS Test'. For example:

(c) Sparx Systems 2020 Page 75 of 266

Page 76: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

C:\> echo my TFS Test > Test.xml(The filename extension '.xml' is used because theTFS server should have been configured to allowexclusive checkouts for XML files.)

4 Using the command line client, execute each of theseTFS commands:

tf.exe add Test.xml·

tf.exe checkin Test.xml /override:"Manual check·

in." /comment:"a message"tf.exe checkout /lock:checkout Test.xml·

Use your preferred editor to modify the file and savethe changes.

tf.exe checkin Test.xml /override:"Manual check·

in." /comment:"a message"tf.exe get . /recursive·

Notes

All of the commands in step 4 should execute without any·

errors; in particular, you should be able to apply acheckout lock when checking out the file

If the checkout command reports any errors, you might·

have to reconfigure the TFS workspace as a server basedworkspace, or you might have to configure the TFS

(c) Sparx Systems 2020 Page 76 of 266

Page 77: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Server to use 'exclusive checkouts' for XML files

(c) Sparx Systems 2020 Page 77 of 266

Page 78: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Create a CVS Environment

You can use Concurrent Versions System (CVS) as aVersion Control provider for Enterprise Architect. The firststep in doing this is for a CVS administrator to install andconfigure the appropriate software. A number of basic tasksare performed in creating an operational CVS environment,and useful tools are available for performing some of thesetasks.

Tasks in Creating a CVS Environment

Task Detail

Install servercomponents

Executable files for CVS can be obtainedfrom March Hare Software.CVS server components are available torun on a wide range of different hardwareand operating systems; EnterpriseArchitect is not affected by your choiceof server components.

Create arepository

Please consult the official CVSdocumentation.

Create CVSusers

Please consult the official CVSdocumentation.

(c) Sparx Systems 2020 Page 78 of 266

Page 79: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Create a newrepositorymodule

It is recommended good practice to createa new repository module in CVS for eachnew Enterprise Architect model beingadded to Version Control with CVS.Users should create a new local workingcopy folder from the module to be usedwith that model.A repository module represents a project,or a set of related files in the repository.TortoiseCVS can greatly simplify theprocess of creating new repositorysub-trees.

Install clientcomponents

Executable files for CVS can be obtainedfrom March Hare Software.Enterprise Architect is a Windows basedapplication - it requires a Windows basedCVS command line client for integration.

Create aworking copyfolder

A working copy folder must exist on eachusers' machine, for Enterprise Architectto use when exporting and importing theVersion Controlled Package files. It isthis folder that is specified as the LocalProject Path, when defining your VersionControl Configurations.The working copy folder is the 'sandbox'where you modify the controlled files.

(c) Sparx Systems 2020 Page 79 of 266

Page 80: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

The working copy folder is usuallyassociated with a folder that exists withinthe Version Control repository. In CVS,to create a local working copy youperform an initial check-out of a folderfrom the CVS repository; this downloadsa copy of the folder and its contents, tocreate your local working copy.TortoiseCVS can greatly simplify theinitial check out of a working copyfolder.

Setting upCVS underWine/CrossOver

The process of setting up and using CVSwith Enterprise Architect under Wine isalmost identical to the process whenrunning natively under Windows, apartfrom minor differences in installing theCVS client and performing the initialcheckout of the working copy folder.

Notes

If you do not already use CVS for Version Control, you·

should consider using Subversion instead; Subversion'sclient-server protocols provide a broader range ofpossibilities for connecting to remote servers, with easierset up of secure connections

(c) Sparx Systems 2020 Page 80 of 266

Page 81: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

TortoiseCVS is a Windows shell extension; Enterprise·

Architect cannot use TortoiseCVS as its client, it must usethe CVS command line client

(c) Sparx Systems 2020 Page 81 of 266

Page 82: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Prepare a CVS Local Workspace

In order to use CVS to provide Version Control of thePackages in a model, you need to prepare a functional CVSworking copy folder that can be accessed through anEnterprise Architect Version Control configuration withinthat model.

Prepare a CVS Working Copy Folder

Step

Action

1 Ask your System Administrator to install CVS andcreate a remote repository, with a module that youcan use to control your Enterprise Architect Packagefiles.Your administrator must create a username andpassword for you before you can make a connection.

2 Select or create a suitable directory to use as yourCVS working copy directory.

3 Open a command prompt window and navigate toyour CVS working copy directory. For example: C:\> mkdir myCVSWorkSpace C:\> cd myCVSWorkSpace

(c) Sparx Systems 2020 Page 82 of 266

Page 83: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

4 Log in to the remote CVS repository. For example: C:\myCVSWorkSpace> cvs-d:pserver:myUserID@ServerName:/reposPath loginReplace myUserID with your CVS username,replace ServerName with the name of your CVSserver and replace reposPath with the path to therepository on the server.A prompt for a password displays.

5 Enter your password.You are logged in to the CVS server.

6 Perform the initial checkout of the CVS repositorymodule, into the local working copy directory. Forexample: C:\myCVSWorkSpace> cvs-d:pserver:myUserID@ServerName:/reposPathcheckout moduleName(Replace moduleName with the name of therepository module that you want to check out.)A subdirectory is created in your current workingdirectory, with the same name as the module beingchecked out.Any files already existing in the repository moduleare downloaded to the working copy folder asworking copy files.

(c) Sparx Systems 2020 Page 83 of 266

Page 84: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

7 Verify that your CVS environment functionscorrectly.

Notes

Much of the process can also be performed (more simply)·

using the TortoiseCVS command 'Make New Module'

(c) Sparx Systems 2020 Page 84 of 266

Page 85: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Verify the CVS Workspace

After creating the CVS local working copy to hold theworking copies of your Package files, you can verify that itfunctions correctly before attempting to use it withEnterprise Architect. You need to be able to add files toCVS, and commit changes to those files. You also need tobe able to register as an editor of the file and retrieve the listof currently registered editors.

Verify correct operation of a CVS workingcopy folder

Step

Action

1 Use Windows to open a command prompt window.

2 Select the directory you specified as the workingcopy in the cvs checkout command, when preparingthe CVS workspace. For example: C:\> cd myCVSWorkSpace

3 Create a test file, such as Test.txt, containing the textCVS Test. For example: C:\> echo CVS Test > Test.txt

(c) Sparx Systems 2020 Page 85 of 266

Page 86: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

4 Execute these CVS commands:cvs add Test.txt·

cvs commit -m"Commit comment" Test.txt·

cvs update Test.txt·

cvs edit Test.txt·

cvs editors Test.txt·

The commands should execute without any errorsand without prompting the user for any extra input.The editors command should produce output thatresembles this: Test1.txt myUserID Tue Aug 9 10:08:43 2009GMT myComputer C:\myCVSWorkSpace\moduleName

5 Take note of the userID that follows the filename.Enterprise Architect must find and use this user IDwhen you create your Version Control configuration.

Notes

Your environment must be set up such that you can·

perform these operations without ever being prompted forinput, such as user ID or password

(c) Sparx Systems 2020 Page 86 of 266

Page 87: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

TortoiseCVS

TortoiseCVS is a Windows shell extension for CVS; itprovides icon overlays in Windows Explorer that are usefulas a tool for observing the status of your CVS controlledfiles. You can also use it to create your repository modulesand check out local working copies from within WindowsExplorer using simple menu commands.

You can download TortoiseCVS from:http://www.tortoisecvs.org.

Notes

Enterprise Architect must use the CVS command line·

client to communicate with the CVS server; it cannot useTortoiseCVS

(c) Sparx Systems 2020 Page 87 of 266

Page 88: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Create an SCC Environment

You can use a Microsoft Common Source Code Control(SCC) compatible product as a Version Control provider forEnterprise Architect. The first step in doing this is for anadministrator to install and configure the server and clientapplications. A number of basic tasks are performed increating an operational SCC-based environment.

Tasks in Creating an SCC Environment

Task Detail

Install andconfigureyour chosenVersionControlproduct

A Version Control server component istypically installed on a dedicated servermachine. All Enterprise Architect userswho require access to Version Controlmust be able to connect to the servermachine.After installing the Version Controlsoftware, the administrator should alsocreate Version Control user IDs for allusers who require access to VersionControl.For further information, consult theproduct documentation for your particularVersion Control product.

(c) Sparx Systems 2020 Page 88 of 266

Page 89: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Create a newSCC project

It is good practice to create a new SCCVersion Control project, or least a newfolder within a project, for eachEnterprise Architect project being addedto Version Control with SCC.If you have a single Enterprise Architectproject that contains many differentmodels (for example, a DBMS hostedproject with multiple model root nodes),you might choose to create a new SCCVersion Control project for each separatemodel.For further information, consult theproduct documentation for your particularVersion Control product.

Configureyour SCCproject tosupportexclusivecheck-outsfor .XMLfiles

The XMI-format files used for theVersion Control of Enterprise ArchitectPackages can not be merged in the sameway as ordinary text files can. Therefore,Enterprise Architect must enforceserialized editing of its VersionControlled Packages. As a consequence,it is important that your Version Controlapplication is configured to use 'exclusivecheckouts' for XML files.

Create a local A working copy folder must exist on each

(c) Sparx Systems 2020 Page 89 of 266

Page 90: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

working copyfolder

users' machine, for Enterprise Architectto use when exporting and importing theVersion Controlled Package files. It isthis folder that is specified as the LocalProject Path, when defining your VersionControl Configurations.The working copy folder is the 'sandbox'where you modify the controlled files.The working copy folder is usuallyassociated with a folder that exists withinthe Version Control repository. YourVersion Control product provides somemeans by which you associate a workingcopy folder with a repository folder.For further information, consult thedocumentation for your particularVersion Control product.

Notes

When installing the client component software on users'·

PCs, check that the SCC client is also installed, as it mightnot be a part of the default installation

(c) Sparx Systems 2020 Page 90 of 266

Page 91: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Upgrade at Enterprise ArchitectVersion 4.5, Under SCC Version Control

If you are working in Enterprise Architect release 4.5 orlater and you open an SCC Version Controlled project thatwas created under a release earlier than 4.5, you mustidentify the SCC connection with a new unique ID. You canassign a name to the existing SCC configuration or associatethe project with another configuration that has previouslybeen assigned a unique ID.

By having a unique ID for each Version Controlconfiguration, you can assign a configuration quickly andefficiently using configurations that have been createdpreviously for other Version Controlled repositories. Thisenables you to configure the many Packages to use anexisting Version Control repository; this can apply toPackages created for more than just one model enabling agreat deal of flexibility.

Upgrade an existing SCC Version Controlledproject created before release 4.5, inEnterprise Architect release 4.5 or later

Step

Action

(c) Sparx Systems 2020 Page 91 of 266

Page 92: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

1 Open the project that has an SCC Version Controlconfiguration created in Enterprise Architect earlierthan version 4.5.The 'Select or Create Unique ID for Version Control'dialog automatically displays.

2 On the dialog, either create an ID for an existingconfiguration or choose a previously created onefrom the 'Unique ID' drop-down list.

3 The existing SCC configuration is the initial value,represented by SCC-XXXXX; this number is notespecially meaningful, therefore it is recommendedthat the configuration be given a meaningful name.

4 You can associate the Version Controlled Packagewith a previously-defined configuration by selectingan existing configuration from the 'Unique ID'drop-down list (if one exists).

5 After you have assigned the unique ID, click on theOK button to load the model.

(c) Sparx Systems 2020 Page 92 of 266

Page 93: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Version Control Setup

Once you or an Administrator have installed and configuredthe Version Control product software, to start using VersionControl you must first define a Version Controlconfiguration within your project in Enterprise Architect, tobe used to control the Packages in the project. You candefine any number of Version Control configurations in asingle model, but any given Package is associated with onlyone configuration.

Access

Ribbon Configure > Version Control >Project-VC

ContextMenu

Right-click on Package > PackageControl > Version Control Settings

Define Version Control Configuration

Step

Action

(c) Sparx Systems 2020 Page 93 of 266

Page 94: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

1 On the 'Version Control Settings' dialog, click on theNew button.

2 In the 'Unique ID' field, type a suitable configurationname.

3 Select the Type of Version Control product you areconnecting to, by clicking on the correspondingradio button.

4 At this point, the middle section of the dialogchanges to display a collection of fields specific tothe type of Version Control configuration you aredefining.Enter details relating to the Version Controlworkspace that this configuration is to use.

5 Click on the Save button. The new configuration isadded to the Defined Configurations list.

6 If you want to create another Version Controlconfiguration, return to step 1.When you have finished defining your VersionControl configurations, click on the Close button.

(c) Sparx Systems 2020 Page 94 of 266

Page 95: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Notes

Version Control Configuration details are stored in the·

user's Windows Registry settings, but each project stores alist of the configurations it uses, so that Version Controlconnections can be initialized as the project is beingloaded

If you are using the Corporate or extended editions of·

Enterprise Architect with security enabled, theadministrator must also set up access permissions toconfigure and use Version Control

(c) Sparx Systems 2020 Page 95 of 266

Page 96: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Re-use an Existing Configuration

Once a Version Control configuration has been defined foruse in one project, it is possible to re-use that configurationin other projects to provide access to:

An already existing Version Control environment (a·

working copy directory and its associated repository thatis already in use)

Version Controlled Packages that were created (and·

Version Controlled) in another project

Access

Ribbon Configure > Version Control >Project-VC

ContextMenu

Browser window | right-click on Package| Package Control | Version ControlSettings

Select existing configuration

Ste Action

(c) Sparx Systems 2020 Page 96 of 266

Page 97: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

p

1 On the 'Version Control Settings' dialog, click on theNew button.The various fields on the dialog are cleared, readyfor data entry.

2 In the 'Unique ID' field, click on the drop-downarrow and select one of the previously-definedVersion Control configurations.The details of the selected configuration aredisplayed in the dialog.

3 Click on the Save button.The configuration details are saved and are ready foruse in the current project.

(c) Sparx Systems 2020 Page 97 of 266

Page 98: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Version Control Settings

Defining Version Control settings within EnterpriseArchitect should only be performed after you havesuccessfully created the Version Control environment thatyou intend to use to control your Package files. If you havenot yet done so, please refer to the Help topic ApplyingVersion Control in a Team Environment for a summary ofwhat is required.

To set up a Version Control configuration on your model, orupdate an existing Version Control configuration, youdefine a number of settings that control how the status ofyour model is communicated to your Version Controlsystem. You define these settings using the 'Version ControlSettings' dialog.

Access

Ribbon Configure > Version Control >Project-VC

ContextMenu

Right-click on Package > PackageControl > Version Control Settings

(c) Sparx Systems 2020 Page 98 of 266

Page 99: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Configuration Options

Option Action

This model isprivate

Select to specify that this model databaseis to be accessed by just a single user(Private Model).Leave unselected (the default) or deselectto specify that the database is to beaccessed by multiple concurrent users(Shared Model).If in doubt, use the default setting.

Save nestedVersionControlledPackages tostubs only

Select to specify that the exported XMIfile for a Version Controlled Package willcontain Package stubs (place holders) fornested Version Controlled child Packages(recommended).Deselect to specify that the exported XMIfile will contain the full content of nestedVersion Controlled child Packages.

For allPackages,createplaceholdersfor externalreferences

Select to force all XMI 1.1 imports acrossthe model to exclude incomingrelationships and instead create externalreferences.If the 'Create placeholders for missingExternal References during XMI 1.1/2.1

(c) Sparx Systems 2020 Page 99 of 266

Page 100: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Import' checkbox is not selected in theXML Specifications options for a user,this field overrides that setting.

Unique ID Specify a name that uniquely identifiesthe configuration. Either:

Type a name to identify a new·

configuration, orClick on the drop-down arrow and·

select the name of a configurationpreviously defined in a different project(if any exist)

Type Click on the appropriate radio button forthe type of Version Control system youare associating with this configuration.The middle section of the dialog changesto display a collection of fields relating tothe type of Version Control configurationyou are defining.Set the type to SCC for:

MS Visual Source Safe·

Rational Clear Case·

Perforce·

AccuRev·

Any other SCC-compatible clients·

For any other product that you are using,select the type that matches the product -

(c) Sparx Systems 2020 Page 100 of 266

Page 101: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

CVS, Subversion or TFS.

New Click on this button to clear the fields andcreate a new Version Controlconfiguration.

Save Click on this button to save the details ofa new or updated configuration.

Delete Click on an entry in the DefinedConfigurations list and click this buttonto remove the definition of the selectedconfiguration from this model.

DefinedConfigurations

Review a list of configurations that are inuse in the current model.

In future, donot promptforincompleteconfigurations

Select to specify that the user is notprompted to complete the definition ofconfigurations that are not fully specified(the default).Deselect to prompt the user to completeconfigurations that are not fully defined.

Close Close the 'Version Control Settings'dialog.

Help Display this Help topic.

(c) Sparx Systems 2020 Page 101 of 266

Page 102: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Notes

It is important that, for any given Version Controlled·

Package file, any user accessing that file from any modeluses Version Control configurations having the sameUnique ID

When you first open a model that was created by another·

user and that uses Version Control, the Version Controlconfiguration(s) used by that model do not yet exist inyour Windows registry settings; you have to complete thedefinitions of those configurations before you can useVersion Control in that project

If User Security is enabled, you must have 'Configure·

Version Control' permission to set up Version Controloptions for the current model

It is possible to use multiple Version Control·

configurations in the same model

(c) Sparx Systems 2020 Page 102 of 266

Page 103: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

SCC Settings

When you are setting up your Version Controlconfigurations on the 'Version Control Settings' dialog, andyou set the configuration type to 'SCC', the dialog presents aset of fields specific to SCC-based configurations. You canthen define details such as:

The working copy folder to be used with the configuration·

The details necessary to connect to the SCC Version·

Control system

You set the Version Control configuration type to SCC forversion Control providers such as:

MS Visual Source Safe·

Rational Clear Case·

Perforce·

AccuRev·

Any other SCC-compatible clients·

Access

Ribbon Configure > Version Control >Project-VC : Type: SCC

ContextMenu

Right-click on Package > PackageControl > Version Control Settings:

(c) Sparx Systems 2020 Page 103 of 266

Page 104: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Type: SCC

Settings

Option Action

Local ProjectPath

Displays the full path of the folder thatcontains the local (working) copies of theXMI Package files.This field is read-only; its value can onlybe set through use of the Select Pathbutton.

Select Path Click on this button to choose the LocalProject Path, by opening a file browserdialog and navigating through the filesystem to the appropriate folder.

After you choose the appropriate folder·

path, the 'Select SCC Provider' dialogdisplays, listing all SCC providers thatare installed on the current workstation;choose the SCC provider to use andclick on the OK buttonAt this point, the SCC client opens its·

own dialog to prompt you forinformation; SCC products implement

(c) Sparx Systems 2020 Page 104 of 266

Page 105: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

this functionality in varied ways, buttypically you are prompted to log in tothe Version Control system, thenprompted to choose the SCC project touse and possibly a (server) foldercontained within that projectAt the conclusion of this process, all of·

the SCC details should be filled in; youcan then save the definition by clickingon the Save button on the 'VersionControl Settings' dialog

Current User Displays the user name used to log on tothe Version Control system that isaccessed through this configuration.This field is read-only; the value itdisplays is retrieved from the SCC client.

SCCProvider

Displays the name of the SCC provider.This field is read-only; the value itdisplays is retrieved from the SCC client.

SCC Project Displays the name of the SCC Projectthat this configuration attaches to.This field is read-only; the value itdisplays is retrieved from the SCC client.

(c) Sparx Systems 2020 Page 105 of 266

Page 106: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Notes

You define the SCC-specific details as part of the broader·

process of setting up a Version Control Configuration onthe 'Version Control Settings' dialog

(c) Sparx Systems 2020 Page 106 of 266

Page 107: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

CVS Settings

When you are setting up your Version Controlconfigurations on the 'Version Control Settings' dialog, andyou set the configuration type to CVS, the dialog presents aset of fields specific to CVS-based configurations. You canthen define details such as:

The working copy folder to be used with the configuration·

The path to the CVS command line client·

Access

Ribbon Configure > Version Control >Project-VC : Type: CVS

ContextMenu

Right-click on Package > PackageControl > Version Control Settings:Type: CVS

Settings

Option Action

(c) Sparx Systems 2020 Page 107 of 266

Page 108: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

WorkingCopy Path

Displays the full path of the folder thatcontains the local (working) copies of theXMI Package files.This field is read-only; its value can onlybe set through use of the Select Pathbutton.

Select Path Click on this button to choose theworking copy path, by opening a filebrowser dialog and navigating throughthe file system to the appropriate folder.

Current User This field is read-only; its value isretrieved from a file named CVS\Root,located in the folder selected using theSelect Path button.

CVS ExePath

Displays the full path of the CVScommand line client executable file.This field is read-only; its value can onlybe set through use of the Select Pathbutton.

Select Path Click on this button to specify the path tothe CVS command line client, by openinga file browser dialog and navigatingthrough the file system to locate theappropriate file.

(c) Sparx Systems 2020 Page 108 of 266

Page 109: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

VCTime-OutValue

Specify the amount of time thatEnterprise Architect waits for a CVScommand to complete; if the commanddoes not complete within the allowedtime, the system displays a Time-outerror message, detailing the commandthat failed to complete.This single time-out value is applied toall Version Control Configurations (oftypes SVN, TFS and CVS) that the useraccesses from this workstation.

Notes

When connecting to a remote CVS repository, the·

'Current User' field should display the user name used tolog into that repository; if this does not happen, itindicates that Enterprise Architect cannot extract the username from the file ...\WorkingCopyPath\CVS\Root andthe configuration does not work correctly

You define the CVS-specific details as part of the broader·

process of setting up a Version Control configuration onthe 'Version Control Settings' dialog

(c) Sparx Systems 2020 Page 109 of 266

Page 110: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

SVN Settings

When you are setting up your Version Controlconfigurations on the 'Version Control Settings' dialog, andyou set the configuration type to 'Subversion', the dialogpresents a set of fields specific to Subversion-basedconfigurations. You can then define details such as:

The working copy folder to be used with the configuration·

The path to the Subversion command line client·

Access

Ribbon Configure > Version Control >Project-VC : Type: Subversion

ContextMenu

Right-click on Package > PackageControl > Version Control Settings:Type: Subversion

Settings

Option Action

(c) Sparx Systems 2020 Page 110 of 266

Page 111: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

WorkingCopy Path

Displays the full path of the folder thatcontains the local (working) copies of theXMI Package files.This field is read-only; its value can onlybe set through use of the Select Pathbutton.

Select Path Click on this button to choose theWorking Copy Path, by opening a filebrowser dialog and navigating throughthe file system to the appropriate folder.

SubversionExe Path

Displays the full path of the Subversioncommand line client executable file.This field is read-only; its value can onlybe set through use of the associatedSelect Path button.

Select Path Click on this button to specify the path tothe Subversion command line client, byopening a file browser dialog andnavigating through the file system tolocate the appropriate file.

VCTime-OutValue

Specify the amount of time thatEnterprise Architect should wait for aSubversion command to complete; if thecommand does not complete within theallowed time, the system displays a

(c) Sparx Systems 2020 Page 111 of 266

Page 112: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Time-out error message, detailing thecommand that failed to complete.This single time-out value is applied toall Version Control Configurations (oftypes SVN, TFS and CVS) that the useraccesses from this workstation.

Notes

You define the Subversion-specific details as part of the·

broader process of setting up a Version Controlconfiguration on the 'Version Control Settings' dialog

(c) Sparx Systems 2020 Page 112 of 266

Page 113: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

TFS Settings

When you are setting up your Version Controlconfigurations on the 'Version Control Settings' dialog, andyou set the configuration type to 'TFS', the dialog presents aset of fields specific to TFS-based configurations. You canthen define details such as:

The working copy folder to be used with the configuration·

The user name and password to log in to the TFS server·

The path to the TFS command line client·

Access

Ribbon Configure > Version Control >Project-VC: Type: TFS

ContextMenu

Right-click on Package > PackageControl > Version Control Settings:Type: TFS

Settings

Option Action

(c) Sparx Systems 2020 Page 113 of 266

Page 114: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

WorkingCopy Path

Displays the full path of the folder thatcontains the local (working) copies of theXMI Package files.This field is read-only; its value can onlybe set through use of the associatedSelect Path button.

Select Path Click on this button to choose theWorking Copy Path. The file browserdialog opens, through which you navigatethrough the file system to the appropriatefolder.

Server Name Displays the name of the TFS Server thatis associated with the working copyfolder specified in the 'Working CopyPath' field.This field is read-only; EnterpriseArchitect retrieves the value it displaysby querying the TFS client.

WorkspaceName

Displays the name of the TFS Workspacethat is associated with the working copyfolder specified in the 'Working CopyPath' field.This field is read-only; EnterpriseArchitect retrieves the value it displaysby querying the TFS client.

(c) Sparx Systems 2020 Page 114 of 266

Page 115: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

User Name Type in the user name with which to loginto the TFS Server.

Password Type in the password with which to loginto the TFS Server.

DisplayName

TFS 2013 and later releases use a DisplayName to report on who owns a checkoutlock on a file. TFS 2010 uses AccountIDwhen reporting lock owners and so doesnot require a Display Name.If using TFS 2013, type in your TFSDisplay Name as shown in the Usercolumn of the Visual Studio SourceControl Explorer when you checkout afile.

CheckoutLocksRequired

This checkbox defaults to selected.TFS 2013 supports the use of Localworkspaces, but these do not supportcheckout locks. If you want to use TFSLocal workspaces (not recommended),you must deselect this checkbox.Otherwise, leave the checkbox selected.It is recommended that all workspacesused for Version Controlling EnterpriseArchitect Package files are set as 'Server'workspaces.

(c) Sparx Systems 2020 Page 115 of 266

Page 116: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

TFS Exe Path Displays the full path of the TFScommand line client executable file.This field is read-only; its value can onlybe set through use of the associatedSelect Path button.

Select Path Click on this button to specify the path tothe TFS command line client.The file browser dialog opens, throughwhich you navigate through the filesystem to the appropriate folder.

VCTime-OutValue

Type in the number of seconds thatEnterprise Architect should wait for aTFS command to complete; if acommand does not complete within thisallowed time, the system displays aTime-out error message, detailing thecommand that failed to complete.This single time-out value is applied toall Version Control configurations (oftypes SVN, TFS and CVS) that the useraccesses from this workstation.

Notes

(c) Sparx Systems 2020 Page 116 of 266

Page 117: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

If you automatically log in to TFS through a path external·

to Enterprise Architect (for example, through MSIntegrated Security), you can leave the 'User Name' and'Password' fields blank

If the 'Password' field is blank, Enterprise Architect·

retrieves your Windows username and uses that valuewhen determining whether a Package file is checked outto you or to another user

TFS Version Control can also be accessed using the TFS·

MSSCCI client; to make use of the TFS MSSCCI client,please define an SCC based Version Controlconfiguration

You define the TFS-specific details as part of the broader·

process of setting up a Version Control configuration onthe 'Version Control Settings' dialog

(c) Sparx Systems 2020 Page 117 of 266

Page 118: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Use Version Control

Once your Version Control product is installed and youhave created a suitable environment, Enterprise Architectcan make use of that environment to control the Packages inyour project. Version Control provides a range of facilities,as outlined in this table.

Facilities

Facility Detail

DefineVersionControlSettings

Version Control Configurations are usedby Enterprise Architect to communicatewith your Version Control system.You define one or more Version Controlconfigurations in your project and thenuse those configurations to control thePackages in your project.

Configure aPackage

To put a Package under Version Controlyou mark the Package as a controlledPackage, specify the Version Controlconfiguration to control it, and associatean XMI file with the Package.

Check In a Checks in all Packages involved in a

(c) Sparx Systems 2020 Page 118 of 266

Page 119: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

ModelBranch

particular unit of work, as a singleoperation.Checking-in updates the referenceversion of a Package or group ofPackages in the model.

Check Out aModelBranch

Checks out all Packages within a selectedmodel branch as a single operation, sothat you can update modeling objectswithin them.

Check In aPackage

Checks in the Package currently selectedin the Browser window.Checking-in updates the referenceversion of a Package or group ofPackages in the model.

Check Out aPackage

Checks out the Version ControlledPackage currently selected in the Browserwindow, so that you can update modelingobjects within it.

Undo CheckOut of aPackage

Reverses the check-out of a Package,discarding any modifications that havebeen made by restoring the Packagecontent to the latest revision held inVersion Control.

Import a Retrieves Packages from Version Control

(c) Sparx Systems 2020 Page 119 of 266

Page 120: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

PackageFromVersionControl

that have been created by other users, orby you in another model, and importsthem into your current model.

ApplyVersionControl to aModelBranch

Applies Version Control to all Packageswithin the selected model branch, in asingle operation.In this context, a model branch is aPackage in the Browser window, and allof the Packages contained within it.

Export aVersionControlledModelBranch

Exports Version Control informationabout the root Package of a modelbranch, that is used to simplify theprocess of exporting and importing ahierarchy of Packages from one model toanother.

Import aModelBranch FromVersionControl

Uses Enterprise Architect's Model Branchfiles, of which there are few, to retrieveinformation about the root Package fileand to import the model branch.Model branch files can simplify theprocess of exporting and importing ahierarchy of Packages from one model toanother.

View Displays the change history of Version

(c) Sparx Systems 2020 Page 120 of 266

Page 121: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

PackageRevisionHistory

Controlled Packages.You can also check out a prior revision ofthe Package for editing, effectivelyrolling-back to a prior revision of thePackage.

ValidatePackageConfigurations

You can test the validity of the VersionControl settings associated with eachVersion Controlled Package within yourcurrent model.

Resynchronize the Statusof VersionControlledPackages

Re-synchronizes the Version Controlstatus of Packages within your projectwith the status reported by your VersionControl provider.

Notes

Database replication should not be combined with·

Version Controlled Packages

If the Packages under Version Control contain any·

alternative images, you can export the images to theVersion Control repository when you check in thePackages, by setting the 'Export alternate images' optionon the 'Preferences' dialog

(c) Sparx Systems 2020 Page 121 of 266

Page 122: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

(c) Sparx Systems 2020 Page 122 of 266

Page 123: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Configure Controlled Package

Once your Version Control application is set up and youhave Version Control configurations in place, you can placethe individual Packages in your model under VersionControl. To put a Package under Version Control, you:

Flag the Package as a controlled Package·

Specify the Version Control configuration to control it·

and

Associate an XMI file with the Package·

You can then export and import the Package data to andfrom the file and issue commands to the Version Controlsystem.

Access

Ribbon Configure > Version Control >Package-VC

KeyboardShortcuts

Ctrl+Alt+P

Apply Version Control to a single Package

(c) Sparx Systems 2020 Page 123 of 266

Page 124: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Step

Action

1 Click on the 'Control Package' checkbox to select it,indicating that this Package is to be controlled.

2 Click on the 'Version Control' drop-down arrow andselect the Version Control configuration to be usedto control this Package.

3 The 'XMI Filename' field displays a default filenamefor the Package export file, based on the Packagename.Optionally, modify the filename. Either:

Type a new name, or·

Click on the button to open a file selection·

dialogThe target file must be located within the workingcopy folder of the selected Version Controlconfiguration, or one of its sub-folders.

4 The 'Version ID' field defaults to '1.0'.Optionally, change this to a different versionnumber.

5 The 'Owner' field defaults to your user name.Optionally, type or select the name of the user who

(c) Sparx Systems 2020 Page 124 of 266

Page 125: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

actually owns the Package.

6 Click on the OK button.The 'Add Package to Version Control' dialogdisplays.

7 Optionally, clear the 'Keep checked out' checkbox.After applying Version Control, the Package eitherremains checked-out for editing, or is checked-in andlocked against editing, depending on this setting.

8 Click on the OK button.The 'Add Comment' dialog displays.

9 Optionally, add any further comments to the defaultcomment.Enterprise Architect provides a default comment thatincludes the current date & time.

10 Click on the OK button.The current Package is exported to the nominatedXMI file, which is then committed to VersionControl. The Package icon in the Browser window isupdated to reflect the Package's Version Controlstatus.

(c) Sparx Systems 2020 Page 125 of 266

Page 126: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Notes

If you are using the Corporate or extended editions of·

Enterprise Architect with security enabled, these featuresare only available to users who have been grantedpermission to configure and use Version Control

(c) Sparx Systems 2020 Page 126 of 266

Page 127: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Apply Version Control To Branches

It is possible to apply Version Control to all Packages withina selected model branch, in a single operation. In thiscontext, a model branch is a Package that is currentlyselected in the Browser window, and all of the Packagescontained within it.

Access

ContextMenu

Browser window | right-click on Package| Package Control | Add Branch toVersion Control

Apply Version Control to all Packages withina selected model branch

Step

Action

1 On the 'Apply VC to Branch' dialog, click on thedrop-down arrow in the 'Version ControlConfiguration' field and select the configuration to

(c) Sparx Systems 2020 Page 127 of 266

Page 128: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

use.

2 Optionally, tick the checkbox 'Export as ModelBranch'.Once the Version Control operation is complete aModel Branch file (.EAB file) is created for thisbranch.

3 Click on the OK button.The system creates a number of sub-folders withinthe Version Control working copy folder, thenexports all of the Packages within the selected modelbranch. The system generates filenames for the XMIfiles, based on the Package GUIDs.

Notes

The Version Control configuration to be used in this·

operation must be defined within the model beforeselecting this command

When invoked on the model root node, this command·

applies Version Control to every Package within themodel

(c) Sparx Systems 2020 Page 128 of 266

Page 129: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Package Version Control Options

When you have set up a Package for Version Control, yougain access to a range of Version Control operations that canbe performed on that Package, such as:

Open the dialog for working with baselines of the·

Package

Check-in and check-out single Packages or a selected·

hierarchy of Packages

Update Packages to the latest revision from the Version·

Control repository

Inspect the revision history or properties of the XMI file·

associated with a Package

Revert a Package to a previous revision·

Compare the current model content of a Package, against·

the latest revision of the Package in Version Control

Import and export hierarchies of Packages (model·

branches) to and from the model, through the VersionControl system

Synchronize the status of a Package, with the Version·

Control system

Access

Context Right-click on Version Controlled

(c) Sparx Systems 2020 Page 129 of 266

Page 130: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Menu Package > Package Control

Options

Option Action

Check InBranch

Check-in Packages contained in thecurrently selected model branch (that is,the selected Package and all of its childPackages).The 'Select Packages to Check In' dialoglists all Version Controlled Packageswithin that branch that are checked out toyou; you can then select Packages in thedisplayed list, to be submitted forcheck-in.You can also choose to keep thePackages checked-out after committing anew revision to Version Control.

Check OutBranch

Recursively check out all Packagescontained within the currently selectedmodel branch (that is, the selectedPackage and all of its child Packages)that are Version Controlled andchecked-in.

(c) Sparx Systems 2020 Page 130 of 266

Page 131: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Check In Commit a new revision of the currentlyselected Package to the Version Controlrepository and lock the Package againstfurther editing.Only available for Packages that youhave checked-out yourself.

Check Out Synchronize the currently selectedPackage with the latest revision from theVersion Control repository and unlockthe Package to allow editing.Only available for Packages that are notalready checked-out (and whoseassociated Package file is notchecked-out).

Undo CheckOut

Restore the selected Package to the latestrevision in the Version Control repositoryand lock the Package against furtherediting.

Put Latest Commit a new revision of the currentlyselected Package to the Version Controlsystem, while keeping the Packagechecked-out.This is equivalent to checking a Packagein and immediately checking it back outagain.

(c) Sparx Systems 2020 Page 131 of 266

Page 132: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Only available for Packages that youhave checked-out yourself.

Get Latest Synchronize the currently selectedPackage with the latest revision from theVersion Control repository.Available only for Packages that arechecked in.

Get AllLatest

Updates all of the Version ControlledPackages in the project, to the latestrevision retrieved from Version Control.Only updates Packages that are currentlychecked in.Once the latest revisions are retrieved, thesystem scans all the controlled Packagesand fixes any missing cross-references bycomparing the Package with its XMI 1.1file.If the cross-reference information in theXMI does not match the model, thesystem updates the model with theinformation from the XMI and recordsthis update in the System Output window.You can roll back such updates byselecting the entry in the System Outputwindow and using the context menuoption 'Rollback Update' (or 'RollbackSelected Updates' if multiple entries are

(c) Sparx Systems 2020 Page 132 of 266

Page 133: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

selected).Closing the model clears the entries in·

the System Output windowAn entry in the System Output window·

is also cleared as and when youroll-back the update for it

Scan XMIandReconcileModel

Scan the Package XMI files associatedwith each of the project's controlledPackages and restore any diagram objectsor cross-references that are detected asmissing from the project.This function is useful in teamenvironments where each user maintainstheir own private copy of the modeldatabase (that is, multiple private projectfiles) and model updates are propagatedthrough the use of controlled Packages. Itprovides no benefit when the model ishosted in a single shared database that isaccessed by all team members.Each controlled Package is comparedwith its associated XMI file and, if thecross-reference information in the modeldoes not match the XMI, the systemupdates the model with the informationfrom the XMI and records the update inthe System Output window.You can roll back such updates by

(c) Sparx Systems 2020 Page 133 of 266

Page 134: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

right-clicking on the entry in the SystemOutput window and selecting the'Rollback Update' option (or 'RollbackSelected Updates' if multiple entries areselected).Closing the model clears the entries in theSystem Output window; an entry in thewindow is also cleared as and when youroll-back the update for it.This functionality is invokedautomatically as part of the 'Get AllLatest' operation.When working in an environment thatuses a Private Model deployment andyour model contains a significant numberof cross-Package references, it isrecommended that you invoke 'Scan XMIand Reconcile Model' from time to time,following the re-importation of controlledPackages - for example, after using 'GetLatest' to update a number of Packages -or after performing a number of Packagecheck-outs.As a general rule, avoid running 'ScanXMI and Reconcile Model' while youhave uncommitted changes in yourmodel; generally, you:

Check-out a number of Packages·

Invoke 'Scan XMI and Reconcile·

(c) Sparx Systems 2020 Page 134 of 266

Page 135: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Model'Make your modifications·

Commit any outstanding changes·

before you check-out more Packagesand run 'Scan XMI and ReconcileModel' again

FileProperties

Display Version Control propertiespertaining to the XMI export fileassociated with the currently selectedPackage; this also identifies who haschecked out the Package.

File History Display change history information forthe currently selected Package.Revert to or check-out a prior revision ofthe Package.

ComparewithControlledVersion

Compare the currently selected Packagewith the latest revision of its associatedXMI file retrieved from Version Control.

Add Branchto VersionControl

Apply Version Control to all Packageswithin a selected model branch, in asingle operation.In this context, a model branch is aPackage that is currently selected in theBrowser window, and all of the Packages

(c) Sparx Systems 2020 Page 135 of 266

Page 136: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

contained within it.

Export asModelBranch

Export a newly created model branchfrom your own private copy of a model.

Import aModelBranch

Retrieve a model branch and import itinto either the source model or anothermodel.

Get Package Access Packages in the Version Controlrepository that are not currently availablein your model.

Re-synchStatus WithVC Provider

Update the Version Control status valuerecorded for the selected Package in theproject to match the value reported by theVersion Control provider, withoutperforming an XMI import or export.Use this function when the Package'sVersion Control status recorded in yourproject is out of synchrony with theVersion Control status reported by yourVersion Control provider.

VersionControlSettings

Display the 'Version Control Settings'dialog.

(c) Sparx Systems 2020 Page 136 of 266

Page 137: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Notes

You set up Version Control using options from the project·

'Version Control' submenu

If the selected Package is not under Version Control, a·

different set of options is available

If a Version Control configuration has not been defined·

for the model, no options for using Version Control areavailable, only the options for configuring VersionControl

(c) Sparx Systems 2020 Page 137 of 266

Page 138: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Check Out a Package

When you need to work on a Version Controlled Package,you check it out. The local XMI file associated with thePackage is then checked-out from Version Control. No otheruser can check out the Package to make changes to it until ithas been checked in again.

Access

ContextMenu

Right-click on Package > PackageControl > Check Out

KeyboardShortcuts

Ctrl+Alt+L

Check out a single Package

The Package file is imported into your model, and the'Package' icon is updated to reflect the change in thePackage's Version Control status.

When working in a Private Model, if the system detects thatthe Package content in the model is already up to date withthe latest revision of the Package file retrieved from Version

(c) Sparx Systems 2020 Page 138 of 266

Page 139: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Control, then the 'Import Package' dialog displays first. Thisdialog is not displayed for a Shared Model.

These options are available:

Force Reload From XMI - reload the Package from XMI·

regardless of whether it is up to date or not

Accept current Package - select to skip the process of·

re-importing the Package from XMI

Refresh model view - select to refresh the Browser·

window and diagrams, by reloading the Package contentfrom the project database

Always use these settings - when selected, if you·

subsequently check out a Package that is found to be up todate, the same settings are applied again withoutdisplaying the dialog

Notes

If you check out a Version Controlled Package whilst·

offline, the 'Package' icon has a red figure 8 in front of it

If you have selected the 'Always use these settings'·

checkbox and you want to reconfigure the 'ImportPackage' dialog, press the Ctrl key whilst you select the'Package Control | Check Out' context menu option; thedialog displays and you can change the settings

(c) Sparx Systems 2020 Page 139 of 266

Page 140: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Undo Check Out of a Package

If you check out a Package and then decide not to proceed,you can undo the check-out and discard any modificationsthat have been made, by restoring the Package content to thelatest revision held in Version Control. The Package returnsto a checked-in state and subsequently can be checked outby any user, including yourself if, for example, you need toreverse incorrect changes before checking the Package outand starting again.

Access

ContextMenu

Right-click on Package > PackageControl > Undo Check Out

Undo check out of a selected Package

A confirmation dialog displays; click on the OK button.

The latest revision of the Package is retrieved from VersionControl and re-imported into your model. The icon againstthe Package in the Browser window is updated to reflect thechange in the Package's Version Control status.

(c) Sparx Systems 2020 Page 140 of 266

Page 141: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

(c) Sparx Systems 2020 Page 141 of 266

Page 142: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Check In a Package

When you have finished working on the contents of aPackage under Version Control, and you want to return it tothe model for other users to see, you check it in.

Access

ContextMenu

Right-click on Package > PackageControl > Check In

KeyboardShortcuts

Ctrl+Alt+S

Check in a single Package

Step

Action

1 The selected Package is exported and the 'AddComment' dialog displays. A default comment isprovided that contains the current date and time.Optionally, modify the default check-in comment

(c) Sparx Systems 2020 Page 142 of 266

Page 143: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

2 Click OK.The Package file is checked-in to Version Controland the Package icon is updated to reflect the changein Version Control status.

(c) Sparx Systems 2020 Page 143 of 266

Page 144: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Check Out a Model Branch

If you need to check out a number of related Packagesinvolved in a particular unit of work, to update the contents,you can do so in a single operation by checking out thewhole model branch that contains them.

Access

ContextMenu

Right-click on Package > PackageControl > Check Out Branch

Check out a sub-tree of model Packages

Step

Action

1 The selected root-node Package and all of itscontained sub-Packages are recursively checked out.Any Packages that cannot be checked-out are listedin a message box, with a brief description of theproblem; for example: The Package is alreadychecked out by user 'Fred'.

(c) Sparx Systems 2020 Page 144 of 266

Page 145: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

2 When Project Security is enabled in Lock to Editmode, Enterprise Architect prompts you to apply aUser Lock throughout the selected model branchbefore proceeding.

(c) Sparx Systems 2020 Page 145 of 266

Page 146: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Check In a Model Branch

If you need to check in a number of related Packagesinvolved in a particular unit of work, and that you haveupdated, you can do so in a single operation by checking inthe whole model branch that contains them. You can alsocommit new revisions of the affected Packages as youcomplete milestones, whilst keeping the Packageschecked-out for further editing.

Access

ContextMenu

Right-click on Package > PackageControl > Check In Branch

Check in Packages from within a modelbranch

Step

Action

1 The 'Select Packages to Check-in' dialog lists allVersion Controlled and checked-out Packages within

(c) Sparx Systems 2020 Page 146 of 266

Page 147: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

the selected model branch. By default, the entire listis selected.Optionally:

Click an individual Package to select just that·

PackageCtrl+click on an individual Package to add or·

remove it from the selectionShift+click on a range of Packages to select them·

Click on the All button to select all listed Packages·

Click on the None button to clear the selection·

2 Optionally, you can commit into Version Control anew revision of all selected Packages, while keepingthose Packages checked out for further editing. Todo this, select the 'Keep packages checked-out aftercommitting new revision' checkbox.

3 Click on the OK button.The 'Add Comment' dialog displays. A defaultcomment is provided that contains the current dateand time. This comment is applied to all Packagesthat are checked in.

4 Optionally, modify the default check-in comment.

5 Click on the OK button.The selected Packages are exported and checked-in.The Package icons are updated to reflect any change

(c) Sparx Systems 2020 Page 147 of 266

Page 148: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

in Version Control status. If you opted to keepPackages checked out, there is no change in status.

(c) Sparx Systems 2020 Page 148 of 266

Page 149: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Update to the Latest Revision ofSelected Package

When you are part of a team working in a Distributed Modelenvironment, you will want to periodically update yourmodel with the changes that other team members havecommitted into Version Control. You can transfer the otherusers' updates from Version Control into the selectedPackage in the Browser window.

Access

ContextMenu

Right-click on Package > PackageControl > Get Latest

Update Package to latest revision

The local XMI file associated with the Package is updated tothe latest revision from Version Control. The XMI file isimported into your model database, updating the Package inyour model.

When working in a Private Model, if the system detects thatthe Package content in the model is already up to date with

(c) Sparx Systems 2020 Page 149 of 266

Page 150: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

the latest revision of the Package file retrieved from VersionControl, then the 'Import Package' dialog displays first. Thisdialog is not displayed for a Shared Model.

These options are available:

'Force Reload From XMI' - reload the Package from XMI·

regardless of whether it is up to date or not

'Accept current Package' - select to skip the process of·

re-importing the Package from XMI

'Refresh model view' - select to refresh the Browser·

window and diagrams, by reloading the Package contentfrom the project database

'Always use these settings' - when selected, if you·

subsequently check out a Package that is found to be up todate, the same settings are applied again withoutdisplaying the dialog

Notes

The 'Get Latest' command is disabled for any Package that·

is checked-out (to anybody) in the currently loadedproject

When using a Shared Model environment, where all users·

are connected to a single model database, you shouldreload the Package from the database, rather than usingthe 'Get Latest' command

If you have selected the 'Always use these settings'·

checkbox and you want to reconfigure the 'Import

(c) Sparx Systems 2020 Page 150 of 266

Page 151: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Package' dialog, press the Ctrl key whilst you select the'Package Control | Get Latest' context menu option; thedialog displays and you can change the settings

(c) Sparx Systems 2020 Page 151 of 266

Page 152: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Update to the Latest Revision of AllPackages

When you are part of a team working in a Distributed Modelenvironment, you will want to periodically update yourmodel with the changes that other team members havecommitted into Version Control. You can transfer the otherusers' updates to all Version Controlled Packages into thecurrently loaded project.

Access

ContextMenu

Right-click on Package > PackageControl > Get All Latest

Update all Packages in project to latestrevision retrieved from Version Control

All the local XMI files for all the Version Controlconfigurations used in the project are updated to the latestrevision from Version Control. The system then scans thePackages in the model, to determine which ones are up todate and which are not, compared to the latest revisions of

(c) Sparx Systems 2020 Page 152 of 266

Page 153: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

the associated Package files.

A prompt displays, providing these import options forPackages that are up to date:

Import changed files only·

Always import·

Prompt for each file·

Click on the OK button. The Version Controlled Packagesin your project are updated according to the option youselected; if you chose the 'Prompt for each file' option, aprompt displays to confirm import of each file.

Notes

There is no need to re-import Packages that are already up·

to date - re-importing Packages first deletes them from theproject and then re-imports them from the XMI file,which is time consuming as well as unnecessary; westrongly recommend using the default option 'Importchanged files only'

The 'Get All Latest' command does not update any·

Package that is checked-out (to anybody) in the currentlyloaded project; otherwise, any changes not yet committedto Version Control would be discarded

When using a Shared Model environment, where all users·

are connected to a single model database, the informationin the model database is always the same as, or ahead of,what is committed into Version Control; in this situation,

(c) Sparx Systems 2020 Page 153 of 266

Page 154: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

the Get All Latest command will simply refresh your viewof the model database, by reloading diagrams or reloadingPackage content in the Browser window

(c) Sparx Systems 2020 Page 154 of 266

Page 155: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Include Other Users' Packages

Other users might be developing Packages in their ownmodels that you could use in your model, or you might haveother models containing Packages that you want to use inthe current model. Unless you are sharing an SQL databaseor project file, those Packages are not automaticallyavailable to you. However, if the Packages have been placedinto Version Control, you can import them into your modelas children of one of your model's Packages.

Access

ContextMenu

Right-click on Package > PackageControl > Get Package

Import Packages from Version Control intocurrent model

Step

Action

1 On the 'Get Shared File' dialog, click on the

(c) Sparx Systems 2020 Page 155 of 266

Page 156: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

drop-down arrow of the 'Version ControlConfiguration' field and select the Version Controlconfiguration associated with the Package toretrieve.The file list is populated with the names of filesavailable through that configuration, for retrieval andimport into your model.

2 Click on the Package file to import into your modeland click on the OK button.The Package file is imported as a new child Package,under the parent Package you selected.

Notes

You must have access to the Package files through the·

Version Control system and you must define a VersionControl configuration through which to access those files

The Version Control configuration must use the same·

unique ID that was originally used to add the Package toVersion Control

XMI Package files associated with Packages that are·

already part of your project, are NOT included in the listof files available for import

(c) Sparx Systems 2020 Page 156 of 266

Page 157: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Export Controlled Model Branch

Applying Version Control to a model can result in manyXMI files being placed under Version Control. It might thenbe hard to locate and import the file corresponding to theroot of a particular model branch. Using Model Branch Files(.eab files) overcomes this problem by making it easier toexport and import Package hierarchies from one model toanother.

You could export a newly created model branch from yourown private copy of a model so that, for example:

Another user can import that branch into their own private·

copy of the same model

It can be imported for inclusion as a common branch in a·

number of different models

Access

ContextMenu

Right-click on Package > PackageControl > Export as Model Branch

Create a Model Branch File to represent aPackage hierarchy stored in Version Control

(c) Sparx Systems 2020 Page 157 of 266

Page 158: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Step

Action

1 On the 'Export as Model Branch' dialog, in the 'EABFilename' field, type a name for your Model BranchFile.Alternatively, click on the button and browse forthe file location.Note that the Package name is supplied as a default.

2 Click on the OK button.A branch file is created to represent the selectedPackage. The branch file is committed to VersionControl using the same Version Controlconfiguration that controls the Package you selected.

Notes

You can specify any file name, including sub-folder·

names, as long as the file is contained in or below theworking folder of your Version Control configuration

The facility is only enabled for Packages that are already·

under Version Control

(c) Sparx Systems 2020 Page 158 of 266

Page 159: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

(c) Sparx Systems 2020 Page 159 of 266

Page 160: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Import Controlled Model Branch

Applying Version Control to a model can result in manyXMI files being placed under Version Control. It could thenbe hard to locate and import the file corresponding to theroot of a particular model branch, if you want to:

Retrieve a model branch created by another user in a·

private copy of a model, to import it into your own privatecopy of the same model

Retrieve a model branch that is common in many models,·

for inclusion in a new model

Model Branch Files overcome this problem by simplifyingthe retrieval of Package hierarchies for use in other models.You use Enterprise Architect's Model Branch Files, ofwhich there are few, to retrieve information about the rootPackage file - such as the name and type of the VersionControl configuration for the selected Package, and therelative filename of the Version Controlled XMI fileassociated with the Package. The system then uses thisinformation to import the branch into your model.

Prerequisites

Before you begin, you must have:

An operational Version Control environment that can be·

accessed by Enterprise Architect, and

All of the Version Controlled Package files and the model·

(c) Sparx Systems 2020 Page 160 of 266

Page 161: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

branch file associated with the model branch to import, ina valid and accessible working copy folder

Access

ContextMenu

Right-click on target Package for import> Package Control > Import a ModelBranch

Import a Model Branch

Step

Action

1 On the 'Import VC Model Branch' dialog, either:Use the lower portion of the dialog to select a·

model branch file (this is the simpler option if theassociated Version Control configuration hasalready been saved in the current model; continueto step 2)ORClick on the Find a Model Branch (.EAB) file·

button (this option is useful when you have not yet

(c) Sparx Systems 2020 Page 161 of 266

Page 162: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

defined the Version Control configuration that isassociated with the model branch to be imported;see the Manually Locating Model Branch Filestopic)

2 Click on the drop-down arrow in the 'Select aVersion Control Configuration' field and select aconfiguration.A list of .eab files controlled by that configuration isdisplayed in the 'Select a Model Branch (.EAB) file'list.

3 Select the Model Branch File you need, then click onthe OK button.The system imports the root Package specified in theModel Branch File and recursively imports andpopulates all the sub-Packages contained in the rootPackage.

Notes

The Import a Model Branch command is only enabled for·

Packages that you (the current user) are able to edit, as theimported model branch is inserted into the model underyour selected Package

(c) Sparx Systems 2020 Page 162 of 266

Page 163: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

(c) Sparx Systems 2020 Page 163 of 266

Page 164: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Manually Locating Model Branch Files

When importing a Model Branch File from Version Control,you might not have the associated Version Controlconfiguration saved in the model that is receiving theimport. In this situation, it is simpler to manually browse thefile system to locate the Model Branch File (.eab) and letEnterprise Architect derive the details of the configurationfrom the branch file you select.

Prerequisites

Before you begin, you must have:

An operational Version Control environment that can be·

accessed by Enterprise Architect, and

All of the Version Controlled Package files and the model·

branch file associated with the model branch to import, ina valid and accessible working copy folder

Access

ContextMenu

Right-click on target Package for import> Package Control > Import a ModelBranch : Find a Model Branch (.EAB)

(c) Sparx Systems 2020 Page 164 of 266

Page 165: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

file

Locate the Model Branch File

Step

Action

1 Access the 'Import VC Model Branch' dialog, thenbrowse for and select the Model Branch File thatrepresents the model branch to import.

2 Click on the Open button.If the Version Control configuration referenced bythe file is fully defined within the current model, theimport commences at this point.Otherwise, Enterprise Architect displays a dialogprompting you to complete the requiredconfiguration.

3 Click 'Yes' to proceed with completing the definitionof the Version Control configuration.The 'Version Control Settings' dialog is displayed.

4 Complete the definition of the configuration.(Typically this involves simply specifying the

(c) Sparx Systems 2020 Page 165 of 266

Page 166: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

working copy folder.)

5 Click on the Save button.The configuration details are saved.The import of the model branch proceeds.

Notes

The Import a Model Branch command is only enabled for·

Packages that you (the current user) are able to edit, as theimported model branch is inserted into the model underyour selected Package

(c) Sparx Systems 2020 Page 166 of 266

Page 167: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Review Package History

It is possible to review the change history of VersionControlled Packages by examining previous revisions. Ifnecessary, you can check out one of these earlier revisionsof a Package for editing, effectively rolling-back to thatprior revision of the Package.

Access

ContextMenu

Right-click on Package > PackageControl > File History

Review change history of aversion-controlled Package

Step

Action

1 For Version Control environments using Subversion,CVS or TFS command line clients, the 'File VersionHistory' dialog displays.Click on a revision number in the 'Revisions' field, to

(c) Sparx Systems 2020 Page 167 of 266

Page 168: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

select that revision and view its log entry.For Version Control environments using SCC basedclients, your particular product opens its own 'FileVersion History' dialog.

2 On the 'File Version History' dialog, you canoptionally click on either:

Check Out - the selected revision of the Package·

file is retrieved from Version Control andimported into your model as a Package that ischecked out for editing; you can subsequentlycheck in this revision as a new HEAD revision,effectively allowing you to revert the Package to aprior revisionorRetrieve - the selected revision of the Package file·

is retrieved from Version Control and importedinto your model, but the Package remains flaggedas checked-in and cannot be modified;subsequently checking out the Package updates itto the latest revision before it is unlocked forediting

Notes

If the selected Package was already checked out in the·

(c) Sparx Systems 2020 Page 168 of 266

Page 169: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

current model, the Retrieve and Check Out buttons aredisabled

If the selected Package contains any sub-Package that is·

already checked-out in the current model, a warning willbe displayed and the retrieval or check-out will not goahead

If you check out a prior revision of a Package, but do not·

want to commit it as a new revision, right-click on thePackage and select Package Control | Undo Check Out

(c) Sparx Systems 2020 Page 169 of 266

Page 170: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Review Package History - SCC Client

It is possible to review the change history of VersionControlled Packages by examining previous revisions. Ifnecessary, you can check out one of these earlier revisionsof a Package for editing, effectively rolling-back to thatprior revision of the Package. The process for reviewing thechange history of Packages configured for Version Controlwith an SCC client (including products such as VisualSource Safe, TFS-SCC, ClearCase, Perforce, AccuRev andMKS Source Integrity) differs from that for Subversion,CVS or TFS command line clients.

Access

ContextMenu

Right-click on Package > PackageControl > File History

Review change history of aversion-controlled Package (SCC client)

Step

Action

(c) Sparx Systems 2020 Page 170 of 266

Page 171: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

1 The change history mechanism offered by the thirdparty SCC provider displays.To import a prior revision of the Package into yourmodel, use the 'SCC History' dialog to retrieve therevision, then close the dialog.

2 The SCC client notifies Enterprise Architect that adifferent revision has been retrieved. A prompt thendisplays, asking whether you want to check-out theprior revision.

3 Optionally, click on either:Yes, to check out the prior revision - the selected·

revision of the Package file is retrieved fromVersion Control and imported into your model as aPackage that is checked out for editing; you cansubsequently check in this revision as a newHEAD revision, effectively reverting the Packageto the prior revisionORNo, to import the prior revision as read-only - the·

selected revision of the Package file is retrievedfrom Version Control and imported into yourmodel, but the Package remains flagged aschecked-in and cannot be modified; subsequentlychecking out the Package updates it to the latestrevision before it is unlocked for editing

(c) Sparx Systems 2020 Page 171 of 266

Page 172: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Notes

If the selected Package was already checked out in the·

current model, the system does not proceed withretrieving a prior revision

If you check out a prior revision of the Package, but do·

not want to commit it as a new revision, right-click on thePackage and select 'Package Control | Undo Check Out'

(c) Sparx Systems 2020 Page 172 of 266

Page 173: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Retrieve Prior Revision - SCC Client

Depending on your Version Control product, retrieving aprior revision of a controlled Package can involve a numberof prompts regarding overwriting the current local copy.

This example details retrieval of a prior revision from aTFS-SCC Version Control configuration.

Access

ContextMenu

Right-click on Package > PackageControl > File History

Example Procedure - retrieve prior revision,TFS-SCC client

Step

Action

1 Display the 'TFS File History' dialog.

2 Click on the Get button.The TFS-SCC client displays the 'Resolve Conflicts'

(c) Sparx Systems 2020 Page 173 of 266

Page 174: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

dialog.This dialog offers the 'Automerge All XML Packagefiles' option. DO NOT select this option.It is important to prevent any merging of EnterpriseArchitect's XML Package files.

3 Click on the Resolve button.The TFS-SCC client displays the 'Resolve writeablefile conflict' dialog.

4 Select the 'Overwrite local file/folder' option.The existing working copy of the Package file isoverwritten by the prior revision retrieved fromVersion Control.

5 Click the OK button.The TFS-SCC client redisplays the 'Resolvewriteable file conflict' dialog; it should now show noconflicts.

6 Click on the Close button.The TFS-SCC client redisplays the 'File History'dialog.

7 Click on the Close button.Enterprise Architect displays a prompt, askingwhether to check-out the prior revision.

(c) Sparx Systems 2020 Page 174 of 266

Page 175: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

8 Click on the:Yes button to check-out the prior revision·

No button to retrieve a read-only version of the·

Package, that is NOT checked-out and is NOTeditable

(c) Sparx Systems 2020 Page 175 of 266

Page 176: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Validate Package Configurations

Having defined the Version Control settings for your currentmodel, you can test the validity of those settings associatedwith each Version Controlled Package within the model.

Access

Ribbon Configure > Version Control > CheckConfiguration

Validate Version Control settings

Step

Action

1 The validation process scans the model database andverifies that the Version Control configurationassociated with each Version Controlled Package isfully specified in the current model. It also queriesthe corresponding Version Control provider to findthe status of the Package file associated with eachVersion Controlled Package.

(c) Sparx Systems 2020 Page 176 of 266

Page 177: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

The results of the validation process are sent to theSystem Output window.

2 Open the 'Version Control Settings' dialog tocomplete the definition of any invalid or missingVersion Control configurations.

3 Click on an error message in the System Outputwindow to highlight the corresponding Package inthe Browser window.

4 Right-click a Package node and select 'PackageControl | Configure Package' to open the 'PackageControl Options' dialog.Correct any problems with the Version Controldetails for the Package.Correct any problems with the Package's associatedXMI file.

(c) Sparx Systems 2020 Page 177 of 266

Page 178: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Resynchronize the Status of VersionControlled Packages

It is possible to update the Version Control status ofPackages within your project to re-synchronize with thestatus reported by your Version Control provider. This canbe useful if you are creating copies of your project, wherechecking in a Package from one copy of the model leavesthe Package in the second copy of the model with anout-of-date Version Control status.

For a given Package, the re-synchronization process queriesthe corresponding Version Control provider to find thestatus of the Package file associated with the VersionControlled Package. If necessary, the process then updatesthe Package flags within the model database, to synchronizethe Package status recorded in the model with the valuereported by the Version Control provider.

Access

Ribbon Configure > Version Control > Re-SynchStatus (applies to all Packages in model)

ContextMenu

Right-click on Package > PackageControl > Re-synch Status With VCProvider (applies to single Package only)

(c) Sparx Systems 2020 Page 178 of 266

Page 179: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Resynchronize Version Control status

Step

Action

1 The results of the re-synchronization process are sentto the System Output window.

2 Double-click on any result message to select, in theBrowser window, the corresponding Package.

Notes

This process does not cause any Package data to be either·

exported from your model to the associated Package file,or imported from a Package file into your model'sPackage data

If a Package has been checked-out and modified with·

Enterprise Architect, but your Version Control providerreports the Package file as checked-in, running thisprocess marks the Package within Enterprise Architect asbeing checked-in, without exporting and committing the

(c) Sparx Systems 2020 Page 179 of 266

Page 180: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

pending changes; subsequently checking-out the Packageimports the latest revision of the Package file fromVersion Control, effectively discarding the uncommittedmodifications from the model

Similarly, if a Package file is checked-out to you in your·

local working copy folder, but not in the EnterpriseArchitect model, running this process marks the Packagewithin the model as checked-out, but it does not importthe associated Package file from the Version Controlsystem; consequently, it is possible to check-in a Packagefrom Enterprise Architect that is potentially out of date,compared to the latest revision of the Package file withinthe Version Control system

(c) Sparx Systems 2020 Page 180 of 266

Page 181: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Auditing

Auditing is a project-level feature that model administratorscan use to record model changes in Enterprise Architect.After switching Auditing on, you can view information onchanges such as:

Who changed an element·

How many elements they changed·

When they changed the data·

What the previous values were, and·

What type of elements they changed·

Auditing does not record changes to:

Document Templates·

Model Documents·

Baselines or·

Profiles·

We provide a Quickstart procedure to help you enableAuditing and see it in action, from which point you canexplore a number of set-up options and display features.

Features

Feature Detail

The Audit To view what has been recorded by the

(c) Sparx Systems 2020 Page 181 of 266

Page 182: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

View audit, use the Audit View, whichprovides an interface to everythingrecorded by Auditing.If security is enabled, you must haveAudit View permission to display data inthe Audit View.

Model Views You can also obtain a snapshot ofselected items in the model, using theModel View facility.In the Corporate, Unified or UltimateEditions of Enterprise Architect, you canuse this facility to automatically generatea snapshot at intervals and, if there arechanges in the items collected by thedefined search, to trigger a notification toyou of such changes.This helps you to monitor workflow andother events of concern to you.

DocumentReport

You can generate a document report thatincludes the audit history information forthe selected element or Package, bychoosing the basic + audit template.

Audit History Using Auditing, you can track changes toan element or connector over time.However, enabling Auditing also enablesan 'Audit History' tab in the System

(c) Sparx Systems 2020 Page 182 of 266

Page 183: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Output window, which summarizes allchanges made to the selected element orconnector.

PerformanceIssues

By enabling Auditing on a project, youincrease the time taken for most actions.For most modeling tasks, this increase isinsignificant; however, there are someinstances where the difference is moresubstantial.

Notes

The Auditing facility is available in the Corporate,·

Unified and Ultimate Editions

Warning - If your site runs separate Editions of Enterprise·

Architect, when Auditing is turned on in a project anyProfessional Edition users are locked out of the project; torestore access, turn Auditing off in the project from theCorporate, Unified or Ultimate Edition instance ofEnterprise Architect

(c) Sparx Systems 2020 Page 183 of 266

Page 184: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Auditing Quickstart

It is very simple to enable Auditing and see it in action.

Access

Ribbon Configure > Model > Audit : AuditSettings

Enable Auditing

Step

Action

1 In the 'Audit View', click on the Audit Settingsbutton.The 'Audit Settings' dialog displays.

2 Select the 'Enable Auditing' checkbox.

3 Click on the OK button to close the 'Audit Settings'dialog.

(c) Sparx Systems 2020 Page 184 of 266

Page 185: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

4 Close the 'Audit View' dialog.

5 Change and save your project.Add a new Package·

Add a new Class·

Add a new connector·

Change the name of an element·

Delete an element·

6 Open the Audit View again and click on the Refresh(or Load) button to display a record of the changesyou have made.

(c) Sparx Systems 2020 Page 185 of 266

Page 186: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Auditing Settings

Using the 'Audit Settings' dialog, you can change what isrecorded by the Auditing facility and:

Define the areas of processing in Enterprise Architect to·

audit

Administer your audit records·

Indicate the kinds of model object for which changes are·

to be recorded

Configure Auditing to record changes to only certain·

types of element

Access

Ribbon Configure > Model > Audit : AuditSettings

Configure Settings

Option Action

Enable Select this checkbox to turn the Auditing

(c) Sparx Systems 2020 Page 186 of 266

Page 187: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Auditing facility on.

Audit XMIImport

Select this checkbox to record changesarising from XMI importing in the audit.As Version Control uses XMI, you mustselect this option to record changes fromchecking out Packages.

Audit XMIExport

Select this checkbox to record changesarising from XMI exporting in the audit.As Version Control uses XMI, you mustselect this option to record changes fromchecking out Packages.

AuditReverseEngineering

Select this checkbox to record changesarising from reverse engineering in theaudit.

Use DatabaseTimestamp

Select this checkbox to use the databaseserver's timestamp instead of each user'slocal timestamp; this improves security.This option is not available for projectfiles.

Clear Logs Click on this button to permanently deleteall log data from the current project; usethe Save Logs button first, to save theaudit records outside the project.The system prompts you to specify

(c) Sparx Systems 2020 Page 187 of 266

Page 188: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

whether to clear items logged over aspecific period of time.

Click on the No button to clear all log·

items currently held in the databaseClick on the Yes button to display the·

'Time Filter' dialog, on which youselect a standard time period or defineyour own

This function can be accessed through theAutomation Interface.

Save Logs Click on this button to save a copy of thelogged audit items currently held in theproject. These items remain in theproject; you can use the Clear Logsbutton to remove them.The system prompts you to specifywhether to save items logged over aspecific period of time.

Click on the No button to save all log·

items currently held in the databaseClick on the Yes button to display the·

'Time Filter' dialog, on which youselect a standard time period or defineyour own

This function can be accessed through theAutomation Interface.

(c) Sparx Systems 2020 Page 188 of 266

Page 189: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Load Logs Click on this button to load a previouslysaved set of logs back into the project. Abrowser displays through which youselect the log file to reload.If the same record exists in both projectand log file, that record is not reloaded.

Core Select this radio button to record changesto elements (including attributes andoperations), Packages, connectors andsome model-level information.

Standard Select this radio button to record thesame changes as for the Core option, pluschanges to some of the 'housekeeping'data for diagrams - Name, Author,Version, Stereotype, Notes and DateModified.You can check for changes to diagramcontent and structure using the Baselinefacility for reviewing visual changes todiagrams.

Extended Select this radio button to record thesame changes as for the 'Standard' option,plus changes to project security.

Debug Select this radio button to record thesame changes as for the 'Extended' option

(c) Sparx Systems 2020 Page 189 of 266

Page 190: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

plus changes to any database tables.Some of the auditing information will notbe visible unless the Audit View mode isset to 'Raw'.

Maintenance Select this radio button to audit changesto maintenance elements only; that is:

Package (element)·

Requirement·

Feature·

Use Case·

Actor·

Note·

Issue and·

Change·

CoreStructural

Select this radio button to audit changesto maintenance elements plus certainstructural elements; that is:

Package (structure)·

Class·

Interface·

Signal·

Node·

Component·

Artifact·

Part·

(c) Sparx Systems 2020 Page 190 of 266

Page 191: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Port and·

Device·

All Select this radio button to audit changesto all types of element.

Custom Select this radio button to audit changesto element types that you specify.The Customize button is made available;click on this button to display a list ofelement types, and select the checkboxagainst each element type to include inthe audit (or click on the Select All buttonto select every element type).Click on the OK button to save theselection.

Notes

As the number of records increases, the performance of·

the Audit View reduces; it is recommended that auditrecords that are not regularly required are saved to file,then cleared from the project, to help ensure highperformance

Connectors are audited when they are connected to an·

element that is included in the Audit Options

(c) Sparx Systems 2020 Page 191 of 266

Page 192: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

If security is enabled, you must have Audit View·

permission to turn Auditing on, and Audit Settingspermission to change the audit settings

(c) Sparx Systems 2020 Page 192 of 266

Page 193: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

The Audit View

The Audit View provides an interface to the informationthat has been recorded by auditing.

Access

Ribbon Configure > Model > Audit

Sections of the Audit View

The Audit View is divided into three main areas:

Section Description

Viewcontrols

The view controls provide a variety ofsettings for controlling auditing and thedisplay of audit records.

Audit tree The audit tree displays the log items thathave been recorded by auditing.What is displayed in the tree is affectedby the view controls, such as:

Sorting·

(c) Sparx Systems 2020 Page 193 of 266

Page 194: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Filter (by time)·

Mode·

Auditing settings (what was actually·

recorded)If synchronizing with the Browserwindow, it is also affected by thePackage, diagram or element you haveselected.

In the audit tree:The green tick indicates a creation·

The yellow pencil indicates an edit·

The red cross indicates a deletion·

Right-clicking an element in the audittree (such as MyClass) displays a contextmenu that enables you to locate theselected element in:

The Browser window·

Any diagrams in which it exists·

Recorddisplay

The record display is in two parts: theidentity of the selected change, and theactual change made.The data in the record display isdetermined by the view controls andmode and, if synchronizing with the

(c) Sparx Systems 2020 Page 194 of 266

Page 195: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Browser window, by the Package,diagram or element you have selected.

Identity

The identity of a change consists of:The Windows username of the user that·

made the change; if security is enabled,the name is of the formatWindowsUsername(SecurityUser)When the change was made·

The path of the change; for example:·

Class Class1 - Attribute Att1 - AttributeConstraint Constraint

ChangesChanges are displayed in a table format,showing the:

Property (or data item) name·

Its original value before the change and·

Its value after the change·

If you double-click on an item in the listof changes (or right-click and select the'Show Differences' option) the Differencewindow displays:

(c) Sparx Systems 2020 Page 195 of 266

Page 196: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

This shows the specific changes that havebeen made, highlighting the edited,created, deleted or formatted characters.Changes to the format of text in theelement, made through the element'Properties' dialog, are not apparent in theinitial table; they are visible in theDifference window, identified by HTMLformatting tags.

Notes

If security is enabled, you must have Audit View·

permission to display data in the Audit View

(c) Sparx Systems 2020 Page 196 of 266

Page 197: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Audit View Controls

The Audit View controls provide a variety of settings forcontrolling auditing and the display of audit records.

Options

Option Action

Load orRefresh

Click to reload the Audit Tree, updatedwith any new audit results.

Search Click to search through log items for aparticular area - you can search by Name,Type or GUID.The items are loaded and filtered with thecurrent Sort By, Time Filter and Modesettings.If you refresh the Audit View, you mustrun the search again.

AuditSettings

Click to open the 'Audit Settings' dialog.

Sort-by Select the appropriate radio button for therequired display setting:

Type - changes are grouped under·

(c) Sparx Systems 2020 Page 197 of 266

Page 198: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

element type (such as Class orRequirement), and then grouped underthe changed element

User - changes are grouped under user·

name, each with the number of changesfor that user

Under each user name, changes aregrouped as for the Type sort

Filter ByDate/Time

Select to enable the Filter Settings button,to filter the audit results by time period.Changes that occur outside the selectedfilter period are not shown in the AuditView.

FilterSettings

Click to display the 'Time Filter' dialog,to set the filter time period:

Today - to display changes occurring·

todayPrevious Hour - to display changes·

(c) Sparx Systems 2020 Page 198 of 266

Page 199: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

occurring in the last 60 minutesPrevious 24 Hours - to display changes·

occurring in the last 24 hoursPrevious Week - to display changes·

occurring in the last 7 daysPrevious 30 Days - to display changes·

occurring in the last 30 daysPrevious Year - to display changes·

occurring in the last 365 daysCustom - to define your own time·

period, using the From and To fieldsThe six pre-configured time periodsautomatically update when you click onthe Refresh button; custom periods arestatic and do not automatically update.If you have set a filter period, and youdeselect the 'Filter By Date/Time'checkbox, the period remains set; thecustom time period, too, is retained sothat you can re-use it or modify it later ifrequired.

Status Text Read to see which:Mode has been selected and·

Time filter is being applied to the data·

Mode Click to display a menu of options tochange the mode of the Audit View.

(c) Sparx Systems 2020 Page 199 of 266

Page 200: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Select:'Standard' - to automatically·

synchronize with the Browser window;where changes have been made, theAudit View reflects your selectionfrom the Browser window - if you clickon: - An element, the Audit Viewdisplays the history for that element - A Package, the Audit Viewdisplays the history for that Package and its immediate children (butnot the contents of nested Packages) - A diagram, the Audit Viewdisplays the history for that diagramand its contents (which could bedrawn from a wide area of the Project Browser)'Advanced' - to load large sets of log·

items independent of the Browserwindow; in this mode, a special AuditSettings group can be displayed in theAudit Tree, which records: - When Auditing has been enabledand disabled - Who made the change - The date and time of the change - Changes to the Audit Settings

(c) Sparx Systems 2020 Page 200 of 266

Page 201: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

- When Audit Operations areexecuted - Security changes (which can bebrowsed in the same way as other changes)'Deleted' - to display only deleted·

records, but otherwise data is shown asin 'Advanced' mode; records can besorted by element type or by user asrequired'Raw' - to display all audit records in·

chronological order without sorting,enabling you to see a progression ofchanges; this can be especially usefulin determining date-timeinconsistenciesAny search and filtering you define stillapply, enabling you to view all oftoday’s changes in order, or all changesfor a particular element in order, orbothAdditional database information isdisplayed; this additional informationmight be insignificant or only inmachine-readable format

(c) Sparx Systems 2020 Page 201 of 266

Page 202: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Audit History Tab

When Auditing is turned on, an 'Audit History' tab isenabled in the System Output window. The tab shows ahistory of changes to whichever element or connector youhave selected in the:

Current diagram·

Browser window·

Audit View, or·

Package Browser·

As you select different elements or connectors, the 'AuditHistory' tab automatically updates to reflect your currentselection. For each change made to the element orconnector, the tab shows:

Who made the change·

When the change was made·

Where the change was made·

The value of the characteristic before the change·

The value of the characteristic after the change·

Access

Ribbon Start > Desktop > Design > SystemOutput > Audit History

(c) Sparx Systems 2020 Page 202 of 266

Page 203: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Notes

To see this tab, you must have the Audit View open; the·

tab continues to display if you subsequently close theAudit View

If security is enabled, you must have Audit View·

permission to display data on the 'Audit History' tab

(c) Sparx Systems 2020 Page 203 of 266

Page 204: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Auditing Performance Issues

Enabling auditing on a project increases the time taken formost actions.

For most modeling tasks, this increase is insignificant;however, there are some situations where the difference ismore substantial.

Operation Delays

Operation Detail

LargeDeletions

Deleting large Packages or Packagestructures, or large numbers of elements,takes significantly longer with auditingon.You might disable auditing beforeperforming such a deletion.

XMI Imports Importing XMI takes longer with auditingenabled.A project-level option is provided fordisabling auditing of XMI Imports.

ReverseEngineering

Reverse engineering code takes longerwith auditing enabled.A project-level option is provided for

(c) Sparx Systems 2020 Page 204 of 266

Page 205: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

disabling auditing of reverse engineering.

Replication You cannot remove replication from amodel with Auditing enabled.If you have to remove replication, disableAuditing and - if prompted to do so -allow Enterprise Architect to roll back thedatabase version; you can then removereplication.

(c) Sparx Systems 2020 Page 205 of 266

Page 206: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Audit View Performance Issues

The Audit View can cause slow performance, generallybecause of the volume of records it has to process.

Considerations and Responses

Consideration

Detail

Navigatingthe BrowserwindowWithinAuditing isSlow

Try setting the time filter to a period inthe immediate past, such as 'Today','Previous 24 Hours' or 'Previous Week';this time period updates each time youopen or refresh the Audit View.Save log items outside the project withthe Save Logs button; if you then clearthe logs you have just saved, the loadtime of the Audit View is reduced.You can reload logs into the project atany time, using the Load Logs button.

The AuditView is Slowin LoadingandChanging

Try setting the time filter to a period inthe immediate past, such as 'Today','Previous 24 Hours' or 'Previous Week';this time period updates each time youopen or refresh the Audit View.

(c) Sparx Systems 2020 Page 206 of 266

Page 207: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Modes Save log items outside the project withthe Save Logs button; if you then clearthe logs you have just saved, the loadtime of the Audit View is reduced.You can reload logs into the project atany time, using the Load Logs button.

Navigatingthe AuditTree is Slow

Close the 'Audit History' tab in theSystem Output window

(c) Sparx Systems 2020 Page 207 of 266

Page 208: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Package Baselines

Enterprise Architect includes tools to help you manage andreview changes to your models over time. These tools applythe concepts of Baselines, Differencing and Merges.

You use Baselines, Differencing and Merges essentially tocompare two snapshots of a specific part of your project, tocapture the differences between them and either roll back orincorporate selected changes or all changes.

Baselines

Enterprise Architect provides a facility to create a Baselineor 'snapshot' of the contents of a selected Package and itschild Packages at a particular point in time; this enables youto later compare that branch of the model at that time withthe current state of the branch.

Baselines are stored in the same XML format as is used forVersion Control, but are stored in compressed format eitherwithin the project or in a Reusable Asset Service Registry.

You can also have parallel copies of parts of your model forteam development, and create Baselines within each copy tomerge changes into the project master.

Differencing

(c) Sparx Systems 2020 Page 208 of 266

Page 209: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Differencing (Diff, or Compare) helps you to explore thedifferences between:

The current state of a specific part of your project, and·

Previous or parallel versions captured in a Baseline or an·

XMI 1.1 file held in the file management system

Merges

Once Differencing is complete, you can merge informationfrom the Baseline into the current project; it is not possibleto go the other way.

You can:

Merge information manually, change by change·

Merge information automatically by electing to merge in·

all changes in one batch procedure

Revert completely to the original Baseline by importing·

the stored XMI directly

Merge information and elements from a Baseline in a·

different project, making it possible to keep multipleversions of a single model in synch

The merge options are available through the toolbar, contextmenus and the keyboard on the 'Compare Utility' view,which shows the results of a comparison.

Visual differences in diagrams

(c) Sparx Systems 2020 Page 209 of 266

Page 210: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Changes to a model might include:

Adding or removing elements and connectors on a·

diagram, or

Changing the position of elements or the overall layout of·

a diagram

You might believe that a diagram has changed, and select tocompare it with a baseline using a ribbon option.Alternatively, you might perform a baseline comparison ona Package or a model and select from the comparison outputany diagrams that are flagged as changed.

Notes

Package Baseline facilities are available in the Corporate,·

Unified and Ultimate Editions of Enterprise Architect

The Enterprise Architect Corporate, Unified and Ultimate·

Editions provide another facility, Auditing, which you canswitch on to perform continuous monitoring of changesacross the project; you can dovetail your use of eachfacility to meet the range of your change managementrequirements

If a Package under Version Control forms part of a·

Baseline, and that Package is checked in to the model, youcannot merge the original data from the Baseline into thatPackage

You can also obtain a snapshot of selected items in the·

(c) Sparx Systems 2020 Page 210 of 266

Page 211: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

model, using the Model Views facility; this facilityenables you to automatically generate the snapshot atintervals and, if there are changes in the items collectedby the defined search, to trigger a notification to you ofsuch changes, which enables you to monitor workflowand other events of concern to you

If security is enabled you must have 'Baselines - Manage'·

permission to create, import and delete Baselines, and'Baselines - Restore' permission to merge data from aBaseline; security permissions are not required to selectan existing Baseline and perform a comparison with themodel

(c) Sparx Systems 2020 Page 211 of 266

Page 212: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Baselines

Enterprise Architect provides a facility to 'Baseline'(snapshot) a model branch at a particular point in time forlater comparison with the current Package state.

Baselines

Baseline comparison is most useful for determining thechanges made to the model during development comparedto a Baseline saved at a crucial point - for example thecompletion of a phase or version iteration.

More than one Baseline can be stored against a singleEnterprise Architect Package.

Baselines are particularly useful during RequirementsManagement to check for changes, additions and deletionsthat have occurred since the start of the current work phase;knowing how a model has changed is an important part ofmanaging change and the overall development process.

By default, Baselines are stored within the model incompressed XML format; you can save a Baseline to anexternal XML file for storage or archive, or for distributingto other users working on models derived from a masterproject.

Alternatively, you can store Baselines in a Reusable AssetService Registry. To do this, open the 'Baseline' page in the'Manage Project Options' dialog to configure the Cloud

(c) Sparx Systems 2020 Page 212 of 266

Page 213: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

connection to the Registry and select or create the Storagethat stores the Baselines for all the Packages in the model.

Baselines are generally used in conjunction with theCompare utility.

Scenario

A typical scenario for using Baselines would be:

Create the base model branch to a sufficient point to·

create a Baseline (checkpoint); create and store theBaseline as Version 0.1a

As work continues on development, managers and·

developers can check the current model branch against theBaseline for important modifications, additions anddeletions; the Compare utility can be invoked from the'Baseline' dialog or 'Reusable Asset Service - Baseline'view to check the current model branch against the storedversion

As required, minor Baselines can be created to check·

recent progress; these 'temporary Baselines' are useful formanaging change when a lot of work is being done and itis important to only see what has changed in, for example,the last 24 hours

At sign-off or the move to a new version/phase, a majorBaseline can be created to capture the new state of themodel.

Minor Baselines created earlier can be deleted if required to

(c) Sparx Systems 2020 Page 213 of 266

Page 214: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

save space.

Considerations

Baselines are based on the GUID or unique ID of aparticular Package:

Enterprise Architect checks for that ID as the root element·

within the XML document being used as a Baseline

When you export a Package to XML, the Package you·

export is the root element; likewise when you create aBaseline, the current Package is the root Package of theXML Baseline

When you save information in a Version Control system,·

the current Version Controlled Package is again the rootPackage of the document

It is not useful to create a Baseline by importing an XMI·

Package file created by Version Controlling a Packagethat itself contains Version Controlled child Packages;that type of XMI Package file contains stubs for the childPackages, not full information on the child Packages andelements

If a Package under Version Control forms part of a·

Baseline, and that Package is checked in to the model, youcannot merge the original data from the Baseline into thatPackage

XML files must be in the same format used by the Baselineengine - currently the UML 1.3 XMI 1.1 format (plus

(c) Sparx Systems 2020 Page 214 of 266

Page 215: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Enterprise Architect extensions), which contains all theinformation necessary to reconstruct a UML model, even aUML 2.x model

Notes

The Baseline facility is available in the Corporate, Unified·

and Ultimate Editions of Enterprise Architect

The Compare utility is available in the Professional·

Edition of Enterprise Architect, as well as in theCorporate and extended Editions

(c) Sparx Systems 2020 Page 215 of 266

Page 216: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Manage Baselines in Model

Enterprise Architect provides a range of facilities forworking with and managing Baselines stored in the model.

Access

Ribbon Design > Model > Manage > ManageBaselines

KeyboardShortcuts

Ctrl+Alt+B

Baseline Management

Create, select and process Baselines using the 'PackageBaselines' dialog.

Option Action

CurrentBaselines ForPackage:<Name>

Review the Baselines for the currentmodel branch, listed by version referencewith the highest alphabetical/numericalvalue at the top.

(c) Sparx Systems 2020 Page 216 of 266

Page 217: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

If an entry is longer than the display area,a horizontal scroll bar displays at thebottom of the panel; use this to scroll tothe text that is not shown.

ShowDifferences

Run the Compare utility on the selectedBaseline and the current model branch ordiagram, to display the differencesbetween the two.

Restore toBaseline

Completely restore the model branchfrom the selected Baseline.

NewBaseline

Create a new Baseline.

DeleteSelected

Delete the selected Baseline.

Load OtherBaselines

Display a drop-down menu that enablesyou to load Baselines from anothermodel, in either a project file or a DBMSrepository.

For project files, a browser displays;·

locate the required project fileFor DBMS repositories, the Windows·

'Data Link Properties' dialog displays;select the data provider and click on theOK button to display the 'Select Data

(c) Sparx Systems 2020 Page 217 of 266

Page 218: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Source' dialog, from which you selectthe required project

In either case, the Connected To:message at the bottom of the 'PackageBaselines' dialog changes to the name ofthe alternative model.To return the dialog to the originalproject, select the third option on the dropdown list: 'Load From Selected Package'.

Import File Import an XML 1.1 file from the filesystem as a new Baseline for this currentmodel branch.

Export File Export the selected Baseline to an XMLfile.

CompareModel to File

Compare the selected model branch withan XML 1.1 file in the file managementsystem; a browser displays, which youuse to locate the file.

Options Set filters to make the comparison morespecific.

Notes

(c) Sparx Systems 2020 Page 218 of 266

Page 219: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Package Baseline facilities are available in the Corporate,·

Unified and Ultimate Editions of Enterprise Architect

(c) Sparx Systems 2020 Page 219 of 266

Page 220: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Manage Baselines in Reusable AssetService Registry

Baselines are by default stored in the repository, so whenyou create a Baseline of a Requirements Package at a givenmilestone, for example, the 'snapshot' would by default bestored in the same model as the Requirements. This isexpedient and sufficient for small, isolated project teams,but for larger teams and endeavors Enterprise Architectprovides some powerful mechanisms to store the Baselinesas reusable and universally accessible snapshots available toany project or organizational team, anywhere in the world.This is particularly useful in this age of innovation andagility, where geographically independent teams need toshare information and reuse existing assets at Internet speed.The facility uses the Reusable Asset Server (RAS), which isCloud-based (including on the home premises) and providessophisticated mechanisms to manage these valuablecorporate assets.

All of the original Baseline features are still available, withmany additional features added while making the snapshotsavailable to a much wider audience, including other teamsand departments, customers, partners, consultants, testersand more, all protected by robust industry standard security.Baselines stored in the RAS are more transparent andsearchable, making it easier to understand and work with thecontent they contain.

Enterprise Architect provides a range of facilities for

(c) Sparx Systems 2020 Page 220 of 266

Page 221: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

working with and managing Baselines stored in a ReusableAsset Service Registry, using the 'Reusable Asset Service -Baseline' view. When you open this view, the 'BaselineBrowser' tab immediately displays a list of the Baselinesavailable for the Package that is currently selected in theBrowser window. You can review and use these Baselinesusing the context menu and buttons on the tab.

You can review the contents of the selected Baseline usingthe tabs in the lower half of the 'Reusable Asset Service -Baseline' view, underneath the 'Baseline Browser' tab.

If you have left the 'Baseline Browser' open for a while,there is a possibility that the contents of the Storage inRegistry might have changed. Click on the icon in the

(c) Sparx Systems 2020 Page 221 of 266

Page 222: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

'Reusable Asset Service - Baseline' toolbar to refresh theBrowser with the latest contents of the Storage.

Note: To store Baselines in a Reusable Asset ServiceRegistry, select the 'Baseline' page in the 'Manage ProjectOptions' dialog and configure the Cloud connection to theRegistry, then select or create the Storage in which to storeall the Baselines for the Packages in the model.

Access

Ribbon Design > Model > Manage > ManageBaselines

KeyboardShortcuts

Ctrl+Alt+B

Baseline Management

Create, select and process Baselines using the 'ReusableAsset Service - Baseline' view.

Option Action

Registry Displays the Registry name, as specifiedon the 'Baseline' page of the 'Manage

(c) Sparx Systems 2020 Page 222 of 266

Page 223: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Project Options' dialog.

Storage Displays the Storage name, as defined onthe 'Baseline' page of the 'Manage ProjectOptions' dialog.

Package Displays the name of the Packagecurrently selected in the Browserwindow.

Find OtherPackages

Click on this button to open the 'ReusableAsset Services' view, displaying theStorage and its full contents; that is, allPackages with Baselines, and any otherPackages held in the Storage.

BaselineBrowser

Lists the Baselines, if any, for the currentPackage. The Baselines are listed byversion - with the highest alphabetical ornumerical value at the top.When you select a Baseline in theBrowser, details of the Baseline aredisplayed in the tabs beneath the'Baseline Browser' tab.Note: You can right-click on the columnheadings and select the 'Toggle Filter Bar'option to show or hide the Filter Bar onthe display. If you show the Filter Bar,type in the appropriate characters to list

(c) Sparx Systems 2020 Page 223 of 266

Page 224: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

only those Baselines that have that stringof characters in the value in thecorresponding column.

New Click on this button to create a newBaseline.Note: You can also click on the icon inthe 'Reusable Asset Service - Baseline'toolbar to create a new Baseline.

Compare Click on this button to run the Compareutility on the selected Baseline and thecurrent Package, to display anydifferences between the two. The resultsof the comparison are displayed on the'Comparison Utility' view.Note:You can also run the Compare utility by:

Clicking on the icon in the 'Reusable·

Asset Service - Baseline' toolbar orRight-clicking on the Baseline name·

and selecting the 'Compare' contextmenu option

Restore Click on this button to completely restorethe Package in the model from theselected Baseline.Note:

(c) Sparx Systems 2020 Page 224 of 266

Page 225: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

You can also restore the Package fromthe selected Baseline by:

Clicking on the icon in the 'Reusable·

Asset Service - Baseline' toolbarRight-clicking on the Baseline name·

and selecting the 'Restore' contextmenu option

RunCompareafter Restore

Check this option to automatically run theCompare utility once the Package iscompletely restored from the selectedBaseline.

Notes

The Package Baseline facilities are available in the·

Corporate, Unified and Ultimate Editions of EnterpriseArchitect

Reusable Asset Service Registry details must be·

configured in the 'Baseline' page of the 'Manage ProjectOptions' dialog

If a 'Read-Only Access' password is entered for the·

Storage in the 'Baseline' page of the 'Manage ProjectOptions' dialog, you will not be able to create newBaselines in the 'Reusable Asset Service - Baseline' viewas the 'New' button will be disabled

(c) Sparx Systems 2020 Page 225 of 266

Page 226: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

If security is enabled, you must have 'Baselines - Restore·

model' permission to restore a Package from the selectedBaseline

(c) Sparx Systems 2020 Page 226 of 266

Page 227: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Baseline Contents

In the 'Reusable Asset Service - Baseline' view, when youselect a Baseline in the 'Baseline Browser' tab, the three tabsin the lower half of the view are updated with informationon the Baseline. The 'Contents' tab lists the diagrams andelements (including any child Packages) held in the selectedBaseline, listing the two types of object separately. You canorganize the information within a column into alphabeticalor reverse-alphabetical order for ease of reference, and usethe Filter bar to filter the display to show only items withvalues containing specific characters or digits.

Access

Open the 'Reusable Asset Service - Baseline' view using oneof the methods outlined here.

Select a Baseline in the 'Baseline Browser' tab, then click onthe 'Contents' tab to display the contents of that Baseline.

Ribbon Design > Model > Manage > ManageBaselines

KeyboardShortcuts

Ctrl+Alt+B

(c) Sparx Systems 2020 Page 227 of 266

Page 228: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Review Baseline Contents

Option Detail

Content Type Click on this button to toggle betweenlisting the Baseline diagrams first andlisting the Baseline elements first.

Toggle FilterBar

Right-click on the column headings andselect this option to show or hide theFilter Bar on the display.

(filter barfields)

Type in the appropriate characters to listonly elements and diagrams that have thatstring of characters in the values in thecorresponding column.

ContentType:DiagramContentType:Element

These are the headers for the two types ofobject listed in this tab.Click on the appropriate white or blackarrow head to hide or show the list ofdiagrams or elements under the heading.

Name Displays the name of the element ordiagram available in the Baseline.

(c) Sparx Systems 2020 Page 228 of 266

Page 229: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Type Displays the type of the element ordiagram, such as Use Case or Use Casediagram.

GUID Displays the Global Unique Identifier ofthe element or diagram.

Content Type Displays the object type of the item -Element or Diagram.

Find inProjectBrowser

Right-click on an element or diagram lineand select this option to see if the elementor diagram also exists in your model and,if it does, to highlight it in the Browserwindow.

ViewDiagram

Right-click on a diagram name and selectthis option to display the diagram withina labeled frame, as an image.Alternatively, double-click on thediagram name.

(c) Sparx Systems 2020 Page 229 of 266

Page 230: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Baseline Dependencies

When you select a Baseline on the 'Baseline Browser' tab,the three tabs in the lower half of the 'Reusable AssetService - Baseline' view are updated with information fromthe Baseline. A Package might contain elements anddiagrams that have relationships with objects in otherPackages. When you generate a Baseline for that Package,the name and Global Unique Identifier (GUID) of eachPackage containing these 'external' objects will be storedalong with the Baseline and displayed in the 'Dependency'tab.

Note that Package A depends on Package B if any of theseconstructs (or their Tagged Values) in Package A referenceelements in Package B:

Elements·

Attributes·

Operations·

Operation Parameters·

Diagrams·

Connectors·

Access

Open the 'Reusable Asset Service - Baseline' view using oneof the methods outlined here.

(c) Sparx Systems 2020 Page 230 of 266

Page 231: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Select a Baseline on the 'Baseline Browser' tab, then clickon the 'Dependency' tab to display a list of dependencies forthat Baseline.

Ribbon Design > Model > Manage > ManageBaselines

KeyboardShortcuts

Ctrl+Alt+B

Check Baseline Dependencies

Option Detail

Package Displays the name of the related Package.

GUID Displays the Global Unique Identifier ofthe related Package.

Find inRegistry

Right-click on the 'Package' line andselect this option to see if the Packageexists in the Registry.Selecting this option will :

Open the 'Reusable Asset Service' view·

Connect to the Registry and load the·

(c) Sparx Systems 2020 Page 231 of 266

Page 232: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Storage that is currently selected in the'Reusable Asset Service - Baseline'viewOpen the 'Search Registry' dialog·

Search for the selected Package using·

its GUID and display the results of thesearch, if any

Find inProjectBrowser

Right-click on the 'Package' line andselect this option to see if the Packagealso exists in your model and, if it does,to highlight it in the Browser window.

CopyPackageName toClipboard

Right-click on the 'Package' line andselect this option to copy the Packagename to the clipboard.

CopyPackageGUID toClipboard

Right-click on the 'Package' line andselect this option to copy the PackageGUID to the clipboard.

Notes

The Name and Global Unique Identifier (GUID) of a·

(c) Sparx Systems 2020 Page 232 of 266

Page 233: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Package containing 'external' objects will not be storedwith the Baselines if the option 'Check Packagedependency when creating Baseline' is disabled on the'Baseline' page of the 'Manage Project Options' dialog

(c) Sparx Systems 2020 Page 233 of 266

Page 234: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Add Review Comments

When you select a Baseline on the 'Baseline Browser' tab,the three tabs in the lower half of the 'Reusable AssetService - Baseline' view are updated with information fromthe Baseline. For any Baseline, you can add individualreview comments on any aspect of the Baseline. Thesecomments provide a permanent record on the Baseline -once they have been saved they cannot be edited or deleted.Each comment is attributed to the ID of the user whoentered it, and is date stamped.

Access

Open the 'Reusable Asset Service - Baseline' view using oneof the methods outlined here.

Select a Baseline on the 'Baseline Browser' tab, then clickon the 'Review' tab to display the review comments of thatBaseline.

Ribbon Design > Model > Manage > ManageBaselines

KeyboardShortcuts

Ctrl+Alt+B

(c) Sparx Systems 2020 Page 234 of 266

Page 235: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Actions

Action Detail

ReviewExistingComments

If there appears to be a longer commentthan can be shown in the 'Review' tab,click on it. The full text displays in the'Comments' field in the lower panel.

CreateComments

Click on the New button and start typingyour comment on the Package in the'Comments' field. You can delete and edittext as you type.When you have finished writing yourcomment, click on the Save button. Yourcomment, preceded by your user ID andthe current date, is displayed in the'Review' panel.Once you have saved your comment, youcannot edit or delete it.

(c) Sparx Systems 2020 Page 235 of 266

Page 236: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Create Baselines

This topic details the basics of creating new Baselines ofmodel Packages. You can create Baselines in the model(using the 'Baselines' dialog) or in a Reusable Asset ServiceRegistry (using the 'Reusable Asset Service - Baseline'view). The appropriate screen displays by default accordingto whether the 'Store Package Baselines in a Reusable AssetService Registry' checkbox is selected on the 'Baselines'page of the 'Manage Project Options' dialog.

Access

Select a Package in the Browser window, then open theappropriate screen for the storage system using one of themethods outlined here.

Ribbon Design > Model > Manage > ManageBaselines : 'Baselines' dialog : NewBaseline (or)Design > Model > Manage > ManageBaselines : 'Reusable Asset Service -Baseline' view : New

KeyboardShortcuts

Ctrl+Alt+B : 'Baselines' dialog > NewBaseline (or)Ctrl+Alt+B : 'Reusable Asset Service -

(c) Sparx Systems 2020 Page 236 of 266

Page 237: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Baseline' view : New

Create a new baseline

Field Action

Name Display the Package name of thecurrently selected model branch.

Version Type a unique version reference for thisBaseline, which can consist of anyalphanumeric characters.The 'Package Baselines' dialog sorts theBaselines according to the value of thisfield.

Includesub-Packages

Include the entire sub-Package hierarchyof this branch in the Baseline; this optiondefaults to selected.If you deselect the checkbox, only theimmediate contents (XMI stubs) of thePackage are included in the Baseline.

Note Edit the default current time and date toany other value.

(c) Sparx Systems 2020 Page 237 of 266

Page 238: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

The field is a single-line entry, for displayon the 'Package Baselines' dialog (aone-line-per-entry list).

OK Click to create a new Baseline and returnto the 'Package Baselines' dialog.

Notes

Package Baseline facilities are available in the Corporate,·

Unified and Ultimate Editions of Enterprise Architect

(c) Sparx Systems 2020 Page 238 of 266

Page 239: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

The Compare Utility (Diff)

Enterprise Architect has a comprehensive and powerfulbuilt-in Compare (diff) utility, which enables you to:

Explore what has changed within a model over time·

Explore how previous versions of a model branch differ·

from what is currently in the model

Perform a full model comparison by exporting all of·

Model A to XMI, then using 'Compare Model to File'from within the current model (Model B)

Comparing and checking model development at variouspoints in the process is an important aspect of managingchange and development, monitoring what is being modifiedand ensuring the development and design process is ontrack.

Using the Compare Utility you can:

Compare a model branch in Enterprise Architect with a·

Baseline created using the Baseline functionality(Corporate, Unified and Ultimate Editions)

Compare a model branch in Enterprise Architect with a·

Baseline stored in a different model

Compare a model branch in Enterprise Architect with an·

XML 1.1 file created previously using the EnterpriseArchitect XML export facility (user selects file)

Compare a model branch in Enterprise Architect with the·

current version-controlled XMI 1.1 file as created whenusing Version Control in Enterprise Architect (file

(c) Sparx Systems 2020 Page 239 of 266

Page 240: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

automatically selected)

Access

Select a Package in the Browser window, then open the'Baselines' dialog or 'Reusable Asset Service - Baseline'view (depending on whether Baselines are stored in modelor in a Registry) using one of the methods outlined here.

Ribbon Publish > Model Exchange > PackageControl > Compare Package to XMIDesign > Model > Manage > ManageBaselines : Show Differences ('Baselines'dialog)Design > Model > Manage > ManageBaselines : Compare ('Reusable AssetService - Baseline' view)

KeyboardShortcuts

Ctrl+Alt+B : Show Differences('Baselines' dialog)Ctrl+Alt+B : Compare ('Reusable AssetService - Baseline' view)

Differencing With Baselines

(c) Sparx Systems 2020 Page 240 of 266

Page 241: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

As a Baseline contains all information about elements andconnections for a Package at a point in time, it can be usedwithin Enterprise Architect to track changes to modelelements over time.

The Differencing engine first builds a representation of thecurrent Package in memory, based on what is currently inthe model.

It then compares this with the stored Baseline, highlightingchanges, new elements, missing elements and elements thathave been moved to other Packages.

It is possible to filter the resultant output to display only oneparticular kind of change: for example, additions to themodel.

If a Baseline has been created to ignore child Packagecontent, a comparison between that Baseline and the modeldoes not include any child Package content in the model.

See the example provided in the Example Comparison Helptopic.

Notes

This utility is available in the Professional, Corporate,·

Unified and Ultimate Editions of Enterprise Architect

You cannot compare the current model with an XMI 2.1·

file; the utility can only compare with an XMI 1.1 file

(c) Sparx Systems 2020 Page 241 of 266

Page 242: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

(c) Sparx Systems 2020 Page 242 of 266

Page 243: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Compare Options

You use the 'Baseline Compare Options' dialog to refine theoutput of the Compare utility when it compares the currentmodel with a Baseline.

To display the dialog, either:

Click on the Options button on the 'Package Baselines'·

dialog, or

Click on the 'Compare Options' icon in the 'Compare·

Utility' view toolbar

If the 'Compare Utility' view shows the results of a Baselinecomparison, when you click on the OK button the displayrefreshes to refine the information according to the optionsyou have selected.

Options

Option Action

AlwaysExpand toDifferences

Always display the list of elements fullyexpanded to show changes.If you deselect the checkbox, when the'Compare Utility' view is first opened itlists the Package contents to elementlevel, and you expand each element asrequired to show the changed items.

(c) Sparx Systems 2020 Page 243 of 266

Page 244: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

For large branches of the model, it isbetter to leave the checkbox unselected.

ShowElements thatare

List elements that:Have been changed since the Baseline·

was createdAre in the Baseline only (that is, have·

been deleted from the model since theBaseline was created)Are in the model only (that is, have·

been created since the Baseline wascreated)Have not changed since the Baseline·

was created (you might generally leavethis checkbox unselected)

SuppresstheseChanges

Exclude:Changes to diagrams·

Changes to the 'Date Modified' field for·

an itemChanges to the 'Date Created' field for·

an itemChild items of a deleted item·

Changes to advanced properties·

(defaults to selected)

BaselineDiagram

Select the checkbox to always open thefirst parent Package for which there is a

(c) Sparx Systems 2020 Page 244 of 266

Page 245: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

CompareOption

Baseline, when you select the diagram forcomparison from the Browser window.

Notes

Package Baseline facilities are available in the Corporate,·

Unified and Ultimate Editions of Enterprise Architect

(c) Sparx Systems 2020 Page 245 of 266

Page 246: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Example Comparison

This diagram shows the result of a comparison between aPackage (Log in/out Use Cases) in the current project andthat Package in a Baseline captured at an earlier date.

The results of the comparison are displayed on the'Comparison Utility' view.

Review Changes

Aspect Description

Interpretation A hierarchy of model elements isdisplayed in the left-hand pane.From the triangle-based icons and thehighlighted lines on the report, it isclearly visible which items in thehierarchy have, since the Baseline was

(c) Sparx Systems 2020 Page 246 of 266

Page 247: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

captured, been:Changed·

Deleted from the model (in the·

Baseline only)Added to the model (in the Model·

only) orSwitched to different Packages·

(changes in the Parent Packageproperty)

If you click on an item in the left handpane, the right-hand pane displays a tableof properties showing the values of thoseproperties in the current model and in theBaseline.For each property where there is adifference between the model and theBaseline, the row is highlighted.The 'Compare Utility' view enables youto perform operations (such as merging orrolling back changes) on the reportedinformation, using the toolbar, contextmenu and keyboard.

IncreaseLevel ofDetail

The right panel of the 'Compare Utility'view might, for some fields, display onlypart of the value.It might also not be immediately obviouswhat a change is.

(c) Sparx Systems 2020 Page 247 of 266

Page 248: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

In either case, you can double-click onthe property to display full details and tohighlight the exact differences; thisexample shows the highlighted changesto the 'Name' property.

Notes

The Compare utility is available in the Professional,·

Corporate, Unified and Ultimate Editions of EnterpriseArchitect

(c) Sparx Systems 2020 Page 248 of 266

Page 249: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Compare Utility View Options

The 'Comparison Utility' view enables you to performoperations on the reported information, using the toolbar,context menu, 'Merge' dialog and certain keyboard keys.

The toolbar is at the top of the left-hand panel; the icons·

operate either on the comparison as a whole or on thecurrently-selected item in the left hand panel of the'Comparison Utility' view

Each item in the hierarchy has a context menu, which you·

display by right-clicking on the item; the optionsdisplayed depend on the level of the item in the hierarchy

The 'Merge' dialog enables you to specify which changes·

to roll back in the model from the baseline

You can use a selection of keyboard keys to move up and·

down the hierarchy, or to roll back changes

Toolbar Options

Option Action

Refresh Re-run the comparison to refresh thecurrent display.

Merge To Merge the values of thecurrently-selected item in the Baseline

(c) Sparx Systems 2020 Page 249 of 266

Page 250: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Model back into the model.

Next Change Highlight the next changed item (thisskips Moved items).

PreviousChange

Highlight the previously-changed item.

Expand All Fully expand the selected item.

Collapse All Collapse the changed items in theselected item.

Expand ToChangedItems

Expand the selected item to showchanged items only (in the event that youhave selected to also show unchangeditems in the comparison).

Find inProjectBrowser

Highlight the item in the Browserwindow.

Log To XML Log the changes to an XML file.A browser displays, on which you specifythe file name and location.

CompareOptions

Display the 'Baseline Compare Options'dialog.

(c) Sparx Systems 2020 Page 250 of 266

Page 251: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

ManagePackageBaselines

Re-display the 'Package Baselines' dialogor 'Reusable Asset Service - Baseline'view, as appropriate.

Help Display the Help topic PackageBaselines.

Context Menu Options

Option Action

Merge fromBaselineAdd fromBaseline

Restore the item in the model to theBaseline state, or restore a deleted itemfrom the Baseline.

Delete fromModel

Remove a recently-created item from themodel.

Merge FromBaseline(withOptions)

(For the root node of the hierarchy on the'Compare Utility' view.)Display the 'Merge' dialog, which youcan use to specify options for rolling backthe whole model branch to the Baselinestate.

(c) Sparx Systems 2020 Page 251 of 266

Page 252: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Refresh (Object-level items.)Re-run the comparison to refresh thecurrent display.

Find inProjectBrowser

Locate and highlight the item in theBrowser window.

OpenBaselineDiagramCompare

(For a diagram listed in the comparison.)Display the Baseline Diagram Comparewindow, showing differences in diagramcontent and layout.

Expand All Fully expand the selected item.

Expand ToChangedItems

Expand the selected item to showchanged items only.

Collapse All Collapse the changed items in theselected item.

Log To XML Log the changes to an XML file.A browser displays, on which you specifythe file name and location.

BaselineCompare

Display the 'Baseline Compare Options'dialog.

(c) Sparx Systems 2020 Page 252 of 266

Page 253: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Options

Merge Dialog Options

Option Action

Changed Restore all changed items in the modelbranch to the Baseline state.

In BaselineOnly

Restore all deleted items to the modelbranch from the Baseline.

In ModelOnly

Remove all recently-created items fromthe model branch.

Moved Restore all moved items to their originallocations, as identified in the Baseline.

Full Restorefrom XMI

Completely restore the model branch tothe version held in the Baseline XMI 1.1file, (using the 'XMI Import' function).(This option automatically selects all theother options)

(c) Sparx Systems 2020 Page 253 of 266

Page 254: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Keyboard Keys

Ctrl+ ↓ - expand and highlight the next changed item·

Ctrl+ ↑ - expand and highlight the previous changed item·

Ctrl+ ← - undo the changes for a selected item (roll back·

to the Baseline values)

(c) Sparx Systems 2020 Page 254 of 266

Page 255: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Check Visual Changes to Diagrams

The Baseline Diagram Compare feature is a quick and easyway to visually compare a current diagram with an earlierversion from a saved Baseline, and highlight any elementsin the diagram that have been added, deleted, resized ormoved.

You can then review these changes and optionally roll backindividual changes if needed to their previous state from theBaseline.

The changes are identified on the 'Baseline DiagramCompare' dialog and on the diagram itself.

Access

Select the diagram to be checked, then apply one of theseaccess methods:

Ribbon Layout > Diagram > Options > Compareto Baseline (on an open diagram)Design > Diagram > Manage > Compareto Baseline (on an open diagram)

Other Perform a comparison of a Package1.and Baseline (see The Compare Utility(Diff) Help topic).Locate the diagram in the results on the2.

(c) Sparx Systems 2020 Page 255 of 266

Page 256: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

'Baseline Comparison' view.Right-click on the diagram name and3.select the 'Compare to Baseline' optionto display the 'Baseline DiagramCompare' dialog and to open thediagram (refer to the Results section).

Multiple Owner Packages

When you create a Baseline, it can be for a Package thatcontains one or more levels of child Package, and you mightcreate Baselines for the Package(s) at each level. If thediagram you are checking is at a lower level in thehierarchy, there might therefore be a number of Baselinesthat contain information on the diagram, perhaps taken atdifferent times and capturing different changes to thediagram.

When you open the diagram before performing the check,and select one of the direct ribbon access paths, if thediagram is referenced in multiple Baselines you might berequired to select the Package from which to use a Baseline,on the 'Load Baselines from Package' dialog.

(c) Sparx Systems 2020 Page 256 of 266

Page 257: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

The 'Load Baselines from Package' dialog provides thefacility to compare the diagram with one of a broader rangeof Baselines than just those from the diagram's immediateparent.

This dialog displays if you have NOT selected the 'Alwaysopen first parent with a Baseline' checkbox on either:

The 'Load Baselines from Package' dialog itself or·

The 'Baseline Compare Options' dialog·

Selecting or deselecting the option in one location alsoselects or deselects it in the other.

Click on the required Package, and click on the OK button.In this case, or if the dialog did not display at all (thecheckboxes were selected), the 'Baselines dialog displays.

(c) Sparx Systems 2020 Page 257 of 266

Page 258: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Processing

Click on the required Baseline and on the Show Differencesbutton. The 'Baseline Diagram Compare' dialog displays.Refer to the Results section and the Options table.

Results

The 'Baseline Diagram Compare' dialog shows the elementsthat have been changed on the diagram, and what kind ofchange was made (examine the 'Status' field).

As you select elements on the dialog, images are shown onthe diagram itself to indicate where the changed elementwas and what kind of change it underwent.

Options

(c) Sparx Systems 2020 Page 258 of 266

Page 259: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Option Detail

Select (clickon) name ofelement

The 'Status' column indicates whether theelement has been:

Moved or re-sized (Changed)·

Deleted from the diagram (Baseline·

only)Added to the diagram since the·

Baseline was captured (Model only), orDeleted from its parent external·

Package, and there is no record in thecurrent Baseline (because the Baselineis only for the current diagram's parentPackage)This diagram-linked element has beendeleted from the model. The elementmight be found in a different baselineeither in a parent Package baseline or adifferent Package baseline outside ofthe current Package. If the externalreferenced element is restored to themodel, the visual comparison will beable to resolve the missing diagramobject in the current baseline.

When an item is selected, thecorresponding element on the diagram ishighlighted as shown:

(c) Sparx Systems 2020 Page 259 of 266

Page 260: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Deleted from the diagram·

Added to the diagram·

Resized or moved to a new position·

A deleted external element on the·

diagram

The highlighted element on the diagramis marked with a colored dot, as shown,to indicate that it is in focus.

Position thediagram toshow theselectedelement

To scroll the diagram so that you can seethe original (Baseline) position of anelement, double-click on the item in thelist.To scroll the diagram so that you can seethe current (model) position of theelement, press and hold Ctrl while youdouble-click on the item.

(c) Sparx Systems 2020 Page 260 of 266

Page 261: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Leave thechanges inthe item asthey are

Ensure that the checkbox against the itemis not selected.Click on the OK button.

Roll thechanges backto theBaselineposition

Click on the checkbox against eachrequired item (or click on the Check Allbutton to select every item).The 'Action' column displays the actionrequired to roll each element'srelationship to the diagram back to theBaseline relationship, and on the diagramthe selected elements are represented asshown:

This deleted element will be restored·

This added element will be removed·

This resized/repositioned element will·

be put back in its original position

This element from another Package,·

deleted from the diagram, cannot be

(c) Sparx Systems 2020 Page 261 of 266

Page 262: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

restored from this Baseline

The comparison automatically shows ablue direction arrow for each repositionor resize that has been checked. For aheavily edited diagram this might beconfusing. However, you can hide thearrow for all elements except the onecurrently in focus; to do this:

Deselect the 'Visually link new and old·

position for checked items' checkboxTo roll back the changes for all items forwhich a checkbox is selected:

Click on the Apply button·

Notes

Diagram Baseline facilities are available in the Corporate,·

Unified and Ultimate Editions of Enterprise Architect

(c) Sparx Systems 2020 Page 262 of 266

Page 263: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Compare Projects

A number of operations can make changes to your projectthat you either want to monitor carefully or not have at all.Such events include:

Recovering from a database crash·

Restoring a backup·

Performing a Project Data Transfer·

Importing from XMI, and·

Deleting model elements·

You might have made a copy of the original project or thepurpose of the operation is to generate a copy, in which caseyou can compare the size and row counts of the 'before' and'after' copies as a convenient 'sanity check'. The copies canbe on different platforms; you have options to:

Compare a project file to another project file·

Compare a project file to a DBMS-based repository·

Compare two DBMS repositories·

The comparison examines the number of project rows ineach database, producing a report indicating the totalrecords in each and the difference in record count betweenthe two. If discrepancies are found, you must investigatefurther manually. The comparison does not examine theactual data in the tables.

Access

(c) Sparx Systems 2020 Page 263 of 266

Page 264: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

Ribbon Configure > Model > Integrity > ProjectCompare

Compare two projects

Step

Action

1 On the 'Project Compare' dialog, select the radiobutton for the database types of the two projects youwant to compare:

File to File·

DBMS to File·

File to DBMS·

DBMS to DBMS·

2 In the 'Source Project' and 'Target Project' fields,type the name or connection string for the source andtarget projects to compare.

3 Click on the Compare Projects button.The results of the comparison display in the panel atthe bottom of the dialog.

(c) Sparx Systems 2020 Page 264 of 266

Page 265: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

4 If you want to print the results of the comparison,click on the Print List button.

(c) Sparx Systems 2020 Page 265 of 266

Page 266: Change Management · 9/7/2020  · Reference Data To share changes in reference data between users in a version-controlled project deployed as multiple private models, you periodically

User Guide - Change Management 7 September, 2020

(c) Sparx Systems 2020 Page 266 of 266