Archimate developer documentation complete

Started by Arslan Qadeer, October 28, 2015, 09:42:10 AM

Previous topic - Next topic

Arslan Qadeer

Could anyone please share a complete document on the code, that i want to take a quick start to enhance this tool by adding some features....??
i want to first understand the code completely that which part of the code is doing what, to avoid reading code line by line i need such document. Please guide me, thanks in advance.

Phil Beauvoir

Hello,

I'm sorry but no such document exists. There are some developer resources on the website here http://www.archimatetool.com/developer

Phil
If you value and use Archi, please consider making a donation!
Ask your ArchiMate related questions to the ArchiMate Community's Discussion Board.

Arslan Qadeer

Actually i want to take a start from first...
1) Login Page at the start, Admin and Client Login (Rights restriction for clients)
2) Change in Menu

So how and from where should i take start, Please Guide.

Phil Beauvoir

How much Eclipse development and Eclipse Rich Client Platform development do you know? This knowledge is pre-requisite.

For (1) you would need to hook into the Workbench startup and present an SWT Dialog which links to business logic, and then for the menu (2) you would need to contribute a menu and command  and action with an Eclipse extension.
If you value and use Archi, please consider making a donation!
Ask your ArchiMate related questions to the ArchiMate Community's Discussion Board.

Arslan Qadeer

Sir,
You can say that i am a beginner at eclipse.....
it will definitely help me a lot if you can tell me the exact class in the workbench which is initiating on the start up.
So i could write up my SWT dialog which will link to BL.

Phil Beauvoir

Take a look in the com.archimatetool.editor.ArchimateEditorWorkbenchWindowAdvisor and com.archimatetool.editor.ArchimateEditorWorkbenchAdvisor classes.

I advise you to learn at least the basics of Eclipse development. Hacking away at someone else's code is not going to be the best course of action... :-)
If you value and use Archi, please consider making a donation!
Ask your ArchiMate related questions to the ArchiMate Community's Discussion Board.

Synkrone

Quote from: Phil Beauvoir on October 28, 2015, 09:50:27 AM
Hello,

I'm sorry but no such document exists. There are some developer resources on the website here http://www.archimatetool.com/developer

Phil

Dear,

This was posted quite a while ago, is the answer still valid today? Is the creation of an extended developer documentation something thats on the roadmap?

Best,
Syn

Phil Beauvoir

I have no plans to do this for specific Archi code for the immediate future. General Eclipse, RCP, EMF and GEF documentation is available however.
If you value and use Archi, please consider making a donation!
Ask your ArchiMate related questions to the ArchiMate Community's Discussion Board.

Phil Beauvoir

Actually, I have a better idea. As it is impossible for me to do everything, and as this is an open source project and there are quite a few developers who have engaged with the Archi code and developed add-ons, I thought it would be a good idea for us all to crowd source the documentation in a wiki:

https://github.com/archimatetool/archi/wiki/Developer-Documentation

If you value and use Archi, please consider making a donation!
Ask your ArchiMate related questions to the ArchiMate Community's Discussion Board.

Hervé

Hi Phil,

I believe this is a great idea. I will fill in some pages  ;D

Best regards
Hervé

Phil Beauvoir

Thanks Hervé. As I'm sure you know, it's a steep learning curve getting to grips with Eclipse development, never mind the Archi code. Every line of code I wrote has been the result of much trial and error, blood, sweat, and tears... ;-)
If you value and use Archi, please consider making a donation!
Ask your ArchiMate related questions to the ArchiMate Community's Discussion Board.

Hervé

I confirm.

I started with very little Java knowledge and no knowledge at all about the Eclipse framework and now I actively maintain 4 Archi plugins.

In order to work with Archi code, one need first to understand how Eclipse works and setup a working dev environment that is able to compile Archi (and believe me, for someone who never did it before, this takes some time). Then, one need to understand what a plugin is, how to declare it to the framework and how to initialize the plugin. At last, one need to understand the Archi logic, classes and methods, knowing that a lot of them are not directly usable (protected) and thus need to be unprotected using reflection (I know, it's bad  :-[) or replacing Archi's internal code by one's code (what I try to do now when I know how to do it  :P).

Nevertheless, after a lot of trials, errors, blood, sweat and tears, my next big step will be to learn the CDO framework and integrate it to Archi to make it a real collaborative tool .. But this might be a quite very big step  (just thinking aloud) ::)

Phil Beauvoir

Some of the protected methods might be exposed via other API. But that's not always easy to find....but yeah, it's not easy. As for CDO, I did look at it once. You have to inherit model classes from CDOObject instead of EObject.

Ideally, the next generation Archi would use:

Eclipse e4 workbench (injection, css and so on)
GEF4
CDO or similar

But there are drawbacks to CDO. I think JB knows what they are.
If you value and use Archi, please consider making a donation!
Ask your ArchiMate related questions to the ArchiMate Community's Discussion Board.

Phil Beauvoir

Quote from: Hervé on November 08, 2017, 14:32:17 PM
I started with very little Java knowledge

Java is the "easy" part. ;-)

But well done for getting up to speed!
If you value and use Archi, please consider making a donation!
Ask your ArchiMate related questions to the ArchiMate Community's Discussion Board.

Hervé

I agree, Java was he easy part ...

Frameworks (and especially the Eclipse framework) are very powerful but very complex ... complicated I would say.