Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [ui-best-practices-working-group] Annotation and XML configurationdiscussion (WTP-JPA Dali Tools)

Hi Neil,

One of the points you raised was:

>>We want to be consistent with the platform (have an 
>>editor for XML files), but this will cause our UI editing experience 
>>between Java and XML to be somewhat inconsistent.

This may be an inconsistency that has little practical impact.  I wonder
if very many people will use both the annotations approach and the XML
approach.  Seems more likely that most users will deal with only one
approach or the other, but not both.  If so then using a prop sheet for
one and a more typical XML editor for the other may be fine.

Re: the general issues of editing Java annotations, using the tabbed
properties view seems like a very natural fit. Hopefully the current
limitations you mentioned won't prove insurmountable.  Solving those
issues could have very general payoff for future consumers of the tabbed
properties view as well as the Java editor.

-Troy 


-----Original Message-----
From: ui-best-practices-working-group-bounces@xxxxxxxxxxx
[mailto:ui-best-practices-working-group-bounces@xxxxxxxxxxx] On Behalf
Of Neil Hauge
Sent: Wednesday, November 08, 2006 4:43 PM
To: User Interface Architecture Working Group
Subject: [ui-best-practices-working-group] Annotation and XML
configurationdiscussion (WTP-JPA Dali Tools)

As mentioned on the call earlier today, I would like to discuss a 
current UI direction/best practice issue with the group related to 
annotation and XML configuration.  We have touched on this issue briefly

in the past, but our project is currently trying to decide what 
direction to pursue and needs to determine the correct direction as soon

as possible.  Guru has agreed to switch presentation dates with me, so I

think we have everyone's agreement that we'll do the TPTP Show and Tell 
on Dec 6th, and the Dali/Webtools JPA  S&T on November 22nd.  Let's get 
things started with an email discussion and go from there.

Here is basic problem.  In the WTP-JPA Dali Tools, we need to assist the

user with configuring the persistence of their object model.  This can 
be a fairly complicated task, especially for large and complex object 
models.  With the introduction of EJB 3.0, users can choose to configure

persistence via Java source annotations and XML descriptors 
(persistence.xml), or solely by using XML descriptors(orm.xml and 
persistence.xml). It's not really important to understand what the files

are and what they do, it's only important to understand that there are 2

different ways to configure the same meta data in different artifacts, 
and this needs to be handled in some way in the UI..  *See enhancement 
request 154781 for more information on the question of how we should 
deal with annotation based configuration in the UI - 
https://bugs.eclipse.org/bugs/show_bug.cgi?id=154781.

So, in our tooling we must support a very similar configuration ability 
in two very different artifacts (Java classes and XML).  In our initial 
approach to this problem, we thought it would be advantageous to the 
user and to us to have a consistent approach to configuring these 
artifacts.  We accomplished this by creating our own Persistence 
Properties View which served as a rich UI that stayed in sync with the 
Java Editor.  We are also using this view with the orm.xml file, 
providing a similar experience in configuring the persistence 
properties, regardless of where they are being configured.  When you are

editing an annotated Java class, you see the persistence properties for 
that class, and changes you make in the PersistencePropertiesView change

the state of the annotations in that class file.  When you are editing 
the orm.xml file, you see the persistence properties for that XML 
descriptor, and changes you make in the PersistencePropertiesView change

the state of the xml content in that xml file.  (As a side note, we also

plan to support in-Java-source annotation value code completion and 
in-xml-source completion).

What are the high level problems with this approach?  1. We are using 
our own properties view, while the platform already has a generic Tabbed

Properties View (as of 3.3) 2. We are using a properties view to 
configure an XML descriptor.  A more standard approach would be to have 
an XML editor for editing an XML file (such as the plugin.xml editor).  
So what are the problems with solving those problems?  1. The 
TabbedProperties are not enabled for the Java editor (bug 154781).  It 
also can only have one true contributor (bug 158607), so different 
plugins from different domains would have a hard time using the standard

TabbedProperties for a generic editor like the Java Editor.  2. As for 
the editor for the orm.xml file, this removes the consistency with the 
"properties" based solution for both artifacts. 

In summary, we have several different options at this point.  We want to

be integrated with the platform, but this is proving to be difficult 
given the current limitations of TabbedProperties (there are more that I

haven't mentioned).  We want to be consistent with the platform (have an

editor for XML files), but this will cause our UI editing experience 
between Java and XML to be somewhat inconsistent.

What I am looking for here is some discussion around what is best for 
Eclipse, our extenders, and our users, given our current situation.  I 
think the decision we make here will likely have an impact on future 
groups who end up in the same position, as annotation usage become more 
and more prevalent.

Thanks for any input,
Neil


Neil Hauge
WTP-Dali JPA Tools Lead
Oracle TopLink Tools


_______________________________________________
ui-best-practices-working-group mailing list
ui-best-practices-working-group@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/ui-best-practices-working-group
_______________________________________________________________________
Notice:  This email message, together with any attachments, may contain
information  of  BEA Systems,  Inc.,  its subsidiaries  and  affiliated
entities,  that may be confidential,  proprietary,  copyrighted  and/or
legally privileged, and is intended solely for the use of the individual
or entity named in this message. If you are not the intended recipient,
and have received this message in error, please immediately return this
by email and then delete it.


Back to the top