Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » EMF "Technology" (Ecore Tools, EMFatic, etc)  » EMF Compare Diff Tree customization
EMF Compare Diff Tree customization [message #117059] Mon, 07 April 2008 11:52 Go to next message
David Michonneau is currently offline David MichonneauFriend
Messages: 85
Registered: July 2009
Member
In EMF compare, is it possible to customize the contents of the diff tree in
the UI, by extending the tree content provider? The idea would be to
categorize the contents in a more logical way, more understandable by
end-users of the model.

Would the existing extension points allow it, or does it require a new one?

Thanks,

David
Re: EMF Compare Diff Tree customization [message #117075 is a reply to message #117059] Mon, 07 April 2008 12:12 Go to previous messageGo to next message
Cedric Brun is currently offline Cedric BrunFriend
Messages: 431
Registered: July 2009
Senior Member
You may refactor the difference model and display your own differences
hidding the old ones through what we call the "DiffExtension". Using this
extension point you'll be able to define your own kind of differences and
provides some which are more "user friendly".

We don't have documentation on this specific feature yet though we have an
example defining new differences for UML in the CVS.

org.eclipse.emf.compare.examples.diff.extension in the example folder.

Please let us know if you need other kind of extension, we are avoiding
extensions on the UI level as we consider emf compare as a framework and
and the UI as one of the possible clients. Extending on that level would
break many use cases of the diff model.

regards,


Cédric
Obeo


David Michonneau wrote:

> In EMF compare, is it possible to customize the contents of the diff tree
> in the UI, by extending the tree content provider? The idea would be to
> categorize the contents in a more logical way, more understandable by
> end-users of the model.
>
> Would the existing extension points allow it, or does it require a new
> one?
>
> Thanks,
>
> David


http://cedric.brun.io news and articles on eclipse and eclipse modeling.
Re: EMF Compare Diff Tree customization [message #117128 is a reply to message #117075] Mon, 07 April 2008 16:13 Go to previous messageGo to next message
David Michonneau is currently offline David MichonneauFriend
Messages: 85
Registered: July 2009
Member
Thank you Cedric. I found the DiffExtension example. Does this extension
imply to create a new ecore model extending the emf compare metamodel, or is
there a simpler approach than the one shown in the example?

Another question (still on the UI...): can we customize the upper pane
contents that lists the structural differences (I guess it's the same thing,
we should use the DiffExtension extension point?).

Finally can we extend the UI you provided to add new features such as
buttons, etc...?

Thanks,

David


"C
Re: EMF Compare Diff Tree customization [message #117208 is a reply to message #117128] Tue, 08 April 2008 07:25 Go to previous messageGo to next message
Cedric Brun is currently offline Cedric BrunFriend
Messages: 431
Registered: July 2009
Senior Member
Hi David,

Yes, the diff extension mechanism imply creating your own .ecore and then
writing the refactoring code. This approach could be simpler as you said
but the cons for providing a mechanism only affecting the UI is that then
we loose the benefit of using an emf-based diff model you may re-use using
other modeling tools (M2T/M2M transformations...). You can then use the
classic emf mechanism to define the label of your differences elemens and
the icons.
If you define your own diff extension then the upper pane will show your own
refactored diff model.

Though we are open to provide pure UI extensibility through content/label
providers if the community think it's not answering the same needs as the
diff extension. If you feel so do not hesitate to open a feature request on
the bugzilla.

Concerning the UI I know Laurent did some work lately on opening some parts
for instance to be able to plug new tabs. More precisions Laurent?

Cédric


David Michonneau wrote:

> Thank you Cedric. I found the DiffExtension example. Does this extension
> imply to create a new ecore model extending the emf compare metamodel, or
> is there a simpler approach than the one shown in the example?
>
> Another question (still on the UI...): can we customize the upper pane
> contents that lists the structural differences (I guess it's the same
> thing, we should use the DiffExtension extension point?).
>
> Finally can we extend the UI you provided to add new features such as
> buttons, etc...?
>
> Thanks,
>
> David
>
>
> "C


http://cedric.brun.io news and articles on eclipse and eclipse modeling.
Re: EMF Compare Diff Tree customization [message #117236 is a reply to message #117208] Tue, 08 April 2008 07:52 Go to previous messageGo to next message
Laurent Goubet is currently offline Laurent GoubetFriend
Messages: 1902
Registered: July 2009
Senior Member
This is a multi-part message in MIME format.
--------------070009080206010305040106
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

David, Cédric,

Indeed, I did some work in order to have EMF Compare head towards
extensibility, but this is something that still requires a lot of work
from our side both to decide what can be opened (haaa, the joys of an
API :)) and what should be extensible.

You mentionned "buttons" in the possible new features you wish to plug
into EMF Compare's UI. The only thing you can do for now is add new ways
to export the result of a comparison (we have an extension point for
this). Eventually, there should be an extension point to add actions but
this hasn't been implemented yet.

Do not hesitate to fill in feature requests on the bugzilla if you have
specific needs for UI extension. Be warned though that we are working on
performance and comparison issues and extensibility is more scheduled
for 1.0. If this is truly something you need, feel free to patch EMF
Compare since we will always consider this way faster in the development
plan ;).

Cheers.
Laurent Goubet
Obeo

Cédric Brun a écrit :
> Hi David,
>
> Yes, the diff extension mechanism imply creating your own .ecore and then
> writing the refactoring code. This approach could be simpler as you said
> but the cons for providing a mechanism only affecting the UI is that then
> we loose the benefit of using an emf-based diff model you may re-use using
> other modeling tools (M2T/M2M transformations...). You can then use the
> classic emf mechanism to define the label of your differences elemens and
> the icons.
> If you define your own diff extension then the upper pane will show your own
> refactored diff model.
>
> Though we are open to provide pure UI extensibility through content/label
> providers if the community think it's not answering the same needs as the
> diff extension. If you feel so do not hesitate to open a feature request on
> the bugzilla.
>
> Concerning the UI I know Laurent did some work lately on opening some parts
> for instance to be able to plug new tabs. More precisions Laurent?
>
> Cédric
>
>
> David Michonneau wrote:
>
>> Thank you Cedric. I found the DiffExtension example. Does this extension
>> imply to create a new ecore model extending the emf compare metamodel, or
>> is there a simpler approach than the one shown in the example?
>>
>> Another question (still on the UI...): can we customize the upper pane
>> contents that lists the structural differences (I guess it's the same
>> thing, we should use the DiffExtension extension point?).
>>
>> Finally can we extend the UI you provided to add new features such as
>> buttons, etc...?
>>
>> Thanks,
>>
>> David
>>
>>
>> "C�dric Brun" <cedric.brun@obeo.fr> wrote in message
>> news:ftd30j$2su$1@build.eclipse.org...
>>> You may refactor the difference model and display your own differences
>>> hidding the old ones through what we call the "DiffExtension". Using this
>>> extension point you'll be able to define your own kind of differences and
>>> provides some which are more "user friendly".
>>>
>>> We don't have documentation on this specific feature yet though we have
>>> an example defining new differences for UML in the CVS.
>>>
>>> org.eclipse.emf.compare.examples.diff.extension in the example folder.
>>>
>>> Please let us know if you need other kind of extension, we are avoiding
>>> extensions on the UI level as we consider emf compare as a framework and
>>> and the UI as one of the possible clients. Extending on that level would
>>> break many use cases of the diff model.
>>>
>>> regards,
>>>
>>>
>>> C�dric
>>> Obeo
>>>
>>>
>>> David Michonneau wrote:
>>>
>>>> In EMF compare, is it possible to customize the contents of the diff
>>>> tree in the UI, by extending the tree content provider? The idea would
>>>> be to categorize the contents in a more logical way, more understandable
>>>> by end-users of the model.
>>>>
>>>> Would the existing extension points allow it, or does it require a new
>>>> one?
>>>>
>>>> Thanks,
>>>>
>>>> David
>


--------------070009080206010305040106
Content-Type: text/x-vcard; charset=utf-8;
name="laurent_goubet.vcf"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="laurent_goubet.vcf"

YmVnaW46dmNhcmQNCmZuOkxhdXJlbnQgR291YmV0DQpuOkdvdWJldDtMYXVy ZW50DQpvcmc6
PGEgaHJlZj0iaHR0cDovL3d3dy5vYmVvLmZyLyI+T2JlbzwvYT4NCmVtYWls O2ludGVybmV0
OmxhdXJlbnQuZ291YmV0QG9iZW8uZnINCnVybDpodHRwOi8vd3d3Lm9iZW8u ZnINCnZlcnNp
b246Mi4xDQplbmQ6dmNhcmQNCg0K
--------------070009080206010305040106--
Re: EMF Compare Diff Tree customization [message #117249 is a reply to message #117236] Tue, 08 April 2008 09:18 Go to previous messageGo to next message
David Michonneau is currently offline David MichonneauFriend
Messages: 85
Registered: July 2009
Member
Thanks Cedric and Laurent for your prompt answers. In fact, the UI could
simply be extendible in the java sense, so it's not really a matter of
providing an API or extension point, but simply make sure the UI panel
(ModelContentMergeViewer) exposes enough functionality to its extenders. For
instance it should probably be listed in the export-package to be re-usable
by another plugin.

Some examples of new actions I have in mind:

- Filter by "addition/deletions/changes": i.e. I just want to see what was
added, or what was deleted.
- filter the tree view to the impacted node based on the selection in the
structured change panel (useful if the tree has a lot of changes). This is
similar to the CVS diff that only highlight the method being changed.
- extend/collapse the tree
- ...

Those are just ideas right now, but I would be interested to know your
opinion on the best way to add this kind of custom actions in the UI.

Thanks,

David

"laurent Goubet" <laurent.goubet@obeo.fr> wrote in message
news:ftf879$lm3$1@build.eclipse.org...
> David, C
Re: EMF Compare Diff Tree customization [message #117259 is a reply to message #117249] Tue, 08 April 2008 10:02 Go to previous message
Laurent Goubet is currently offline Laurent GoubetFriend
Messages: 1902
Registered: July 2009
Senior Member
This is a multi-part message in MIME format.
--------------060705070302040202080205
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8bit

David,

We probably haven't got the same definition of API ;). We didn't list
these package in the exported list since the would make them "re-usable
by another plugin", thus becoming API.

Most of the new actions you list are things we plan to add (filtering is
something I was planning to work on sooner or later, at least a filter
on the diff markers) though expanding/collapsing I didn't thought about.

I was planning to add such extensibility by making the whole tool bar of
the content merge viewer (which contains the "next diff", "show ancestor
pane", ... actions) extensible by third-party plug-ins. Yet I still need
to see how this can be made : the plugins we're based on aren't really
extensible themselves.

Thanks for your feedback,

Laurent Goubet
Obeo

David Michonneau a
Re: EMF Compare Diff Tree customization [message #616091 is a reply to message #117059] Mon, 07 April 2008 12:12 Go to previous message
Cedric Brun is currently offline Cedric BrunFriend
Messages: 431
Registered: July 2009
Senior Member
You may refactor the difference model and display your own differences
hidding the old ones through what we call the "DiffExtension". Using this
extension point you'll be able to define your own kind of differences and
provides some which are more "user friendly".

We don't have documentation on this specific feature yet though we have an
example defining new differences for UML in the CVS.

org.eclipse.emf.compare.examples.diff.extension in the example folder.

Please let us know if you need other kind of extension, we are avoiding
extensions on the UI level as we consider emf compare as a framework and
and the UI as one of the possible clients. Extending on that level would
break many use cases of the diff model.

regards,


Cédric
Obeo


David Michonneau wrote:

> In EMF compare, is it possible to customize the contents of the diff tree
> in the UI, by extending the tree content provider? The idea would be to
> categorize the contents in a more logical way, more understandable by
> end-users of the model.
>
> Would the existing extension points allow it, or does it require a new
> one?
>
> Thanks,
>
> David


http://cedric.brun.io news and articles on eclipse and eclipse modeling.
Re: EMF Compare Diff Tree customization [message #616095 is a reply to message #117075] Mon, 07 April 2008 16:13 Go to previous message
David Michonneau is currently offline David MichonneauFriend
Messages: 85
Registered: July 2009
Member
Thank you Cedric. I found the DiffExtension example. Does this extension
imply to create a new ecore model extending the emf compare metamodel, or is
there a simpler approach than the one shown in the example?

Another question (still on the UI...): can we customize the upper pane
contents that lists the structural differences (I guess it's the same thing,
we should use the DiffExtension extension point?).

Finally can we extend the UI you provided to add new features such as
buttons, etc...?

Thanks,

David


"C
Re: EMF Compare Diff Tree customization [message #616101 is a reply to message #117128] Tue, 08 April 2008 07:25 Go to previous message
Cedric Brun is currently offline Cedric BrunFriend
Messages: 431
Registered: July 2009
Senior Member
Hi David,

Yes, the diff extension mechanism imply creating your own .ecore and then
writing the refactoring code. This approach could be simpler as you said
but the cons for providing a mechanism only affecting the UI is that then
we loose the benefit of using an emf-based diff model you may re-use using
other modeling tools (M2T/M2M transformations...). You can then use the
classic emf mechanism to define the label of your differences elemens and
the icons.
If you define your own diff extension then the upper pane will show your own
refactored diff model.

Though we are open to provide pure UI extensibility through content/label
providers if the community think it's not answering the same needs as the
diff extension. If you feel so do not hesitate to open a feature request on
the bugzilla.

Concerning the UI I know Laurent did some work lately on opening some parts
for instance to be able to plug new tabs. More precisions Laurent?

Cédric


David Michonneau wrote:

> Thank you Cedric. I found the DiffExtension example. Does this extension
> imply to create a new ecore model extending the emf compare metamodel, or
> is there a simpler approach than the one shown in the example?
>
> Another question (still on the UI...): can we customize the upper pane
> contents that lists the structural differences (I guess it's the same
> thing, we should use the DiffExtension extension point?).
>
> Finally can we extend the UI you provided to add new features such as
> buttons, etc...?
>
> Thanks,
>
> David
>
>
> "C


http://cedric.brun.io news and articles on eclipse and eclipse modeling.
Re: EMF Compare Diff Tree customization [message #616103 is a reply to message #117208] Tue, 08 April 2008 07:52 Go to previous message
Laurent Goubet is currently offline Laurent GoubetFriend
Messages: 1902
Registered: July 2009
Senior Member
This is a multi-part message in MIME format.
--------------070009080206010305040106
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

David, Cédric,

Indeed, I did some work in order to have EMF Compare head towards
extensibility, but this is something that still requires a lot of work
from our side both to decide what can be opened (haaa, the joys of an
API :)) and what should be extensible.

You mentionned "buttons" in the possible new features you wish to plug
into EMF Compare's UI. The only thing you can do for now is add new ways
to export the result of a comparison (we have an extension point for
this). Eventually, there should be an extension point to add actions but
this hasn't been implemented yet.

Do not hesitate to fill in feature requests on the bugzilla if you have
specific needs for UI extension. Be warned though that we are working on
performance and comparison issues and extensibility is more scheduled
for 1.0. If this is truly something you need, feel free to patch EMF
Compare since we will always consider this way faster in the development
plan ;).

Cheers.
Laurent Goubet
Obeo

Cédric Brun a écrit :
> Hi David,
>
> Yes, the diff extension mechanism imply creating your own .ecore and then
> writing the refactoring code. This approach could be simpler as you said
> but the cons for providing a mechanism only affecting the UI is that then
> we loose the benefit of using an emf-based diff model you may re-use using
> other modeling tools (M2T/M2M transformations...). You can then use the
> classic emf mechanism to define the label of your differences elemens and
> the icons.
> If you define your own diff extension then the upper pane will show your own
> refactored diff model.
>
> Though we are open to provide pure UI extensibility through content/label
> providers if the community think it's not answering the same needs as the
> diff extension. If you feel so do not hesitate to open a feature request on
> the bugzilla.
>
> Concerning the UI I know Laurent did some work lately on opening some parts
> for instance to be able to plug new tabs. More precisions Laurent?
>
> Cédric
>
>
> David Michonneau wrote:
>
>> Thank you Cedric. I found the DiffExtension example. Does this extension
>> imply to create a new ecore model extending the emf compare metamodel, or
>> is there a simpler approach than the one shown in the example?
>>
>> Another question (still on the UI...): can we customize the upper pane
>> contents that lists the structural differences (I guess it's the same
>> thing, we should use the DiffExtension extension point?).
>>
>> Finally can we extend the UI you provided to add new features such as
>> buttons, etc...?
>>
>> Thanks,
>>
>> David
>>
>>
>> "C�dric Brun" <cedric.brun@obeo.fr> wrote in message
>> news:ftd30j$2su$1@build.eclipse.org...
>>> You may refactor the difference model and display your own differences
>>> hidding the old ones through what we call the "DiffExtension". Using this
>>> extension point you'll be able to define your own kind of differences and
>>> provides some which are more "user friendly".
>>>
>>> We don't have documentation on this specific feature yet though we have
>>> an example defining new differences for UML in the CVS.
>>>
>>> org.eclipse.emf.compare.examples.diff.extension in the example folder.
>>>
>>> Please let us know if you need other kind of extension, we are avoiding
>>> extensions on the UI level as we consider emf compare as a framework and
>>> and the UI as one of the possible clients. Extending on that level would
>>> break many use cases of the diff model.
>>>
>>> regards,
>>>
>>>
>>> C�dric
>>> Obeo
>>>
>>>
>>> David Michonneau wrote:
>>>
>>>> In EMF compare, is it possible to customize the contents of the diff
>>>> tree in the UI, by extending the tree content provider? The idea would
>>>> be to categorize the contents in a more logical way, more understandable
>>>> by end-users of the model.
>>>>
>>>> Would the existing extension points allow it, or does it require a new
>>>> one?
>>>>
>>>> Thanks,
>>>>
>>>> David
>


--------------070009080206010305040106
Content-Type: text/x-vcard; charset=utf-8;
name="laurent_goubet.vcf"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="laurent_goubet.vcf"

YmVnaW46dmNhcmQNCmZuOkxhdXJlbnQgR291YmV0DQpuOkdvdWJldDtMYXVy ZW50DQpvcmc6
PGEgaHJlZj0iaHR0cDovL3d3dy5vYmVvLmZyLyI+T2JlbzwvYT4NCmVtYWls O2ludGVybmV0
OmxhdXJlbnQuZ291YmV0QG9iZW8uZnINCnVybDpodHRwOi8vd3d3Lm9iZW8u ZnINCnZlcnNp
b246Mi4xDQplbmQ6dmNhcmQNCg0K
--------------070009080206010305040106--
Re: EMF Compare Diff Tree customization [message #616104 is a reply to message #117236] Tue, 08 April 2008 09:18 Go to previous message
David Michonneau is currently offline David MichonneauFriend
Messages: 85
Registered: July 2009
Member
Thanks Cedric and Laurent for your prompt answers. In fact, the UI could
simply be extendible in the java sense, so it's not really a matter of
providing an API or extension point, but simply make sure the UI panel
(ModelContentMergeViewer) exposes enough functionality to its extenders. For
instance it should probably be listed in the export-package to be re-usable
by another plugin.

Some examples of new actions I have in mind:

- Filter by "addition/deletions/changes": i.e. I just want to see what was
added, or what was deleted.
- filter the tree view to the impacted node based on the selection in the
structured change panel (useful if the tree has a lot of changes). This is
similar to the CVS diff that only highlight the method being changed.
- extend/collapse the tree
- ...

Those are just ideas right now, but I would be interested to know your
opinion on the best way to add this kind of custom actions in the UI.

Thanks,

David

"laurent Goubet" <laurent.goubet@obeo.fr> wrote in message
news:ftf879$lm3$1@build.eclipse.org...
> David, C
Re: EMF Compare Diff Tree customization [message #616105 is a reply to message #117249] Tue, 08 April 2008 10:02 Go to previous message
Laurent Goubet is currently offline Laurent GoubetFriend
Messages: 1902
Registered: July 2009
Senior Member
This is a multi-part message in MIME format.
--------------060705070302040202080205
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8bit

David,

We probably haven't got the same definition of API ;). We didn't list
these package in the exported list since the would make them "re-usable
by another plugin", thus becoming API.

Most of the new actions you list are things we plan to add (filtering is
something I was planning to work on sooner or later, at least a filter
on the diff markers) though expanding/collapsing I didn't thought about.

I was planning to add such extensibility by making the whole tool bar of
the content merge viewer (which contains the "next diff", "show ancestor
pane", ... actions) extensible by third-party plug-ins. Yet I still need
to see how this can be made : the plugins we're based on aren't really
extensible themselves.

Thanks for your feedback,

Laurent Goubet
Obeo

David Michonneau a
Previous Topic:[Announce] Texo project proposal: EMF technology for web application development environments
Next Topic:[Teneo] Annotation in ecore model (foreign key and annotation for options)
Goto Forum:
  


Current Time: Thu Mar 28 09:19:10 GMT 2024

Powered by FUDForum. Page generated in 0.04245 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top