[OpenAjaxIDE] Nesting <properties> re-visited ...
Bertrand Le Roy
Bertrand.Le.Roy at microsoft.com
Sun Sep 13 17:12:12 PDT 2009
Having complex or nested properties is a different thing from grouping properties by category. A property category is not a property.
________________________________
From: Lori Hylan-Cho [avocadoh at gmail.com]
Sent: Sunday, September 13, 2009 3:51 PM
To: Bertrand Le Roy
Cc: Kin Blas; ide at openajax.org
Subject: Re: [OpenAjaxIDE] Nesting <properties> re-visited ...
I agree that proposal #2 is simpler when there's only one level of nested categories, but Kin's example (both the hypothetical one in his email and a couple real-world ones we looked over) had more than one level. In that case, nesting <properties> tags is simpler to understand, IMHO.
On Thu, Sep 10, 2009 at 10:21 PM, Bertrand Le Roy <Bertrand.Le.Roy at microsoft.com<mailto:Bertrand.Le.Roy at microsoft.com>> wrote:
The second (group-based) approach is what exists in Visual Studio: there is only one level of nested categories so that's sufficient and much simpler.
-----Original Message-----
From: ide-bounces at openajax.org<mailto:ide-bounces at openajax.org> [mailto:ide-bounces at openajax.org<mailto:ide-bounces at openajax.org>] On Behalf Of Kin Blas
Sent: Friday, September 04, 2009 2:36 PM
To: ide at openajax.org<mailto:ide at openajax.org>
Subject: [OpenAjaxIDE] Nesting <properties> re-visited ...
I noticed that the "::" approach for an alternate approach to nesting <properties> was added to the 1.0 spec:
>> Some tools may have multiple levels of tabs within a property editor.
>> For example, perhaps there will be a first-level tab which shows "Basic"
>> properties, and then a sub-tab within the "Basic" tab for "Sizing"
>> properties. The recommended convention for identifying hierarchical
>> property groups is to use a double-colon sequence ("::") as the token
>> separate string. For example, name="Basic::Sizing".
This was a suggestion I made while trying to work with "what we have" and avoid introducing new attributes since we are trying to wind down the 1.0 spec, and avoid introducing our own vendor-namespaced attributes into OAM files to enable this feature. One problem we still have with this approach, is that we still need the concept of a label to express the relationships to the end-user. This requires us to add a @label attribute or <label> child anyways. Since we need an extra attribute anyways, I would rather see formal metadata semantics introduced to support nesting properly and pull the suggestion of the '::' convention from the 1.0 spec so we don't get stuck with having to support it forever once we declare OAM 1.0.
We have 2 proposals we'd like to put forth for consideration for the next revision of the spec. The first is to actually allow the nesting of <properties> tags and introduce the @label attribute for <properties>:
<properties name="A" label="##A##">
...
<properties name="B" label="##B##">
...
</properties>
<properties name="C" label="##C##">
...
</properties>
...
</properties>
<properties name="D" label="##D##">
...
<properties name="E" label="##E##">
...
</properties>
<properties name="F" label="##F##">
...
</properties>
...
</properties>
In this proposal, there is no limit to the nesting level of <properties>.
If folks don't like this approach, an alternate would be to keep the flattened <properties> approach, but introduce the @label attribute, as well as a @group attribute that allows you to group one or more properties underneath a specific named <properties> element:
<properties name="A" label="##A##">
...
</properties>
<properties name="B" label="##B##" group="A">
...
</properties>
<properties name="C" label="##C##" group="A">
...
</properties>
<properties name="D" label="##D##">
...
</properties>
<properties name="E" label="##E##" group="D">
...
</properties>
<properties name="F" label="##F##" group="D">
...
</properties>
In this scenario, the value of the @group attribute is the @name of the <properties> tag it should be nested underneath. There is no limit to the grouping, so if you really wanted to express a nesting of A>B>C>D>E>F, it would look something like this:
<properties name="A" label="##A##">
...
</properties>
<properties name="B" label="##B##" group="A">
...
</properties>
<properties name="C" label="##C##" group="B">
...
</properties>
<properties name="D" label="##D##" group="C">
...
</properties>
<properties name="E" label="##E##" group="D">
...
</properties>
<properties name="F" label="##F##" group="E">
...
</properties>
Thoughts? Is there a place to put proposals like this?
--== Kin ==--
_______________________________________________
IDE mailing list
IDE at openajax.org<mailto:IDE at openajax.org>
http://openajax.org/mailman/listinfo/ide
_______________________________________________
IDE mailing list
IDE at openajax.org<mailto:IDE at openajax.org>
http://openajax.org/mailman/listinfo/ide
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://openajax.org/pipermail/ide/attachments/20090914/b2aae754/attachment.html
More information about the IDE
mailing list