[Chandler-dev] It's 'about' time to deal with redirections...
John Anderson
john at osafoundation.org
Tue Oct 31 17:49:03 PST 2006
+1
Bryan Stearns wrote:
> The time has come to deal with a couple of issues around attribute
> redirection:
>
> - We need to index 'who' and 'about' attributes for the dashboard, but
> (a) the repository can't index an attribute that's the _source_ of a
> redirection (the index gets out-of-date really quickly, leading to
> several of my alpha5 bugs), and (b) for 'who', a static redirection
> isn't good enough because the 'who' value needs to be determined on a
> per-item (not per-subclass or per-annotation) basis.
>
> - A related issue is that we're trying to get rid of the dependence on
> the repository's generic 'displayName' mechanism on Item; currently,
> 'about' redirects to 'displayName' by default (in ContentItem), but is
> overridden in several Item subclasses and Annotation classes.
>
> We currently have a mechanism for the Date column that works like this:
> - ContentItem has a 'relevantDate' attribute that is indexed and
> displayed in the Date column of the dashboard view. There's also a
> 'relevantDateSource' attribute that's currently used to display the
> source of the selected item's Date value (though it's currently not
> localized).
> - Items (either ContentItem, its subclasses, or annotations on
> ContentItem) that want to provide a relevant date do so by
> implementing schema.observers that call
> ContentItem.updateRelevantDate() when a related date attribute changes.
> - ContentItem.updateRelevantDate() calls AddRelevantDates() on itself
> any stamping annotations, and the Remindable annotation, and picks one
> to update 'relevantDate'/'relevantDateSource'.
>
> I'm proposing that I do something similar for 'who', though I now
> think that 'relevantDate'/'relevantDateSource' would be better named
> 'displayDate' and 'displayDateSource'; I'd do that, and make the 'who'
> fields be 'displayWho'/'displayWhoSource'.
>
> We don't appear to need the same dynamic-ness for 'about' as well, so
> at least for now, I'd get rid of the redirections from 'about' to
> 'displayName': we'd index 'displayName' instead of 'about'. Any
> ContentItem subclasses or Annotations that wanted to have their own
> name for the displayName could use a redirectTo as they do now;
> however, anyone who redirected 'about' to some other field would need
> that redirection replaced by one to 'displayName' -- for example, the
> Amazon parcel has a ProductName attribute and used to redirect 'about'
> to it; now, it would have a redirection from 'ProductName' to
> 'displayName' instead.
>
> If we need to show alternative names for the field in the UI, such as
> 'Subject' if it's an email, and 'Product Name' if it's an Amazon item,
> a separate mechanism will be built to look up a localized name at
> display time.
>
> To allow the repository to stop supporting a generic 'displayName'
> mechanism, we'd declare a concrete schema.Text 'displayName' attribute
> on ContentItem.
>
> Comments?
>
> Thanks,
> ...Bryan
>
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
>
> Open Source Applications Foundation "chandler-dev" mailing list
> http://lists.osafoundation.org/mailman/listinfo/chandler-dev
More information about the chandler-dev
mailing list