Hi All,
Thanks to the (financial) support of a (still small but growing) french usergroup, Phil and I currently work on a new plugin that allows collaborative work on Archi. This opensource plugin is based on the Grafico format but hides all the Git complexity.
The first sprint just ended today and you can now test it by yourself. For this, just download the latest verion or Archi (https://www.archimatetool.com/download) and add the plugin jar file (https://github.com/archi-contribs/archi-modelrepository-plugin/releases) into the "plugins" sub-folder of your Archi setup. Once done you can start Archi and enjoy the new features:
The first step is to make the new tab visible, either through the "Window > Model Repository" or "Window > Reset Window Layout" menu option. The new plugin tab appears below the Models Tree.
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. You can easily use GitHub or BitBucket (which provides private repositories) to host your models.
- 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 right click on the model name in the plugin tab and choose "Commit Changes" (this can be done offline).
- When you are ready to publish/share your work, then right click on the model name in the plugin tab and choose "Publish". In case of conflicts (same concept changed and published by someone else) you'll see a windows helping you to fix them.
If you want you can follow the work through the projects (https://github.com/archi-contribs/archi-modelrepository-plugin/projects) and issues (https://github.com/archi-contribs/archi-modelrepository-plugin/issues).
Regards,
JB
Let me just say that this is an exciting new development in Archi.
Bear in mind that the plugin as you see it today is the result of JB's previous work with his Grafico plugin and a 10 day sprint that I worked on with JB. So it's still early days, and there's a lot more to do.
But an avalanche starts with a small snowball.
I believe that, given time, we can, with the help of the open source community, develop a powerful distributed solution for the sharing and versioning of ArchiMate models.
This is a beginning. We are excited at what is to come.
Phil
Hi JB, Phil,
That's great news ! Very much complementary of my database plugin ;D
Hervé
Quote from: Hervé on May 19, 2017, 22:22:51 PM
Hi JB, Phil,
That's great news ! Very much complementary of my database plugin ;D
Hervé
Indeed! And the work that you have done is also important for the Archi community. ;)
Hi.
Thanks a lot for the cool feature :D
Is there any easy way to save an existing project using this new mechanism?
Regards,
Marek
What do you mean by "save an existing project"?
Do you mean take an existing model and add it to an online repository? If yes, then we are working on that now to upload the model and push it to a GitBlit repository.
That's exactly what I meant.
Thanks for the info. :)
See issue https://github.com/archi-contribs/archi-modelrepository-plugin/issues/15
Hi Phil,
I have a request. Could the plugin display a message about a status of the just performed operation until it's closed manually? At the moment confirmation messages flash to fast and disappear. Not always you can keep up with reading. What about status line and/or scrollable log window ?
Regards,
Marek
Hi Marek,
please open an issue here https://github.com/archi-contribs/archi-modelrepository-plugin/issues
This way we can track, discuss and be transparent about bugs and feature requests :-)
Phil
This plugin sounds really nice, thanks.
At our company we have a GIT server which uses keys for autentifikation. Can we use this together with this plugin?
If we can't use that GIT server, what are the requirements or do you have a guide for settting GIT up for this eg. for Redhat?
Thank.
Hi,
Well, short anwser is no, you can't use it.
This plugin uses Git over HTTP(S) with user/password, so either you enable this communication chanel on your Git server (which is the prefered way), or you setup an alternative Git server. In such case, any product can do the job so pick the one you know best. FYI we are using GitBlit (http://gitblit.com/) which is a simple, multi platform and self contained solution (just download the GO edition, unzip it and run it (http://gitblit.com/setup_go.html)).
Regards,
JB
Hi JB,
thanks for the response. HTTPS login is not an option, it must be SSH authentication.
I have created an feature request and if it's possibly to add, then I can maybe find a Sponsor.
https://github.com/archi-contribs/archi-modelrepository-plugin/issues/42
T.
Super useful plugin and already very polished. This removes most of the need for a heavier solution for my organisation. The central repository was the only part missing from a great drawing tool.
I have been playing around with it a bit with our repository which contains around 2500 artifacts (2500 grafico xml files) and I noticed that committing takes quite some time. I suspect most of the time is being consumed in the export to grafico format, because a plain safe is much faster.
I will see if I can improve the export performance a bit (it's open source after all ;) )
It could be the export to xml files, or the Git status() call that consumes the time.
This may be a dumb questions to those more familiar with git. I'm struggling to create my first git repository using this plugin - I'm not sure two options I have available are clearly explained?
I have an empty repository area on a git. I have a local model on my PC. The wiki instructions suggest to click the Collaboration tab green plus 'Import Remote Model to Workspace". The form even says "Add Remote Model". This doesn't feel right.
However, I've noticed by selecting the top level Model, then right-click Collaboration -> "Add Local Model to Workspace and Publish". The form says "Add Model Repository". This feels like the first thing I should do.
Either way (not for you to solve..), I'm having problems with my local proxy servers.
I think we need a clearer "Getting Started" Guide.
The Green plus icon assumes that an existing or blank git repo exists online somewhere an this will pull it from the repo to a local model. "Add Local Model to Workspace and Publish" will take an existing model and push it to a new repo (if the online service supports that.)
Hello,
Great plug-in, that would be usefull to our architects team!
We're using GitLab CE, https (over LDAP) identification process. When trying to add local model to workspace (right-click on model, Collaboration sub-menu...), and validating URL / User / Password, I have an error message claiming that
There was an error: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException;: unable to find valid certification path to request target
Note that I have the same message if I provide only URL (with no user nor password)...
Any idea ?
PS: I'm not a security/java expert!!
Hi,
Your issue seems related to certificate management. I suppose your GitLab server use a self-signed certificate (potentially from your own PKI). In this case the certificate has to be added manually to the cacert file included in the JVM used by Archi (usually the one installed in the Archi folder).
A google search on "add certificate java cacert" could certainly help.
Regards,
JB
Very helpful.
Thanks!
Can this be managed some other way? Perhaps by code installing certificates?
Hi,
Quote from: Phil Beauvoir on November 09, 2017, 16:49:39 PM
Can this be managed some other way? Perhaps by code installing certificates?
Yes, I guess we could create a specific keystore instead of (or in addition to) the defult cacert of the JVM, and just use code to add needed certificates (see code examples here (https://stackoverflow.com/questions/10077714/adding-certificate-to-keystore-using-java-code) and here (https://stackoverflow.com/questions/18889058/programmatically-import-ca-trust-cert-into-existing-keystore-file-without-using)).
JB