Blogging over iCal

by Kevin Hemenway

Related link: http://www.disobey.com/dnn/2002/09/index.shtml#001373



Everyone knows that Apple's free calendar application, iCal has been released. One of the niftiest features is subscriptions: you can subscribe to someone else's calendar, much like you can subscribe to a mailing list or someone's RSS feed. Welp, here's a spiffy idea proposed by Jim Roepcke: I want to make a ... page that generates an iCal file so people can subscribe to the blog in iCal... It would be a nice groupware feature, wouldn't it?



So, I've thrown together a simplistic Movable Type blog-to-iCal implementation.



There are a couple of things not-so-perfect (and any ignorance of my own is due to not reading the vCalendar spec, instead merely mimicking a sample calendar I created for this purpose. For one, timezones must be correctly set (my template defaults to US/Eastern, since I'm over in New Hampshire). Then, certain characters, like commas and colons (and probably others) need to be escaped with a backslash, else iCal will stop reading the event at the point of unescaped character. In Movable Type, you can sorta accomplish this by using <MTEntryTitle dirify="">, which will turn your event name into something like "ical_and_blogging", which isn't ideal. Finally, and perhaps most annoying: URLs aren't clickable, so I can't easily jump off to read the complete entry.



UPDATE, 2002-09-12: Solved the encoding issues with a Movable Type plugin, added a DESCRIPTION (to supplement the SUMMARY) and customized the name of the calendar when loaded into iCal. See more and the latest template here. Been chatting with some other people as well - some movement in this area, it seems. Good, good. Sidenote: Thanks go out to redmonk who gave patient and helpful comments whilst I rapidly barked out "Refresh! RefressHH!" over and over again from the dark dungeons of a Windows 2000 machine (Gasp! I know. Hey, I multi-task).



UPDATE, 2002-09-12 (later): Huh. iCal chokes if your calendar has Mac linefeeds. Also, Slashdot has been converted by Mike Krus of NewsIsFree.com. More information about both is available in my last update of the night. Also, how to make clickable URLs as per one of the Talk Back comments (below).



Done anything neat with iCal and subscriptions? Let me know!


7 Comments

anonymous2
2002-09-11 19:18:53
Future messages
Thank you for this superneat trick. I just realized how easy it will be to post to the future, like scheduling a meeting with my blog:-)


Rikard

anonymous2
2002-09-12 12:54:49
URLs in events
In the iCal help file it explains how to add clickable URLs to events:
"To include a clickable URL in the subject for an event, type the URL between angle brackets. For example, "


Not great as you have to double click on the event and they donít show up in the alarm, but sure they will get better with later versions.


I just wish they would allow us to run applications at a specified time, instead of the other types of alarm.

anonymous2
2002-09-13 07:05:02
Interesting, but...
wouldn't the more *useful* thing be to parse the .ics file and merge into MovableType (or blog of choice)?
salamon
2002-09-23 11:10:41
URLs in events
I just wish they would allow us to run applications at a specified time, instead of the other types of alarm.


This should be fairly easy (but not necessarily safe) to do by hacking the applescript that is used to send email in an alarm. The script is called 'mailScript.applescript' and it is in iCal.app/Contents/Resources.


I would probably do something ugly like if the body of the event started with 'RunScript: ', then I would run the AppleScript that was specified after that.


My new version of mailScript would look something like this:
tell application "Mail"
set mysubject to "$1"
set mybody to "$2"
set myrecipient to "$3"


if mybody starts with "RunScript: " then
-- parse out the script name, load it and run it.
else
set mymail to (make new outgoing message at the beginning of outgoing messages with properties { subject:mysubject, content:mybody})
tell mymail to make new to recipient at beginning of to recipients with properties {name:myrecipient}


send mymail
end if
end tell

jasontromm
2002-09-28 16:46:38
Trommetter Times iCal

I added an href="http://www.trommetter.org/phpicalendar/calendars/index.ics">
iCal to the href="http://www.trommetter.org/log/index.php">the Trommetter
Times. I started with href="http://www.disobey.com/dnn/2002/09/index.shtml#001373">Morbus'
iCal template
and created my own template. I don't have a
Mac, but I found out href="http://www.mozilla.org/">Mozilla has an iCal
compatible href="http://www.mozilla.org/projects/calendar/">calendar.


anonymous2
2004-01-07 10:51:52
Interesting, but...
However, one of the difficulties is in creating the ics file. It would be a good solution if you can count on everyone having Apple's iCal or Mozilla - but what if you wanted to let users add events to a calendar without needing those apps. Seems like Movable Type is a platform of choice because of the ability to edit via a Web browser - taking Movable Type to ics format allows that to happen
MartinTod
2005-11-13 17:42:05
Integrating xCal namespace into RSS
I've had a go at integrating xCal into an RSS feed at http://www.flocktogether.org.uk. It's possible to put the relevant date and location information into an RSS feed as text, but this doesn't let you sort meetings by date (for example).


Not all sure who (or what system) is going to read it, but it felt like the right thing to do!