Concepts - archimatetool/archi-modelrepository-plugin2 GitHub Wiki
How it works
Under the hood coArchi uses Git (a distributed version control system that tracks versions of files) to manage the technical aspects of version control of Archi models. However, we've tried to shield the user from the "plumbing" of Git so that the user experience manifests in workflows such as "Commit" (create a point in time), "Publish" and "Refresh". Other concepts such as merging and branching are obviously Git oriented but we've tried to simplify those as much as possible.
From a technical point of view, a model repository is nothing more than a Git server into which you’ll have one git repository per model. Each repository contains a single ArchiMate model stored in a model.archimate
file with any images stored in an images
sub-folder.
[!CAUTION] You should not perform any manual Git actions such as Merge, Pull Requests or similar features on the Archi model as this would most certainly lead to model corruption. Though based on Git, coArchi manages merges and diffs at the semantic level and has in-built checks to ensure that the model is not corrupted. You have been warned.
One Model, One Repository
Once an Archi model has been added to the Collaboration Workspace it is copied to a folder that contains a .git
sub-folder and is basically a local Git repository. This (Git) Repository contains one, and only one, Archi model (named model.archimate
). This is so that all actions and views in coArchi can operate on one model alone. It would get extremely complicated and unmanageable if the Change History view were to show changes for more than one model.
Online Repository
An Archi model that has been added to the Collaboration Workspace also needs to be linked to an online Git repository so that local changes can be published (pushed) and refreshed (pulled). See Configuring a Remote Repository for more details.
Key User Interface elements
Collaboration Workspace
Allows quick access to all ArchiMate models managed by coArchi. For more information refer to Collaboration Workspace.
Change History
Show the list of commits created for the selected model. Also allows access to older versions and rolling back changes. For more information refer to Change History.
Branches
Manage and create branches for the selected model. For more information refer to Branches.