[Dev] Label field / domain model issues

Bryan Stearns stearns at osafoundation.org
Mon Feb 13 09:45:41 PST 2006


Ted,

It may be early to ask this, but I'm trying to break down the label 
field implementation for 0.7, and a lot of what I need to plan for is 
dependent on the domain-model work you'll be doing for it. Can we talk 
sometime about your strategy?

...Bryan

(Questions in my mind, not all of which hinge on your design, include--

Given that the Label field is supposed to hold a list of 'tags' 
(essentially, collection names, some of which may or may not be visible 
in the sidebar) and custom attribute name/value pairs, all separated by 
commas...

- How does the collection model change to simplify adding/removing items 
from sidebar collections (currently, the 'appears in' iterates over all 
the sidebar collections to decide what to show, but that attribute 
editor doesn't know how to follow the collection hierarchy to figure out 
which ListCollection the item actually belongs to, or should)

- How does the Label attribute editor decide which custom attribute 
name/value pairs to show? What's the relationship between attribute 
name, its displayName, and i18n?

- Our validation model in string attribute editors replaces confusing 
edits by adding '?', and we're using ':' and ',' as structural elements 
in this field. Does this mean that these values (collection names, 
custom attribute names, and custom attribute values) cannot contain 
these characters?  (Affects import, & sharing, too, if collection names 
can come from outside).

- There are other nasty issues around putting custom attribute 
name/value pairs in the label field: what about conflicts with OOTB 
attributes, what happens when stamping a new kind creates a conflict, 
how do we validate input in this field, how do we parse and report 
errors on complex values on non-text OOTB attributes (and what if they 
contain commas, like dates eg "Feb 24, 2006", which are illegal in the 
label field)? What about OOTB attributes that are references 
(emailAddress lists, etc)?



More information about the Dev mailing list