Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [gmf-dev] GMF runtime complexity makes it hard for clients to benefit from its power


+1 for valid discussion. The complexity of the framework comes from unfamiliarity in my opinion. I suffer from the same problem also (being already familiar with GEF/EMF). The biggest problem I see right now is that there are multiple ways to do certain things (ie., invalid connections) and they are undocumented. Personally, I'll take the complexity of GMF over the complexity of working with GEF/EMF alone which are two beasts in their own way. I'd recommend the GMF team (sorry Rich ;d) setup a FAQ really quickly with some of the more common questions asked on the newsgroup (as it will only get worst as the usage grows).

The plugin.xml interaction with the services layer and user code is annoying as hell with the mismatching and magical strings (I guess my option is to do it fully programmatically instead). I wish there was almost a way to interact with those strings in a way similar to NLS strings. Maybe toss those strings in the plugin.properties, use %myStringId, and then create a class similar to NLS to deal with them? I don't know, I just have had issues multiple times when I missed a string somewhere :( :( :(

Also, some of them runtime plugins support tracing, I'd enable tracing to check out what it provides.

Is there a need for a simpler example than the logic one? (I always hated that logic example when I first started learning GEF :P) I believe there is a geoshapes one in CVS somewhere too.

Cheers,

----
Chris Aniszczyk
IBM Tivoli Security <zx@xxxxxxxxxx> | Gentoo Hacker <zx@xxxxxxxxxx>
+1 860.839.2465



Henrik Rentz-Reichert <hrr@xxxxxxxxx>
Sent by: gmf-dev-bounces@xxxxxxxxxxx

11/08/2005 03:46 AM

Please respond to
"GMF Project developer discussions." <gmf-dev@xxxxxxxxxxx>

To
"GMF Project developer discussions." <gmf-dev@xxxxxxxxxxx>
cc
Subject
[gmf-dev] GMF runtime complexity makes it hard for clients to benefit from its power





Hi all,

currently I'm implementing a simple example using the GMF runtime.

I tried to follow the lines of the logic example (which is fairly complex though). Obviously the framework is extremely powerful. But its complexity also puts a high burden on its clients. My experience up to now is that it is very difficult to trace problems back to their origin. This is partly due to the complex interactions of the framework with the providers defined by the client. Especially registering the clients via extension points is very error prone and problems are hard to detect.

Some examples:
  • it took me quite a long time to realize that the DiagramKind of the Wizard page has to be in sync with the corresponding entry in the ViewProvider
  • I missed to derive an EditHelper from MSLEditHelper which led to an exception in a context that was extremely hard to analyze
  • in general declarations in the plugin.xml interact via services and service providers with user written code. There are many places where strings here and there have to coincide literally which can lead to subtle errors which are typically very hard to detect for a GMF runtime novice
Now my questions:
  • Is there a document (sequence diagrams would be great) that illustrates the interaction of framework instances with user defined code?
  • Is a log file written with registry information of the GMF runtime services? Or alternatively: can I get information of this kind using certain tracing switches? This kind of information could be extremely helpful

Kind regards,

Henrik

--
..................................................
 
Dr. Henrik Rentz-Reichert  
mailto://hrr@xxxxxxxxx

Hafnerstr. 1               fon +49-7533-9342-43
D-78476 Allensbach         fax              -44
_______________________________________________
gmf-dev mailing list
gmf-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/gmf-dev


Back to the top