Archi Forum

Archi Plug-ins => Other Plug-ins => Topic started by: Jean-Baptiste Sarrodie on March 25, 2015, 21:55:59 PM

Title: Archi is going multi-user: GRAFICO plugin (model repository support)
Post by: Jean-Baptiste Sarrodie on March 25, 2015, 21:55:59 PM
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 (https://archi-contribs.github.io/grafico.html).

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 (http://git-scm.com/). 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 (http://github.com/archi-contribs/archi-grafico-plugin/releases/download/release_0.1/org.archicontribs.grafico_0.1.0.jar) 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 (https://groups.google.com/forum/?hl=en#!searchin/archi-dev/git/archi-dev/8sCoD6Ctj-c/MnqM_luHJRAJ) 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 (http://creativecommons.org/licenses/by-nc-nd/4.0/). 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:

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

JB
Title: Re: Archi is going multi-user: GRAFICO plugin (model repository support)
Post by: Phil Beauvoir on March 25, 2015, 22:04:05 PM
 :)
Title: Re: Archi is going multi-user: GRAFICO plugin (model repository support)
Post by: alan on March 26, 2015, 18:20:14 PM
This is cool. Curious why you wouldn't export in ArchiMate format? Is it too much of an information-losing transform?
Title: Re: Archi is going multi-user: GRAFICO plugin (model repository support)
Post by: Jean-Baptiste Sarrodie on March 26, 2015, 19:31:50 PM
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
Title: Re: Archi is going multi-user: GRAFICO plugin (model repository support)
Post by: GGerards on April 10, 2015, 11:19:35 AM
Hi there,
Is this plugin available for MAC OS X as well?

GJG
Title: Re: Archi is going multi-user: GRAFICO plugin (model repository support)
Post by: Jean-Baptiste Sarrodie on April 10, 2015, 12:17:16 PM
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
Title: Re: Archi is going multi-user: GRAFICO plugin (model repository support)
Post by: GGerards on April 10, 2015, 16:09:15 PM
Thanks. I'll work a little on my OS X experience.

GJG
Title: Re: Archi is going multi-user: GRAFICO plugin (model repository support)
Post by: Ustel on April 30, 2015, 14:36:20 PM
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.
Title: Re: Archi is going multi-user: GRAFICO plugin (model repository support)
Post by: Jean-Baptiste Sarrodie on May 05, 2015, 08:52:19 AM
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:

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 (http://www.archimatetool.com/#donate) 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
Title: Re: Archi is going multi-user: GRAFICO plugin (model repository support)
Post by: Ustel on May 06, 2015, 11:29:59 AM
Thanks for answer and for providing a solution.
We will wait for new version and then try to implement it in our environment.
Title: Re: Archi is going multi-user: GRAFICO plugin (model repository support)
Post by: zakariaEIRA on June 04, 2015, 16:08:32 PM
Hi,

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


cheerz,

Zakaria
Title: Re: Archi is going multi-user: GRAFICO plugin (model repository support)
Post by: Jean-Baptiste Sarrodie on June 04, 2015, 16:38:59 PM
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 (https://github.com/archi-contribs/archi-grafico-plugin/wiki). Look at this page (https://github.com/archi-contribs/archi-grafico-plugin/wiki/Merge-two-%28or-more%29-models) in particular.

Regards,

JB
Title: Re: Archi is going multi-user: GRAFICO plugin (model repository support)
Post by: Jan Duisterwinkel on August 25, 2015, 15:34:35 PM
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
Title: Re: Archi is going multi-user: GRAFICO plugin (model repository support)
Post by: Jean-Baptiste Sarrodie on August 25, 2015, 20:51:25 PM
Hi,

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

Regards,

JB
Title: Re: Archi is going multi-user: GRAFICO plugin (model repository support)
Post by: BG_Nuon on September 08, 2015, 14:16:17 PM
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
Title: Re: Archi is going multi-user: GRAFICO plugin (model repository support)
Post by: Jean-Baptiste Sarrodie on September 09, 2015, 09:51:40 AM
Quote from: BG_Nuon on September 08, 2015, 14:16:17 PM
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

Hi,

Thank you for your support.

I've started (re)working on this issue yesterday (I first had to fully reinstall my development environment following a major OS upgrade). The root cause of the issue is now known and I should be able to fix it in a couple of days. Thus a new beta version should be available really soon. Stay tuned, as I will need beta testers.

Regards,

JB
Title: Re: Archi is going multi-user: GRAFICO plugin (model repository support)
Post by: PHD on May 04, 2016, 15:01:49 PM
HI Jean Baptiste,

First of all, thank you for your work.

I will try to use Archi in my companie but i am stuck with the hability to use the Grafico plugin with Git.

I create a folder on a network drive and creat a repository with all the files exported by Archi in the Grafico format.

The branch master in Git is Ok and i try to clone the repository on my computer in local to do some changes and try to commit the changes to the repository.

The issue i encounter is that the cloned model on my computer could not be opened via the Import fonction of Grafico.
I can import the model that is in the central repository but not the cloned one thta i have in local and have no error messages.

I checked the folders and xml files on the local folder and everything seems ok and identical to the repository.

So my question is, is this the way to follow to allow users to work on the same model concurently ?

Regards,
Philippe
Title: Re: Archi is going multi-user: GRAFICO plugin (model repository support)
Post by: Jean-Baptiste Sarrodie on May 04, 2016, 15:13:12 PM
Hi,

You might be affected by a small bug: Git doesn't commit empty folders, so if you export a model that doesn't contain images, you'll end up with an empty "images" folder that isn't commited to Git. And thus, when you clone the repository you get only the "model" folder and not the "images" one, leading to import not working.

If this is your case, then you can workaround it by creating a canvas view with an image. I shall fix this bug one day but unfortunately haven't so much time now.

If this is not your case then we'll have to investigate a little bit more.

Regards,

JB
Title: Re: Archi is going multi-user: GRAFICO plugin (model repository support)
Post by: PHD on June 24, 2016, 13:46:37 PM
HI Jean Baptiste,

I have an issue when i save the model in its Archimate version after an export to Grafico.

The message says that it cannot open the model because it is incompatible: "Class 'ArchimateModel' is not found or is abstract.

Is it a problem with the file format ?

Regards,
Philippe
Title: Re: Archi is going multi-user: GRAFICO plugin (model repository support)
Post by: Jean-Baptiste Sarrodie on June 24, 2016, 13:49:01 PM
Hi,

This looks like the issue that was solved between v0.1 an v0.2. Are you sure to use the latest version of the plugin?

If you look at this thread, you should find more information about this issue (if this is the same).

Regards

JB
Title: Re: Archi is going multi-user: GRAFICO plugin (model repository support)
Post by: PHD on June 24, 2016, 14:02:41 PM
Hi Jean Baptiste,

You mean the org.archicontribs.grafico_0.2.0beta ?

I have to use this onoe in order to solve this issue ?

Regards,
Philippe
Title: Re: Archi is going multi-user: GRAFICO plugin (model repository support)
Post by: yvain on July 06, 2016, 13:16:11 PM
Hiyah,

I've looked at the GRAFICO plugin and have proved at least to myself that it all works reliably with a git repository service like bitbucket.

My question is - what is it like to use in the workplace? Especially for people who aren't used to git repositories and that sort of thing?

Are there any tips out there for how to make using it, if not idiot-proof, then at least 'manager-proof' ? ;-)

Title: Re: Archi is going multi-user: GRAFICO plugin (model repository support)
Post by: Jean-Baptiste Sarrodie on July 08, 2016, 13:28:49 PM
Hi,

I'm happy to receive such good feedback ;-)

Asof now Grafico is still at POC stage: perfectly usable but relying heavily on Git knowledge. I don't have a perfect solution, but in my case I had some success (with people that don't know Git) with TortoiseGit (https://tortoisegit.org/). It is simple enough to be used by newcomers and you can set it up so that only useful menu entries are visible (a basic tutorial is available here (https://github.com/archi-contribs/archi-grafico-plugin/wiki/How-to-setup-a-lightweight-Git-environment)).

Another option would be to use Grafico as the basis for another plugin that could come with its own Git implementation, making it easy to use. As one can imagine, such development requieres a lot of work and can't be done for free, but I guess that if enough people are ready to pay this could be "crowdfunded" so that Phil could work on it.

Regards,

JB
Title: Re: Archi is going multi-user: GRAFICO plugin (model repository support)
Post by: JayVee on August 22, 2016, 09:11:59 AM
While I admit to not knowing much about it:

I'm interested in the crowd-funding idea. I wonder, if you started a tiny kickstarter for a specific functionality like this and put a quote on it, if enough participants in this discussion would pitch in?
Title: Re: Archi is going multi-user: GRAFICO plugin (model repository support)
Post by: Jean-Baptiste Sarrodie on August 22, 2016, 09:17:04 AM
Hi,

Archi is based on Eclipse Rich Client framework, not the Eclipse IDE. This means that there are no such things as eGit plugin usable off the shelf.

So what could basically be done is to develop an Archi plugin that uses a pure Java Git lib (JGit for example) and implement all needed Git features. But that's a lot of work. Crowdfunding could be done, but as this would rely a lot on Archi internals, this would have to be done after any major code update (as the one needed to support ArchiMate 3.0).

Regards,

JB
Title: Re: Archi is going multi-user: GRAFICO plugin (model repository support)
Post by: JayVee on August 22, 2016, 09:32:38 AM
Ah, too bad. Thanks for the clarification though!