2004 年 7 月の履歴(もしくは日誌)


2004 年 7 月

7 月 29 日

「スケジュールとRSS」について

イベント情報を配信するときに iCalendar だけでなく RSS でも配信したいというのは当然出てくる要求だと思います.RSS なら,それを利用できる応用も多いですから.

RSS として配信するなら,通常の RSS リーダで利用したときに問題が無くて,さらに RDF として見たときに十分なメタデータも含まれているようにしたいですね.

「semblog-dev: スケジュールとRSS」で,このイベント情報のメタデータ配信への RSS の利用の事が話題になっていました.

イベントを考える際には「時間」にイベントの開始時間,終了時間,そしてそのイベント情報自体を配信した時間の3要素があり,前者2つについてはRSSの基本フレームワークから外す,すなわちitemのdc:dateには記述しないということは運用のルールとしてfixさせないといけないだろう.あとはもちろんRSSリーダー側が上記モジュールに対応してイベントを正しく表示されるのが理想だが,それまでの暫定的対応としてtitleの先頭に開始時間を入れておくのは悪くない.

この部分の提案はもっともですね.すでにぼくもイベント情報を iCalendar や RDFical で配信すると同時に,同じ情報を RSS でも配信していますが,同じような事をしています.

semblog-dev の提案の通り,イベントの開始日時などは rss:item の dc:date には記述しないべきでしょう.

それにイベントの情報では「いつなのか」ってのはとても重要な情報なので,タイトルに含ませるというのも,現実的な手だと思います.ぼくも実践しています.

ぼくは rss:item の中に foaf:topic を使ってイベント情報を埋め込んでいます.

例を示すとこんな感じ:

<item rdf:about="http://onohiroki.cycling.jp/calendar/cal2004-09.html#d2004-09-11-B5EAEB22-CFBE-11D8-B851-0003937B6ADA">
    <title>2004-09-11 (仮)麦草アタック2004</title>
    <link>http://onohiroki.cycling.jp/calendar/cal2004-09.html#d2004-09-11-B5EAEB22-CFBE-11D8-B851-0003937B6ADA</link>
    <dc:date>2004-07-07T02:46:50Z</dc:date>
    <dc:subject>自転車イベント</dc:subject>
    <description>イベント名:(仮)麦草アタック2004, 開始日時:2004-09-11</description>
    <foaf:topic>
      <i:Vevent>
        <i:dtstart rdf:parseType="Resource">
          <i:date>2004-09-11</i:date>
        </i:dtstart>
        <i:dtend rdf:parseType="Resource">
          <i:date>2004-09-13</i:date>
        </i:dtend>
        <i:summary>(仮)麦草アタック2004</i:summary>
        <i:description>JR中央線茅野駅出発して麦草峠を越えて,小海線松原湖駅まで.その後は野辺山で一泊.</i:description>
      </i:Vevent>
    </foaf:topic>
  </item>

ちなみに上の例では xmlns:i="http://www.w3.org/2002/12/cal/ical#" となってます.

このデータは Mac OS X の iCal というスケジュール管理ソフトウェアのデータをもとに変換します.item の dc:date は,iCal にデータ入力した時の日時です.ですからイベント情報を修正すると dc:date の値が更新されます.イベントの開始日時は dc:date とは別になっています.

http://onohiroki.cycling.jp/tb/tb.cgi/weblog_d20040729n1 TrackBack

[ 上に戻る]