Feature discussion of sharing/nesting Archi models and support with GIT

Started by Manj75, May 24, 2019, 12:12:41 PM

Previous topic - Next topic

Manj75

As mentioned in my previous post 'Ability to set folders/views to be non-editable' this is linked to that.

I am looking at adopting Archi across the company enterprise which comprises of multiple business verticals and each with their own Architects.  I've got Archi/GIT rolled out to the Ecommerce vertical.  I've created an organisation folder structure within Views folder to represent typical TOGAF based concepts and these will be duplicated in every model/GIT for each vertical.  Now what I'm looking to achieve is the ability to have a set of viewpoints that are relevant to all verticals to be shared.

I've looked into using GIT submodules and seems to be a good candidate for what I want to do, however I hit a problem because Archi does not directly use the local GIT repo structure, it is translated into the .archimate file type to work in Archi.  This means that even though I can have a submodule GIT added to another Archi model repo, it will not be parsed into the .git\*.archimate file.  Now, I have come up with a workaround and that is I could hack the .git\*.archimate XML file to merge the submodule .archimate file into it and it results in showing up in Archi when loaded - which is progress.  However there will be issues if I were to GIT check-in changes the submodule specific items that were merged will get duplicated in the primary GIT repo.

Also where the submodules viewpoints appear in Archi after a .archimate merge these are editable, which is where my previous post stems from.  It would be good to have them marked as non-editable so they are given some protection.  To then overcome the issue of duplicating into the primary GIT it would be nice to have Archi understand new XML attributes that mark the submodule as external or something so it knows not to include it in the GIT operations of the primary model repo.

Ideally, it would be good to get GIT submodules supported fully native in Archi so that in a single model can comprise of elements/viewpoints for another submodule repo added ArchiMate concepts.

Hopefully, this all makes sense.

I know it is unlikely to be a feature available out of the box, but I just wanted to start a conversation to gauge the interest of this type of feature.  I think the biggest problem is that for medium to large organisations single Archi model could very quickly grow to an unmanageable level.

To help here is a example of what I want to achieve.

Following 3 GIT repos representing a model:

a) Enterpise_All_Verticals_Repo
b) Vertical_1_Repo
c) Vertical_2_Repo

a) is to be made available in b) and c) and can be done so as a GIT submodule.

Archi could be made aware that there is a submodule (nested repo) such that on loading it translates it to appropriate XML in .archimate and shows it as a nest folder in the Views folder with the name of a).  This nested submodule folder in Views is made non-editable or there is intelligence to know that a GIT operation must occur over >1 repos based on where changes have been applied.

Thanks.

Hervé

Hi,

Even if it doesn't implement access rights on archimate concepts or folders, my database plugin (https://github.com/archi-contribs/database-plugin/tree/master/v2) nevertheless implements some features that may match your needs, like (non exhaustive list):

  • The plugin uses a relational database as repository (Postgres, mysql, sqlite, oracle, MS SQL Server, ...) and it is possible to use SQL requests to request or update the models outside of Archi.
  • The models and all their components are versioned. It is therefore possible to know who did changes and rolback them.
  • It is possible to share components across several model, from individual Archimate concepts to full views. If one component is updated in one model, then all the other models are updated accordingly.
  • A conflict alert is raised when a component is updated at the same time in two models, and the conflict should be solved before the model can be written in the database.

Best regards
Hervé

Manj75

I will evaluate the DB plugin separately - are there any plans to further extend the capabilities of the official Collaboration plugin to support features in your DB plugin and beyond.  Just wondering if there is anything planned on the roadmap.

It is unlikely that my current client will want to switch to a DB plugin as they are heavily invested in TFS GIT based repositories.  I'll be looking to develop some workaround applications to support what I need, but would be good to have natively supported in Archi.

I just saw the 'Request for Comments: Using concepts from another model in a view' post that is already discussing some of what I've articulated here.  It would be nice to have the solution supported in Colab' plugin using GIT - you might want to consider using GIT submodules in the design.  Look forward to seeing how this pans out.

Thanks

Hervé

Hi,

The collaboration plugin is developed and maintained by the Archi dev team. As for the database plugin, I developed it, alone, for my own needs, and shared it to anybody needs it. Its functionalities have been increased when people requested them.

As you can see, both plugins are not related and do not have a common roadmap.

Best regards
Hervé


Jean-Baptiste Sarrodie

Hi,

As Herve explained, Collaboration plugin ad DB plugin are two separate things with their own roadmap

Phil and I have a plan for something that you might be interested in: Collaboration plugin will soon allow you to import one model inside another. Thiw should first be implemented in a very generic way allowing multiple use-cases.

The idea is explain with a bit more details on this wiki page.

Regards,

JB
If you value and use Archi, please consider making a donation!
Ask your ArchiMate related questions to the ArchiMate Community's Discussion Board.

Manj75

Hi JB,

Is this feature available in Archi v4.5?

I would like to evaluate this change to see if if will work for our teams.

Thanks,

Manjit

Phil Beauvoir

> Is this feature available in Archi v4.5?

The Collaboration plug-in is a separate development process to Archi 4.5. We will work on this in the coming months.
If you value and use Archi, please consider making a donation!
Ask your ArchiMate related questions to the ArchiMate Community's Discussion Board.