[Chandler-dev] Moving color/etc out of ContentCollection
Alec Flett
alecf at osafoundation.org
Wed Mar 22 10:15:22 PST 2006
I'm in the process of (finally) moving color, outOfTheBoxCollection, etc
out of 'ContentCollection' and into an Annotation called
'UserCollection' The basic idea is that if a collection does need to be
user-facing, and thus have things like color, etc., then we can use this
annotation to attach those attributes.
I'm putting this annotation in osaf.app, so that all consumers of these
attributes now must import UserCollection from osaf.app..
Whereas before they would say:
foo.color = blah
now they say
from osaf.app import UserCollection
...
UserCollection(foo).color = blah
I personally like the explicit-ness of this, so consumers understand
that they are expecting the collection to be a user collection.
As a side effect of this, I'm finding that I can keep dependencies to a
minimum by moving in/out/all/trash to osaf.app. This seems like the
right thing to do anyway because it seems like these chandler-specific
collections belong at a higher level than osaf.pim.
I don't see this being a problem other than making changes across the
whole codebase, but I'm doing that right now. Does anyone have any
issues with this change? I'm feeling pretty positive that I can move
these from osaf.pim into osaf.app without creating a dependency from
osaf.pim to osaf.app (that dependency would defeat the purpose of this
whole exercise!)
Thoughts?
Alec
More information about the chandler-dev
mailing list