database export/import plugin v2 (alpha release)

Started by Hervé, February 27, 2017, 21:25:37 PM

Previous topic - Next topic

Hervé

Even if I'm a bit late on my initial planning ...

I'm proud to announce the alpha release of my new database plugin :
      https://github.com/archi-contribs/database-plugin/tree/master/v2

The key differences with the v1 are :

  • On a functional point of view : it is now possible to share components between models. In the alpha release, only elements can be shared between models, but very soon, it will be possible to share folders and views between models (and probably composites as well). Of course, a conflict resolution mechanism has been put in place to detect and solve conflicts. The models components are now individually versioned and it is possible to show up their history in the database and to compare the actual version to the previous version and eventually revert to a previous version.
  • On a graphical point of view : I completely reworked the graphical interface which implements a unified graphical chart.
  • On a practical point of view : I integrated the plugin deeper into Archi : I added new items on right clicks menus, I added pages in the inline help, ...

This sharing behavior has been mainly implemented for these use cases :
   - Sharing standard components like common processes or standard infrastructure components
   - Ability to split big models into smaller parts, each of them managed by a specific person, but accessing the "big picture" in a merged model (one to rule them all)
   - ...

The release note includes :
   - Compatible with Archi 4.0 only
   - Added log4j support
   - Complete rework of the graphical interface with unified graphical chart
   - Versioning at the element level
   - Reduce the quantity of data exported by exporting only updated components (use of checksums)
   - Detect database conflicts and add a conflict resolution mechanism
   - Reduce number of database tables
   - Reduce database table names to be compliant will all database brands (especially Oracle)
   - Add back Oracle JDBC driver
   - Temporarily remove the Neo4j driver
   - Add the ability to export the whole model or the elements and relationships only (useful for graph databases)
   - Accelerate import and export processes by using multi-threading
   - Add the ability to import components from other models
   - Add inline help
   - ...

This is an alpha release and all the functionalities are not yet developed, so please be indulgent. Nevertheless, please do not hesitate to download, test it and drop me a line in case of a bug or if you'd like another functionality.

Best regards
Hervé


ps : I'm already thinking about the v3 of the plugin. JB pointed me to the direction of CDO, an Eclipse framework that would allow to transform Archi to a real collaborative application (i.e. components modified in a model will be updated in real time into the other models). Please do not hesitate to drop me a line if you believe that this would be useful in your organisation.

brain_work

Hi Hervé,

Thanks for the new release which I'm going to test today  :D

I especially want to test the "Add the ability to import components from other models" and I'm curious about the "Add the ability to export the whole model or the elements and relationships only (useful for graph databases)".

And regarding v3/CDO: I just checked CDO briefly and it certainly is something we are interested in!

BTW I envision two slightly different usage roads for Archi: the IMHO more limited ArchiMate road (more limited because ArchiMate is a complex modelling language which is interesting only for a very small audience) and the IMHO broader concept mapping road (suited for a much broader audience, everybody can learn that in a couple of minutes) CDO seems to be a step forward on the (multi-user) concept-mapping road.
Note: I use the words limited and broader in the context of the possible number of users who can work with the models itself and who can easily understand the produced output (in the visualiser and/or the views). Perhaps one day there will be a feature which allows people to convert ArchiMate models to Concept Map models and vice versa  :P


Regards,
Peter

brain_work

Hi Hervé,

I downloaded the plugin and SQLite and restarted Archi and created an archidb SQLite datebase. But I can't point the database plugin to that database because I got errors on(or before opening) the preferences screen of the plugin. And I don't get a screen where I can fill in the database details (as I could with the previous version of the plugin).

I'm running Archi 4 Beta 7 on Windows 7 and I've attached a pdf with some screenshots.

Regards,
Peter

Hervé

Hi Peter,

Thanks for this quick test (even if I did not expect this kind of bug  :-[).

I'm using Archi 4.0 beta 7 version too (Windows 7 32 bit at work and Windows 10 64 bit at home). I believe it dosen't come from the JRE because it is provided with Archi ...

Could you please activate the Java console (i.e. launching archi.exe - console) and check if you've got some error messages in the console ?

Thanks and regards
Hervé

brain_work

Hi Hervé,

I've attached the part of the error log from this morning's session with the DB plugin.

Regards,
Peter

brain_work

Hi Hervé,

I've attached the Archi -console log form my session I just started.

Regards,
Peter

Hervé

thanks for these files.

That's weird : java.lang.ClassNotFoundException: org.archicontribs.database.DBDatabase

One of my key class is not found ... It seems that my JAR file on GitHub is corrupted.

I updated the file on Github using the web interface. Could you please download this new file and tell me if it solves your issue ?

Thanks and regards
Hervé


brain_work

Hi Hervé,

The new version solved my issue, now i got a normal preferences screen where I can fill in the database things. I continue testing :-)

Regards,
Peter

Hervé

Great ...

don't know what happend and will never know  :-[

brain_work

Hi Hervé,

First things I noticed:


  • exporting only the elements and relationships seems to be ok (I see the SQLite file grow) but the exported model doesn't show up on the import screen (same after a restart of Archi or when first exporting and importing a full model
  • exporting and importing a full model is going fine
  • The "Show more details"button on the export screen doesn't do anything
  • The fourth step on the left of the export screen says Statut instead of Status

Regards,
Peter

Hervé

1 - This is normal behavior. If you export elements and relationships only, then they are not linked to any model. They can only be imported back into a model using the import component feature, accessible through the right click menu on a folder.
2 - great
3 - yes, I know  :-[
4 - I do this mistake quite often (French work instad of the English word). I'll correct it.

Thanks a lot
Hervé

brain_work

Hi Hervé,

Regarding point 1:

I think I can only import one element at the time. I don't see things listed when I select the Composites, Folders, or Views categories But I don't use folders and views in my model. And I don't know what composites are, should that be relations?

Regards,
Peter

Hervé

Hi Peter,

Yes, at the moment, one element at the time and the relationships to and from this element are not yet imported at the same time.

I believe folders and views should be importable in 2 or 3 weeks time.

Composites are elements that may be use as containers like grouping, locations, etc ... But the more I think about enabling the composites import, the more I think this may not be a good idea ...

Best regards
Hervé


Glem

Hi Hervé,
in your new plugin version there is no MySql creation script  ?

Thanks & regards,
Gilles

Hervé

Hi Gilles,

My apologies, no excuse except I've just forgotten   ::)

The MySQL script has been pushed to GitHub ...

Please remember that this is only an alpha release and that all the functionalities are not yet implemented, so please be indulgent. At the same time, all the functionalities I implemented should work, so if something is not working as you expected, please do not hesitate to drop me a line   ;D

Best regards
Hervé