Hi!

I try to map calendar entries to RPID elements - unfortunately this is 
not trivial.

Calender entries can be roughly characterized with:
Subject: What is happening
Location: Were is it happening
When: Start-stop
Particpation-Status: e.g. free/tentative/busy/out-of-office

I suggest the following mapping:

1. publish calender event inside a person element as it refers to the 
activites/status of a person
2. Subject: <note> element inside the <activities>
3. Location: PIDFLO civic location inside the <person> element
4. When: use from/until attributes of <activities>
5. Participation-Status: <note> element inside the <person> element

Unsolved problems with this mapping:
- publishing multiple activities (e.g. future meetings) requires 
multiple <person> elements. IMO it would be better to have a single 
<person> with multiple <activities> (the activities have different 
from/until) but activities are not extensible. Thus the location can not 
be located within the activities and needs to be put inside the <person> 
element.

- Participation status: This relates to iCal's "Free/Busy Time Type". 
RPID lacks an element for this data type. As a workaround I think the 
<note> element inside the <person> element is suitable.

- For the watcher there is no standardized way to relate these <person> 
element with the user's calender. IMO the <class> element can be used to 
classify the <person> data, e.g. <class>calender</calender>. But the 
classes are not standardized, thus only proprietary watchers will detect 
and render the calender entries correct.

What do you think? Is there a better approach for my mapping? Any 
comments are appreciated.

regards
Klaus

PS: The above mapping will produce such presence documents:

An example with 2 calender entries:

<?xml version="1.0" encoding="UTF-8"?>
<presence xmlns="urn:ietf:params:xml:ns:pidf"
       xmlns:dm="urn:ietf:params:xml:ns:pidf:data-model"
       xmlns:lt="urn:ietf:params:xml:ns:location-type"
       xmlns:rpid="urn:ietf:params:xml:ns:pidf:rpid"
       xmlns:gp="urn:ietf:params:xml:ns:pidf:geopriv10"
       xmlns:cl="urn:ietf:params:xml:ns:pidf:geopriv10:civicLoc"
       entity="pres:[email protected]">

    <dm:person id="calender01">
      <rpid:activities from="2010-05-30T12:00:00+02:00"
         until="2010-05-30T17:00:00+02:00">
         <rpid:note>SIMPLE Strategy Meeting</rpid:note>
         <rpid:meeting/>
      </rpid:activities>
      <rpid:class>calender</rpid:class>
      <gp:geopriv>
        <gp:location-info>
          <cl:civicAddress xml:lang="de">
            <cl:country>AT</cl:country>
            <cl:A1>Wien</cl:A1>
            <cl:A2>Wien</cl:A2>
            <cl:A3>Wien</cl:A3>
            <cl:A4>1</cl:A4>
            <cl:RD>Karlsplatz</cl:RD>
            <cl:HNO>;1;;;;;;Stg.;2;;;;;;9;;</cl:HNO>
            <cl:PC>1010</cl:PC>
          </cl:civicAddress>
        </gp:location-info>
        <usage-rules/>
      </gp:geopriv>
      <dm:note>tentative</dm:note>
      <dm:timestamp>2010-05-30T16:09:44+02:00</dm:timestamp>
    </dm:person>

    <dm:person id="calender02">
      <rpid:activities from="2010-05-30T17:00:00+02:00"
         until="2010-05-30T18:00:00+02:00">
         <rpid:note>jour fixe</rpid:note>
         <rpid:meeting/>
      </rpid:activities>
      <rpid:class>calender</rpid:class>
      <gp:geopriv>
        <gp:location-info>
          <cl:civicAddress xml:lang="en">
            <cl:NAM>Office Mr. Doe</cl:NAM>
          </cl:civicAddress>
        </gp:location-info>
        <usage-rules/>
      </gp:geopriv>
      <dm:note>busy</dm:note>
      <dm:timestamp>2010-05-30T16:09:44+02:00</dm:timestamp>
    </dm:person>
</presence>
_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

Reply via email to