archimatetool / archi-modelrepository-plugin

coArchi - a plug-in to share and collaborate on Archi models.
152 stars 52 forks source link

Unclear how to work with multiple models and GitHub #162

Closed neiljthomson closed 3 years ago

neiljthomson commented 3 years ago

It is not clear how to use the Collaboration tool with multiple models. 1) The Workflow for creating a new model with the Collaboration tool is unclear. Saving a project to local disk creates a .archimate file, but performing a "Adding the model to workspace and publish" creates a series of folders based on the internal structure of the Archimate model, but no .archimate file. Given that the Archimate tool can only open a .archimate file, this is very confusing. 2) The "Adding the model to workspace and publish" asks for a repository URI, etc. which implies that each model should be in a different GitHub repository, but documentation is unclear on this point. 3) Assuming that the .archimate file interworks with the folders under the model folder containing individual modelling objects (which are internal to an .archimate file) it is not made clear how this works nor where the .archimate file should be saved with respect to the model folder and it's sub folders.

  1. Given the difficulty of merging modelling objects, it is unclear why there is no locking feature to prevent different people incompatibly modifying the same Archimate component.
jbsarrodie commented 3 years ago

Hi,

First, sorry to ask, but have you read the documentation available on the wiki ?

If no, please do. If still unclear please let us now and we'll see together how to improve documentation.

neiljthomson commented 3 years ago

Thank you for your quick response.

I have read all of the documentation in the wiki multiple times.

The issues I have listed are ambiguous or unspecified with my attempts at using the Collaboration tool resulting in problems I cannot resolve.

Perhaps there is an assumption of steps in saving an .archimate model vs. interacting with the local and remote repository and whether each model needs Its own GitHub repository which are not specified, plus issues with publishing to or retrieving from the (remote GitHub) server which are not explicitly documented.

Please read my exact issues in detail.

Regards,

Neil Thomson QueryVision <blocked::http://www.queryvision.com/> www.QueryVision.Com T-613.220.9929 Neil.Thomson@QueryVision.com mailto:Neil.Thomson@QueryVision.com

Phillipus commented 3 years ago

HI Neil,

thanks for your feedback. We know that using the Collaboration plug-in requires perhaps a bit more effort and understanding on the side of the user, but it is a work in progress. In fact, we are working on a version 2 of the plug-in!

each model should be in a different GitHub repository, but documentation is unclear on this point.

Yes, one model per repository. As this is open source software and the wiki is open for community editing, you could help us improve the wiki if you like.

Assuming that the .archimate file interworks with the folders under the model folder containing individual modelling objects (which are internal to an .archimate file) it is not made clear how this works nor where the .archimate file should be saved with respect to the model folder and it's sub folders.

As you say, when a model is added to the collaboration workspace, a copy is made inside of a folder and the component parts aggregated into smaller files. The user needn't concern themselves with this, just open the model from the workspace tab in Archi.

it is unclear why there is no locking feature to prevent different people incompatibly modifying the same Archimate component

No need for locking. This is all git based so the model is merged at the user end. You work on your local copy and then publish and refresh the model from and to the git server.

Hope that helps!

jbsarrodie commented 3 years ago

Please read my exact issues in detail.

I did, so please avoid such comment assuming I didn't.

Saving a project to local disk creates a .archimate file, but performing a "Adding the model to workspace and publish" creates a series of folders based on the internal structure of the Archimate model, but no .archimate file. Given that the Archimate tool can only open a .archimate file, this is very confusing.

This is explained here:

From a technical point of view, a model repository is nothing more than a Git server into which you’ll have one git repository per model. Each of those repositories [...] will contain a single ArchiMate model stored in a set of XML files. Each file contains the description of a single object (element, relationship or view).

The "Adding the model to workspace and publish" asks for a repository URI, etc. which implies that each model should be in a different GitHub repository, but documentation is unclear on this point.

See previous point (Each of those repositories [...] will contain a single ArchiMate model)

Assuming that the .archimate file interworks with the folders under the model folder containing individual modelling objects (which are internal to an .archimate file) it is not made clear how this works nor where the .archimate file should be saved with respect to the model folder and it's sub folders.

There is no .archimate file involved when using the model-repository plugin.

Given the difficulty of merging modelling objects, it is unclear why there is no locking feature to prevent different people incompatibly modifying the same Archimate component.

Can you explain what kind of "difficulties" you've faced when merging objects?

The plugin uses git technology mainly because it doesn't requires locking to merge things without conflicts (most of the time). It assumes that there are processes and governance in place to make sure the work is well spread on a team (I personnaly think that locking or detecting conflicts is way too late as this means that people wasted their time working on the same topic).

Phillipus commented 3 years ago

I'm going to close this issue. Here's why:

  1. If the OP feels the wiki can be improved please open new issue(s) with precise suggestions for improvements, or edit the wiki.
  2. Help with using the collaboration plug-in can be gained from working with the community and many things are discussed in the coArchi sub-forum (https://forum.archimatetool.com/index.php?board=6.0)
neiljthomson commented 3 years ago

I appreciate the quick response.

I would highly recommend a walk-through video of creating a new model and the steps for saving it locally and integrating it with GitHub with the Collaboration tool.

If creating a new model needs a new .git project/folder and repository then your instructions are unclear.

jbsarrodie commented 3 years ago

When do I create a new GitHub repository? Is this the first step?

Is this unclear (from this page):

The easiest way to enable collaboration work on an existing or newly created model is:

  1. Create a new Git repository on your Git server (can be any cloud or on premise solution like GitHub, BitBucket, GitLab...).
  2. [...]

Where do I save the .archimate file?

You don't. As already written, there is no .archimate file really involved. See this page:

Save changes. This action is the usual "Save" provided by Archi. Changes are saved but no commits are created.

Please show a file structure on disk of the GIT directories which include: a) the repository folder

It seems that this page contains this information:

If you are interrested by the underlying logic, note that it is built upon already existing Grafico plugin, so reading Grafico wiki can helps you understand how all this can work.

Which leads to this page

b) the location for the .archimate file with respect to the "model" folder and its sub-folders

No .archimate file involved as Phil and I wrote several time)

Noticing that Phil closed this issue, my very last comment is: Please read our documentation in detail. (we know it is not perfect but all you points were covered).