[Cosmo-dev] Recurrence modifications, filters, and diffs
Randy Letness
randy at osafoundation.org
Mon Feb 12 07:12:38 PST 2007
Brian Moseley wrote:
> there are really three states for a modification attribute:
>
> * has a value: <noteMod:reminderTime>thevalue</noteMod:reminderTime>
> * has no value (None in python, null in java): <noteMod:reminderTime />
> * is "missing": <noteMod:reminderTime eim:missing="true" />
>
> only modification attributes can be "missing". this state tells
> chandler and the cosmo ui that the attribute should be inherited from
> the master item. it tells cosmo to copy the attribute value from the
> master when exporting the modification to icalendar for caldav.
>
> alarms on event modifications can also be "missing".
>
> the challenge for cosmo in 0.6.1 is how to persist this "missing" state.
One way to do this:
* has a value: Item has an Attribute with a non-null value
* has no value: Item has an Attribute with a null value
* is "missing": Item does not have an Attribute
We would have to change the model by adding attribute getters that
return the Attribute (StringAttribute, TimestampAttribute, etc) instead
of the Attribute's value. Also, this only works for data stored as
Attributes. This wouldn't work for things like triageStatus,
displayName, or any data that is stored as individual columns in the
database.
-Randy
More information about the cosmo-dev
mailing list