Archi is going multi-user: GRAFICO plugin (model repository support)

Started by Jean-Baptiste Sarrodie, March 25, 2015, 21:55:59 PM

Previous topic - Next topic

Jean-Baptiste Sarrodie

Hi,

Today it a great day, not only Phil published Archi 3.2 with a lot of new features, but I'm happy to share with your a new and exciting plugin: GRAFICO.

GRAFICO stands for "Git friendly Archi File Collection" and is a way to persist an ArchiMate model in a bunch of XML files (one file per ArchiMate element or view). The resulting files can then be easily tracked and merge using almost any Version Control System (VCS) or Source Code Management (SCM) solutions like git. Said differently, this is the basis of a really powerfull model repository for Archi.

How to use it?
Important remark: this plugin is still young, so be prepared to find some bugs. You should also be aware that generated XML will certainly change a little soon to be even easier to update manually in case of conflict.

Still reading and not afraid? So just download the plugin and put it in the 'plugin/' subdirectory of Archi. You should now see two new menu entries "File>Export>Model as GRAFICO..." and "File>Import>Model from GRAFICO...". Just use them to export or import you model. By itself, the plugin doesn't do any versioning, it's up to you to choose the best tool for you needs (but I highly recommend git). I will cover several typical use-cases in the near futur.

Credit

The root idea came from some discussions with Árpád Magosányi and Michael Tapp on the old Archi forum.

License

Some will cry, but we decided to not use a real OpenSource license for this plugin: we choose the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International. Why? Simply because despite all the work done on Archi, very few people decided to donate. Model repository is the #1 request and we think that this plugin is the basis for such feature and could exist in a (commercial) enhanced version in the future.

So basically:

  • You are free to copy and redistribute this plugin in any medium or format.
  • You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests we endorse you or your use.
  • You can't use this plugin for commercial purposes.
  • If you remix, transform, or build upon this plugin, you can't distribute the modified material.

Feel free to experiment. I'm open to any question or remark.

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

Phil Beauvoir

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

alan

This is cool. Curious why you wouldn't export in ArchiMate format? Is it too much of an information-losing transform?

Jean-Baptiste Sarrodie

Hi,

QuoteCurious why you wouldn't export in ArchiMate format?

In fact, ".archimate" files created by Archi are XML or ZIP files (ZIP file when some images have been inserted in Canvas). Not being able to know in advance if you save a text file (XML) or a binary file (ZIP) is the first showstopper.

The second point is that you can't rely on git merge algorithm to merge big XML files: multiple concurrent changes are then merge almost always in a bad way and the resulting file can't be opened.

So in order to use git (or any other SCM) it is important to limit impact of changes. Creating one file per element means that changes on model will only lead to small changes on small files which in turn means that merge is almost always possible.

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

GGerards


Jean-Baptiste Sarrodie

Quote from: GGerards on April 10, 2015, 11:19:35 AM
Is this plugin available for MAC OS X as well?

Hi,

As for all Archi plugins, it is multi-platform and thus already run under Windows, Linux, OS X.

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.

GGerards


Ustel

Hello Jean-Baptiste,

how can I use this plugin in commercial company environment?
Selected license restricts me to do so and you did not provide any means how to obtain license.
We are considering using Archi for one smaller task and we would like to evaluate (and maybe future use with Archi) this plugin to provide shared repository for ~5 Archi users.

Jean-Baptiste Sarrodie

#8
Hi,

Thank you for you interest in Archi and GRAFICO.

For the moment the GRAFICO plugin is in an early stage but, as you've seen, already quite usable (and by the way I will soon publish v0.2 which will fix a bug which in some cases make impossible to save the model back to a .archimate file).

Regarding usage in your context (commercial environment), it depends on the usage you're gonna make, and especially how many Archi users will use this plugin and if your work is use outside your own organisation. Depending on those parameters, I will be able to tell you which donation to Archi would permit you to use it in your context (for the moment I don't want to make money myself, but instead try to make people donate to Archi, and thus Phil for all its work).

So, to answer:

If GRAFICO plugin is used purely for internal purposes (for example, to develop an information system architecture for use within your own organization). The proposed minimal donation is:

  • 1-5 users: 100€
  • 5-10 users: 200€
  • 10-50 users: 500€
  • 50+ users: 1000€

If used outside your own organization (if your are a consultant selling services or trainings for example) you have to double those minimal donations.

How to proceed: make a donation to Archi and use the "add special instruction to the seller" option to specify that your donation is related to the usage of the Grafico plugin (please provide your number of users and context), we'll then send you a license document to the email address associated to the paypal account.

Regards,

JB

PS: don't forget: these are minimum donation amount, you're free to donate more if you want to support Phil's work ;-)

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

Ustel

Thanks for answer and for providing a solution.
We will wait for new version and then try to implement it in our environment.

zakariaEIRA

Hi,

this is really great. Is it possible to import parts of the model by selecting a subfolder or single XML file?


cheerz,

Zakaria

Jean-Baptiste Sarrodie

Hi,

Quote from: zakariaEIRA on June 04, 2015, 16:08:32 PM
this is really great.

Thank you :-)

Quote from: zakariaEIRA on June 04, 2015, 16:08:32 PM
Is it possible to import parts of the model by selecting a subfolder or single XML file?

Not really, but you can achieve similar goal by manually copying xml files from one (grafico exported) model to another. You then have to copy xml files related to views but also elements and relations. I did it several time to merge topic related models into my main model.

You should find some informations about it on the wiki. Look at this page in particular.

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.

Jan Duisterwinkel

Hi Jean Baptiste,

I found out, that a GRAFICO repository cannot be re-serialized to an archimate-file again; an error message appears, saying: "Cannot open '{file}'. This model is incompatible. Class 'ArchimateModel' is not found or is abstract. (file: {file}, 2, 206)" Is this by design or a bug?

Regards,
Jan Duisterwinkel

Jean-Baptiste Sarrodie

Hi,

This is a stupid regression that appeared during development. I will publish a fix soon (in september).

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.

BG_Nuon

Hi Jean-Baptiste, first off you have done great work on this Grafico format. I am currently investigating whether we can use it in my company. Currently I am being hindered by the same bug as you refer to below. Class 'ArchimateModel' is not found or is abstract is the exact message I get when I try to reopen a model that I have saved after importing from the Grafico format.

Any update on when a fix can be expected?

Cheers, Bas