Icalendar and RDF and movable type again

I’ve been trying to see if movable type can emit future events e.g. intention to attend; recording the existence of; in an interesting way.

To change the date of an event (e.g. to say when an event in the future was) I had to change the editing screen to make sure you can change the date on an edited event. Once the entry was saved, I could change the date. But it is ‘authored on’ date so it seems sort of wrong to abuse the semantics of it in this way. Plus for repeating events you would have to add it each time. Also you would have to do a new entry each time, not just change the old one. Anyway, I have an icalendar versionof my weblog, thanks to jos yule (I’ve made a couple of minor changes to his template), and an RDFical version too. Oh and what the hell, an RSS 1.0 and RDFical one, just for fun.

Here’s the icalendar template, again, not really my work, but worth reposting for the differences from jos yule’s version (line length, uid uniqueness and date rather than datetime, which has to have a timezone in the same file, which is tricky to do using the current mt tools):

BEGIN:VCALENDAR
VERSION
:2.0
PRODID
:-//iCalendar experiment in Movable Type//EN
<MTEntries lastn="15">
BEGIN:VEVENT
UID
:<$MTEntryID pad="1"$>@planb.nicecupoftea.org
SUMMARY
:<$MTEntryTitle$>
DESCRIPTION
:<$MTEntryBody words="5"$>...
URL
:<$MTEntryPermalink$>
STATUS
:CONFIRMED
CLASS
:PUBLIC
DTSTART
:<$MTEntryDate format="%Y%m%d"$>
DTEND
:<$MTEntryDate format="%Y%m%d"$>
DTSTAMP
:<$MTEntryDate format="%Y%m%dT%H%M%SZ"$>
END:VEVENT
</MTEntries>
END:VCALENDAR

and the RDFical template:

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns="http://www.w3.org/2002/12/cal/ical#">
<Vcalendar>
<prodid>-//RDFiCal experiment in Movable Type//</prodid>
<version>2.0</version>
<MTEntries lastn="15">
<component>
<Vevent>
<uid><$MTEntryID pad="1"$>@planb.nicecupoftea.org</uid>
<summary><$MTEntryTitle$></summary>
<description><$MTEntryBody words="5"$>...</description>
<url rdf:resource="<$MTEntryPermalink$>"/>
<status>CONFIRMED</status>
<class>PUBLIC</class>
<dtstart rdf:parseType="Resource">
<date><$MTEntryDate format="%Y-%m-%d"$></dateTime>
</dtstart>
<dtend rdf:parseType="Resource">
<date><$MTEntryDate format="%Y-%m-%d"$></dateTime>
</dtend>
<dtstamp rdf:parseType="Resource">
<dateTime><$MTEntryDate format="%Y-%m-%dT%H:%M:%SZ"$></dateTime>
</dtstamp>
</Vevent>
</component>
</MTEntries>
</Vcalendar>
</rdf:RDF>

This would be much much better if you could add some stuff about whether you were planning to go, the homepage of the event etc. I’ve not thought through how to do this yet. It’d be a hack. I’m really not sure there’s much point in having an ical or RDFical feed for a blog unless it actually talks about events in the sense or meetings, conferences etc. You could have a blog that was just events maybe. Here’s an example of mixing foaf and RDFical to talk about attendence and to give the event a homepage.

6 thoughts on “Icalendar and RDF and movable type again

  1. Danny

    Hi Libby, not entirely sure where this leads, but you might want to have a word with Chris Heathcote who’s already got a feed of art events in London using and is interested in incorporating richer (than RSS) metadata.
    Hmm… maybe some kind of “Blog This!” bookmarklet could transfer an entry from a list like Chris’s into a Movable Type entry saying “I want to go!”.
    http://www.undergroundlondon.com/art/

  2. libby

    Nice idea Danny πŸ™‚
    The main issue is how to identify the events, I think. Vinay Pawar has some suggestions on www-rdf-calendar @ w3.org, but it’s not straightforward.

  3. Chris

    I’ve just updated the feed to incorporate the rss event info; I think adding ical stuff is over the head of XML::RSS.
    As for the bookmarklet idea, well you could just use the normal blogging bookmarklet, and add trackback to each event. The event could then aggregate people. Not sure how it could handle multi-day events though.
    And all of this means I’d have to build something to handle trackbacks πŸ™‚

  4. Tim

    Libby – may I ask why the ical verson of your blog uses VEVENT rather than VJOURNAL? VJOURNAL entries seem more suited to the task.

  5. libby

    Tim, hi. To be honest I was just experimenting. I’m trying to think of ways to create event data easily, and I wondered if MT would work well like that. It doesn’t really work though.

Comments are closed.