Issue with model managed using GRAFICO plugin and Git

Started by bdendulk, April 20, 2016, 07:24:36 AM

Previous topic - Next topic

bdendulk

Hi Jean Baptiste,

I'm relying quite heavilly on this very nice and promising plugin. For a while I did not receive the error but since last week, I'm experiencing the same error. In the meantime I also have problems with orphaned relations. When I reset to a certain commit, the problem with orphaned relations disappear.

Kind regards,

Bart den Dulk

bdendulk

Allright, I just found the beta 0.2 version. Somehow, I got the old version of the plugin on my laptop (whilst I had the 0.2 beta version on my homecomputer). I will investigate further.

bdendulk

Hi,

I finally got my GIT repo in working order again. After doing some edits on the import of the most recent commit, I was able to save the model again as an archi file. No more messages about orphaned diagrams.

kind regards,

Bart

bdendulk

#3
Hi,

The error mentioned before has reappeared. Strangely, it is now persistent on 2 different PC's I use (one is a laptop for on prmise edits and one is a desktop with a large monitor @ home) whereas before it was not. Even more strange is the fact that when a collegue imports the same GIT version, he does not have the error. Attached is a screenshot. The GIT version is on public GIT and can be found here: https://github.com/bdendulk/NVWA_CA_BLIK

This leads me to believe it is a local problem. Is there some kind of caching along the way?

Please advice since it prohibits a broader use of the GIT export on a client project.

Kind regards, Bart den Dulk

prgee

Hi Bart,

This may not be much help but I was able to download your GRAFICO elements  from GITHUB and successfully import them into Archi (ver 3.3.1 with GRAFICO ver 0.2 plugin).  My system is Windows 7 (64 bit).  This supports your theory that it is some local problem.

Cheers,
Peter

Jean-Baptiste Sarrodie

Quote from: bdendulk on April 26, 2016, 12:56:16 PM
Hi,
[...]
This leads me to believe it is a local problem. Is there some kind of caching along the way?

Please advice since it prohibits a broader use of the GIT export on a client project.

Kind regards, Bart den Dulk

Hi,

First I'm somewhat happy to see that you now use this plugin a lot. It's always good to have some feedbacks to find bug but also to better understand how use cases could evolve.

I haven't tested it myself but as Peter said, if it is possible to import you model elsewhere this seems to mean that it's a local problem. In this case you should have a look at the real error output (Help > About Archi > Installation Details Button > Configuration Tab > View Error Log Button) and maybe post it in a dedicated forum message.

Re Caching, there is no caching at all in Grafico plugin, we only use some temporary files that should automatically be removed when you close Archi (this is managed through standard Java internals, so nothing special).

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.

bdendulk

Hi JB an Peter,

Thanx for your support. I have attached the error log. I will try to update Java and see what happens. I'm on Windows10 64 bit but using 32 bit version of Archi (i think).

kind regards, Bart

prgee

Hi Guys,

I need to amend my previous reply. Although I was able to import the model with the GRAFICO plugin, I got a bunch of errors when I tried to save the model as a *.archimate file. However, I was able to export the model using the Open Group exchange plugin and noticed a lot of entries like this:

      <connection identifier="id-99c37d6b" relationshipref="id-null" source="id-ca6be9c7" target="id-9c722181">
        <style>
          <lineColor r="0" g="0" b="0" />
        </style>
      </connection>

The value "id-null" seems to indicate that there is no actual corresponding relationship defined in the model. I am now thoroughly puzzled ???

Regards,
Peter

bdendulk

Hi Peter,

Just a thought. Could it be that views which have "nested" artefacts (meaning: artefacts that are placed on top of each other) but have no defined relation are somehow interpreted as having a relation?

Others have worked on this model and I noticed that relations where not always made between artefacts. On the other hand, it does not explain the reason for these error messages appearing all of a sudden. The only reason could be the actual version of Java being used? I am on the very latest version.

Kind regards.

Bart

Jean-Baptiste Sarrodie

Hi,

I've just had a look at your model and my conclusion is "simply" that some XML files related to some relationships have certainly been deleted...

Due to the way Grafico plugin works during import, it is possible that it doesn't raise any issues, but when saving back to a .archimate file (which is internally done by the plugin only if model contains some images) all controls are done to detect such abnormalities and you can then see the error message. So that's why my assumption is that at some point several files were lost.

I can see a way to solve this issue:

  • Import your model
  • Try to save your model as a .archimate file (which will fail)
  • Open the Archi error log in order to get the exact list of missing relationships and elements (and their ids)
  • Export it as a CSV set of files
  • Open the relations.csv file and add a line for each missing relation: use AssociationRelationship, an easily searchable name (e.g. "MISSING") and some valid ids for source and target (don't bother to choose elements that make sens)
  • Import those CSV back in your model, this will create missing relationships
  • At that point you should be able to save/export your model
  • Use Archi search feature to study each "MISSING" relationship (update each view using them and then remove them)

This should do the trick (I hope).

BTW - I can't understand your model (as I only understand french and english), but my obvious advice is to not publish anything sensible on a public git repository, use some private one (using GitHub or BitBucket for example) instead.

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.

bdendulk

Hi JB,

Thanx for your effort. I will try to apply the suggested method tomorrow.

With regards to using GitHub. We are indeed planning to move to a private Git server (which is actually available within the client ICT infrastructure but a suitable client is not .. ?!). Using GitHub was for shortterm practical use. Nevertheless, the information is not sensitive and the resulting architecture will at one point be made public since it is meant to be used as a reference architecture for similar governmental organisations.

Kind regards, Bart

bdendulk

Hi JP,

I started working on the bypass you suggested. However, I soon realised this will keep me busy for a couple of hours since the number of missing relations count into hundreds :o. Without knowing why al these files where deleted, I'm not sure if this is a viable way of resolving this.

I'm now looking at the various commits since I can co back to a commit where the problem of orphaned relations is non existing. Maybe GIT functionality will help me to restore these relations.

Kind regards, Bart

Jean-Baptiste Sarrodie

Hi,

You're right, that's the whole point of using Git ;-)

FYI, I've split this forum thread to make it dedicated to your issue.

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.

bdendulk

Hi JP,

OK. Now the most strangest thing: the problem dissappeared again ..........  :o ??? ::)

After resetting to a previous commit (the one before a commit which saw a lot of relation files deleted). And subsequently moving forward several commits, I was able everyone and each time to save the Archi file. Even the last commit can now be saved as an Archi file.

I believe it has something to do with file synchronization with SourceTree (the Git client I am using).

Kind regards, Bart

bdendulk

#14
I have been able to reproduce the procedure to get to a working archimate save file:
1- go back to a commit which can be saved
2- import into Archi (check save by changing something: in my case it is commit 1caa7b2, one but last on 18th of april)
3- close model
4- go back to latest commit
5- import into Archi
6- edit model
7- save model