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 f
riendly
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.
CreditThe 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.
LicenseSome 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:
- 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
:)
This is cool. Curious why you wouldn't export in ArchiMate format? Is it too much of an information-losing transform?
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
Hi there,
Is this plugin available for MAC OS X as well?
GJG
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
Thanks. I'll work a little on my OS X experience.
GJG
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.
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 (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
Thanks for answer and for providing a solution.
We will wait for new version and then try to implement it in our environment.
Hi,
this is really great. Is it possible to import parts of the model by selecting a subfolder or single XML file?
cheerz,
Zakaria
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
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
Hi,
This is a stupid regression that appeared during development. I will publish a fix soon (in september).
Regards,
JB
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
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
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
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
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
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
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
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' ? ;-)
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
While I admit to not knowing much about it:
- isn't Archi based on Eclipse?
- isn't there rather good support for versioning in Eclipse (or its existing plugins), e.g. with menu's and everything in Eclipse itself?
- is there a way to let Archi work directly on the many files Grafico creates and then use / activate some existing Eclipse functionality / plugins to get svn/git/... working?
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?
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
Ah, too bad. Thanks for the clarification though!