[Cosmo-dev] cosmo 0.6.1 EIMML changes

Randy Letness randy at osafoundation.org
Wed Feb 28 21:20:30 PST 2007


Morgen Sagen wrote:
>
> Sorry, I was away last week, and am still catching up.
>
> So, I looked back at our conversation on Jan 9 and I don't think we 
> discussed emitting an item or note record for modifications.  Or if we 
> did, I missed that part.  This issue is probably worth revisiting.  I 
> think what Jeffrey has implemented only emits eventModification 
> records (and not additional item and note records).  Randy, can you 
> elaborate on the changes you made?
>

In Cosmo 0.6,  the master event and all exceptions are stored in a 
single event stamped item.  We decided to change this in 0.6.1 to be 
more like Chandler's model, where an event exception is modeled as a 
separate item that has a reference to the master event's item.  This 
means the note record now has a parentUuid field, which is the uuid of 
the master note.  So instead of including all the note/contentitem 
info(body, triageStatus, reminderTime, etc) in the eventModification 
record, separate contentitem/note records should be used (with the note 
record containing the parent uuid of the master note item).

For example, the eimml for an event with two modifications would look 
something like:

<eim:collection uuid="col1"
                name="Chandler Test"
                xmlns:eim="http://osafoundation.org/eim/0">
  <eim:recordset uuid="item1">
    <event:record xmlns:event="http://osafoundation.org/eim/event/0">
      <event:uuid eim:key="true" eim:type="text">item1</event:uuid>
      <event:dtstart 
eim:type="text">;VALUE=DATE-TIME:20070212T074500</event:dtstart>
      <event:dtend 
eim:type="text">;VALUE=DATE-TIME:20070212T084500</event:dtend>
      <event:location eim:type="text" />
      <event:rrule 
eim:type="text">FREQ=DAILY;UNTIL=20070306T055959Z</event:rrule>
      <event:exrule eim:type="text" />
      <event:rdate eim:type="text" />
      <event:exdate eim:type="text" />
      <event:status eim:type="text">CONFIRMED</event:status>
    </event:record>
    <item:record xmlns:item="http://osafoundation.org/eim/item/0">
      <item:uuid eim:key="true" eim:type="text">item1</item:uuid>
      <item:title eim:type="text">From Chandler</item:title>
      <item:triageStatus eim:type="text">now</item:triageStatus>
      <item:triageStatusChanged 
eim:type="decimal">-1171347573.00</item:triageStatusChanged>
      <item:lastModifiedBy eim:type="text" />
      <item:createdOn eim:type="decimal">1171318773</item:createdOn>
    </item:record>
    <note:record xmlns:note="http://osafoundation.org/eim/note/0">
      <note:uuid eim:key="true" eim:type="text">item1</note:uuid>
      <note:parentUuid eim:type="text"/>
      <note:body empty="true" eim:type="clob" />
      <note:icalUid eim:type="text">icaluid1</note:icalUid>
      <note:reminderTime eim:type="decimal" />
    </note:record>
  </eim:recordset>
  <eim:recordset uuid="item2">
    <eventModification:record 
xmlns:eventModification="http://osafoundation.org/eim/eventModification/0">
      <eventModification:uuid eim:key="true" 
eim:type="text">item2</eventModification:uuid>
      <eventModification:recurrenceId eim:key="true" 
eim:type="text">20070213T074500</eventModification:recurrenceId>
      <eventModification:dtstart 
eim:type="text">;VALUE=DATE-TIME:20070213T084500</eventModification:dtstart>
      <eventModification:dtend 
eim:type="text">;VALUE=DATE-TIME:20070213T094500</eventModification:dtend>
      <eventModification:location eim:type="text" />
      <eventModification:status 
eim:type="text">CONFIRMED</eventModification:status>
    </eventModification:record>
    <item:record xmlns:item="http://osafoundation.org/eim/item/0">
      <item:uuid eim:key="true" eim:type="text">item2</item:uuid>
      <item:title eim:type="text">From Chandler</item:title>
      <item:triageStatus eim:type="text">now</item:triageStatus>
      <item:triageStatusChanged 
eim:type="decimal">-1171347573.00</item:triageStatusChanged>
      <item:lastModifiedBy eim:type="text" />
      <item:createdOn eim:type="decimal">1171318773</item:createdOn>
    </item:record>
    <note:record xmlns:note="http://osafoundation.org/eim/note/0">
      <note:uuid eim:key="true" eim:type="text">item2</note:uuid>
      <note:parentUuid eim:type="text">item1</note:parentUuid>
      <note:body empty="true" eim:type="clob" />
      <note:icalUid eim:type="text">icaluid1</note:icalUid>
      <note:reminderTime eim:type="decimal" />
    </note:record>
  </eim:recordset>
  <eim:recordset uuid="item3">
    <eventModification:record 
xmlns:eventModification="http://osafoundation.org/eim/eventModification/0">
      <eventModification:uuid eim:key="true" 
eim:type="text">item3</eventModification:uuid>
      <eventModification:recurrenceId eim:key="true" 
eim:type="text">20070214T074500</eventModification:recurrenceId>
      <eventModification:dtstart 
eim:type="text">;VALUE=DATE-TIME:20070214T094500</eventModification:dtstart>
      <eventModification:dtend 
eim:type="text">;VALUE=DATE-TIME:20070214T104500</eventModification:dtend>
      <eventModification:location eim:type="text" />
      <eventModification:status 
eim:type="text">CONFIRMED</eventModification:status>
    </eventModification:record>
    <item:record xmlns:item="http://osafoundation.org/eim/item/0">
      <item:uuid eim:key="true" eim:type="text">item3</item:uuid>
      <item:title eim:type="text">From Chandler</item:title>
      <item:triageStatus eim:type="text">now</item:triageStatus>
      <item:triageStatusChanged 
eim:type="decimal">-1171347573.00</item:triageStatusChanged>
      <item:lastModifiedBy eim:type="text" />
      <item:createdOn eim:type="decimal">1171318773</item:createdOn>
    </item:record>
    <note:record xmlns:note="http://osafoundation.org/eim/note/0">
      <note:uuid eim:key="true" eim:type="text">item3</note:uuid>
      <note:parentUuid eim:type="text">item1</note:parentUuid>
      <note:body empty="true" eim:type="clob" />
      <note:icalUid eim:type="text">icaluid1</note:icalUid>
      <note:reminderTime eim:type="decimal" />
    </note:record>
  </eim:recordset>
</eim:collection>

-Randy


More information about the cosmo-dev mailing list