archimatetool / archi-modelrepository-plugin

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

Add ability to visualize commits history #2

Closed jbsarrodie closed 7 years ago

jbsarrodie commented 7 years ago

As a user I should be able to right clic on a model (in the list of remote models) and select a "Show history" action that would then open a view showing the list of changes (similar to a git log).

This should look like this: JGit log example

JGit offers primitives to do so through org.eclipse.jgit.revplot.AbstractPlotRenderer which can be extended to add drawing capabilities either through AWT (see example here) or SWT.

Phillipus commented 7 years ago

That's a nice API! This is a nice descrete little project in itself if any contributer would like to help. ;-)

stigbd commented 7 years ago

I would like to help, but when it comes to plugin-development, I am not sure how to set up my development-environment. I am aware of https://www.archimatetool.com/dev/import-export , but is that howto suitable for this plugin also? In any case it would be nice with a small howto showing how to contribute.

Phillipus commented 7 years ago

@stigbd You already know how to develop with main Archi code, So just clone this plugin repo and add to Eclipse. Add the plugin feature project to the list of features in archi.product file.

stigbd commented 7 years ago

Thank you @Phillipus . Your last sentence solved my issues.

Phillipus commented 7 years ago

@stigbd Great! This Eclipse stuff is not intuitive.

Phillipus commented 7 years ago

First implementation is committed. More to do!

jbsarrodie commented 7 years ago

First implementation is committed. More to do!

Already good!

FWIW, I've found what seems a good example inside EGit code: look at CommitGraphTable.java and SWTPlotRenderer.java

Phillipus commented 7 years ago

I found that code as well. ;-)

Phillipus commented 7 years ago

I've taken a look a the eGit code for the History View. There are very many dependencies on other parts of the eGit plugin and also the History framework from Eclipse SDK. The rabbit hole goes very deep.

So we have to think about whether it's worth spending more time reverse engineering this or to move on and come back to it later. Even if we use the API in JGit (AbstractPlotRenderer, PlotWalk, etc) we will need to develop something close to the eGit implementation.

Phillipus commented 7 years ago

Perhaps there is a simple example we could be inspired by?

jbsarrodie commented 7 years ago

Closing this issue as the current implementation does the job. We'll open another one later.