Archi Forum

Archi Plug-ins => Other Plug-ins => Topic started by: Hervé on June 28, 2017, 14:32:58 PM

Title: Specialization plugin
Post by: Hervé on June 28, 2017, 14:32:58 PM
Hi JB,

As to remind you, I started a specialization plugin last year, but was stuck because I failed to updated the objects icons in the diagrams.

But thanks to Thijs's plugin which shown me the path, I'm now unstuck  ;D

My aim is to be able to change the rendering ofgraphical objects in Archi diagrams in order to indicates if is represents a physical server, a virtual server, a storage node, a web service, etc ... For my personal usage, the Node and Device objects are mainly concerned.

A preference page will allow to setup a set of rules like :

My plugin will provide few icons, like Font Awesome (http://fontawesome.io/icons/), Material design (https://material.io/icons/) or even allow the user to choose any jpg/png/svg from its hard drive.

The fact that no new metadata will be created, the archimate files will be untouched. People who do not have the plugin activated will just see the standard icon.

We've been discussing this last year but I've been stuck for quite a long time. Now that I succedded to do it, I would like to put my project back on track.

At the same time, I know that you are thinking about a solution on your side (https://github.com/archimatetool/archi/wiki/Ideas-for-a-nice-and-elegant-way-to-implement-profiles-and-concepts-customization (https://github.com/archimatetool/archi/wiki/Ideas-for-a-nice-and-elegant-way-to-implement-profiles-and-concepts-customization)) so I would not like we both do the same thing at the same time. I beleive I shall be able to provide a beta version by the end of july.

My only requirement is to change the com.archimatetool.editor.ui.factory.ObjectUIFactory.registerProvider() method from private to public (or at least protected).

What is your opinion ?

Best regards
Hervé
Title: Re: Specialization plugin
Post by: Phil Beauvoir on June 28, 2017, 14:43:10 PM
com.archimatetool.editor.ui.factory.ObjectUIFactory.registerProvider() is private for a good reason. It does the work of registerProviders() which registers providers declared in the extension point. So a IObjectUIProvider class must be registered by the extension point, not in code.
Title: Re: Specialization plugin
Post by: Hervé on June 28, 2017, 19:52:21 PM
Thanks for your answer. I will have to find another way I believe  :D

Nevertheless, my question was more about a plugin vs your code update. Do you think this plugin makes sense or shall I wait for your specialization code in the core of archi ? And if yes, do you have a date to provide (I mean is it something planned soon or next year ?) ?

Thanks and regards
Hervé
Title: Re: Specialization plugin
Post by: Jean-Baptiste Sarrodie on June 29, 2017, 08:59:23 AM
Hi Hervé,

I think you can continue working on your plugin, and at some point in time we might stole your code ;-)

Regards,

JB
Title: Re: Specialization plugin
Post by: Hervé on June 29, 2017, 10:03:58 AM
Hi JB,

You won't steel anything because I'll be happy to give it to you. In fact, I'm happy to give it to anyone who want it. This is open source principle, rigth ?  ;D

Could you please create a org.archicontribs.specialization repository ?

I will put a proof of concept version quickly.

Thanks and regards
Hervé

Title: Re: Specialization plugin
Post by: Jean-Baptiste Sarrodie on June 29, 2017, 10:50:24 AM
Hi,

Done (https://github.com/archi-contribs/specialization-plugin)

JB
Title: Re: Specialization plugin
Post by: steen.jensen on June 29, 2017, 23:50:14 PM
Hi Hervé

Looks like someting that IML (Infrastructure Modeling Language) as Cognitesolution was trying to sell.
https://www.cognitsolutions.co.uk%2Fiml.pdf&usg=AFQjCNEnGzcwfWbfHe6Mg-zNLvipKAhvOQ (https://www.cognitsolutions.co.uk%2fiml.pdf&usg=afqjcnengzcwfwbfhe6mg-znlvipkahvoq)

That exact what I would like to have, a way to have alternate symbols, so ouer technical people can understand my models  ;D but still have an Archimate standard repository and exchange format.

Title: Re: Specialization plugin
Post by: Hervé on June 30, 2017, 07:59:31 AM
Hi Steen,

I know about IML and this is exactly this kind of behaviour that I'm trying to achieve.

Nevertheless, I need to ensure that the icons I embed in my plugin are free and the ones used in IML pictures look very much like Visio pictures. So I do not know if I'm allowed to provide them ...

Best rgards
Hervé
Title: Re: Specialization plugin
Post by: Hervé on June 30, 2017, 09:36:46 AM
Hi,

Just to show you what the "proof of concept" version looks like. I shall deploy it on GitHub tonight or tomorrow.

At the moment, it implements the fontAwesome icons through the "icon" property but, of course, the final version will manage more icons and will provide more complex rules to determine the icon.

Best regards
Hervé