Skip to content
Jean-Baptiste Sarrodie edited this page Nov 15, 2018 · 18 revisions

Welcome to the archi-modelrepository-plugin (also known as Collaboration plugin) wiki!

While this plugin is still mainly a work in progress, you'll find here some useful informations...

Presentation

This plugin is an extension to Archi that provides collaborative features. It basically allows you to share a model on a repository and work on it with other users.

If you are interrested by the underlying logic, note that it is built upon already existing Grafico plugin, so reading Grafico wiki can helps you understand how all this can work.

How it works

The cornerstone is the KISS. This basically means that we avoid reinventing the wheel and use Git (a source code management system) to manage the hard stuff (branch management, diff/merge...). But the plugin manages all the "plumbing" needed to provide a good user experience without requiring Git knowledge.

From a technical point of view, a model repository is nothing more than a Git server into which we will create one git repository per model (containing the model saved in the Grafico format).

How to set it up

To install:

  1. Download the Archi plug-in zip file from the Archi plugin page.
  2. If you are on Windows and have installed Archi with the installer, you need to run Archi as administrator to install a plug-in. You can do this from the desktop right-click menu on the Archi application or shortcut by selecting “Run as administrator”.
  3. In Archi, select “Install Archi Plug-in…” from the main Help menu. Navigate to the downloaded zip file and then, when prompted, allow Archi to restart. The plug-in will then be installed when Archi restarts.
  4. The "Collaboration" menu should now be visible

Configuration

settings

You can access configuration through the menu "Edit > Preferences".

  • The local repository folder is by default located in your profile (or equivalent on Mac and Linux). This folder contains local copies of all the models that you have in your workspace. In some aspects, it is your workspace. You can move it wherever you want if needed.
  • Every commit is signed with your identity. This identity is composed by your nameand your email. Set them as appropriated.

    Note that you can't change the signature of a commit!

  • The plugin will prompt for your credentials each time you have to connect to a server (ie. when refreshing or publishing a model). You can allow the plugin to store your credentials if you want a seemless experience. If you enable this option, you can then also decide to enable background fetch.

    Background fetch allows Archi to automatically get remote updates to update model status on the fly.

  • If the models you work with are stored on a server which is behind a web proxy, you have to configure it accordingly.

    Note that proxy support is currently experimental and will be use to connect to all of your models.

How to use it

Key User Interface elements

ui

  • Collaboration Workspace: allows quick access to all ArchiMate models managed by this plugin. Model icon change depending on sync state. This state is also visible in the status bar when a model is selected.
  • Change History tab: show the list of commits done on selected model. Also allows access to older versions (Extract model from this commit) and rolling back changes (Restore to this commit and Undo the lastest commit).
  • Collaboration menu: offers access to all features. They apply to the currently active model (ie. the model owning the view being edited and in focus, or the one that contains the select element in the model tree).
  • Toolbar: offers quick access to main features. Also apply to the currently active model.

Work in progress

Quick start:

  • Check out the new Preferences tab in Archi's Preferences dialog for global settings
  • You need to have a new empty git repository already setup on a git server
  • To add the model from the repository locally, select the first toolbar button in the plugin tab (the green cross). This will clone the repository and create a new blank model
  • Work as usual on your model and save it whenever you want
  • When you're ready to commit your changes, then choose "Commit Changes" (this can be done offline)
  • When you're ready to publish/share your work, then choose "Publish". In case of conflicts (same concept changed and published by someone else) you'll see a windows helping you to fix them.