[Cosmo-dev] Cosmo 0.6 sharing
Randy Letness
randy at osafoundation.org
Tue Oct 24 14:20:19 PDT 2006
Brian Moseley wrote:
>
> * according to my understanding of EIM, a "contentitem" record
> explicitly doesn't carry any stronger typing information. this sort of
> record could apply to an item of any type. this implies to me a mixin
> typing system for cosmo like jcr's. when processing the record stream
> for an item, we could first create it as a ContentItem from the first
> record, then mix in the Note type when we hit the note record.
>
That makes more sense, but from the EIM example, there are no
"note" records as note just inherits from "contentitem", but adds no
additional fields. Maybe the example is wrong, or maybe a
contentitem is a note by definition.
> * i believe that all item data will be communicated through EIM. in
> other words, no icalendar.
>
So we have to have some sort of EIM-->icalendar and icalendar-->
EIM translator to support other protocols like CalDAV. Since all
the calendar events are indexed using the icalendar properties, it
seems like we would need to create an icalendar representation
of the EIM records in order to continue to support CalDAV. This
brings up another question. What if people want to use Cosmo
only as a CalDAV server (no Chandler involved)? Should Cosmo
still decompose the icalendar data into EIM records. Is
Cosmo basically turning into an EIM repository with hooks
to support getting/putting data using other protocols?
> * re cosmo AttributeSets, i like the idea. the api could be something
> like Item.getAttribute(namespace, name) or even
> Item.getAttribute(QName) where a QName is simply a namespace/localname
> pair, just like xml and jcr. i'm not sure how an item would have two
> distinct sets of attributes in the same namespace - this implies that
> chandler sent two separate Note records for the same item, for
> instance, which would be redundant.
The example I was thinking about was an item with association
records. Each association (tag for instance) is represented as
a record, so an item can have any number of association
records, all with the same namespace, just different values.
-Randy
More information about the cosmo-dev
mailing list