Events, Twitter and iCal
Tue, 02/19/2008 - 2:55pm by eby
We recently redid the backend for out events here at AADL. While you probably haven't seen many changes on the public site, we now have the backbone that will allow us to create all kinds of cool things and improved events. Online registration, My Events, reminders. All kinds of things will be possible.
To test out the new system we made a few quick applications to take advantage of it. The first is a Twitter feed at http://twitter.com/aadl which gives announcements of events 30 minutes before they begin, among other things. Within a couple days there was already over a dozen followers. The twitter feed utilizes a PHP5 class that can be found at http://groups.google.com/group/twitter-development-talk/files which was coupled with a few simple calls to our events API. With our class and the Twitter class it took very little time to get up an running. A cron takes care of the rest.
Another big feature is iCal feeds that can be subscribed to for out events. This is still under active development so you may experience some occasional issues. Feel free to comment if you have any suggestions or problems. Here are the URLs currently available. I'll update the list as I add them. Only the Exhibits feed shows exhibits until I can fix some of the all day events so they don't clutter up your calendar.
- All Events : http://api.aadl.org/ical/all
- Exhibits: http://api.aadl.org/ical/exhibits
- Downtown Events: http://api.aadl.org/ical/all/downtown
- Malletts Events: http://api.aadl.org/ical/all/malletts
- Pittsfield Events: http://api.aadl.org/ical/all/pittsfield
- West Events: http://api.aadl.org/ical/all/west
- Northeast Events: http://api.aadl.org/ical/all/northeast
To get events for a specific keyword you can do the following (replace keyword with your word of choice)
Again, send any comments, suggestions or problems. Once the iCal becomes more stable you should see easy links on out website.
I've been messing with <a href="http://pipes.yahoo.com/">Yahoo Pipes</a> lately. I created this pipe to combine multiple RSS feeds from AADL into one feed: <a href="http://pipes.yahoo.com/rjstone/aadlfeeds">http://pipes.yahoo.com/rjston…;
Too bad I was unable to autogenerate list of all feeds on the site using Yahoo Pipes modules. The feed autodiscovery modules don't work, and I can't load the RSS feed index pages in order to try to attempt to parse them using their lame regexp implementation. Maybe one day they'll add a real HTML/XML parser module or something (thought I'm still not sure I could currently fetch the necessary pages due to robots.txt settings.)
People may find it useful to clone my pipe and delete uninteresting feeds from it.
I don't suppose there's an existing script or some taxonomy module keyword that could help in combining multiple feeds? Is there an OPML file?
More messing around: <ul><li><a href="http://pipes.yahoo.com/rjstone/aadl_new_books">http://pipes.yahoo.com/r…;
These "visual" programming languages are annoying if you have to do anything that's even slightly more than trivial. I wish they'd just let me upload a limited ruby or python script into a sandbox.
Just as we have an RSS feed for user/checkouts under /myaccounts, could that same info (due date) be presented as an ical feed? (unfortunately there isn't a good way I've found to transform dates in RSS to iCal otherwise it would simply be an XSL stylesheet :-)
Not sure why I didn't think of this before, but as many before me have, I've found a way to transform the RSS feed of checkouts of our AADL account into an ical feed which I can then import into my calendar and have notifications (other than the email from the library) show up in my regular workflow). Using it is a bit convoluted due to the privacy of the RSS feed url. Here's the basic method.
<li>Log into your AADL account and click on "My account"</li>
<li>copy the checkouts feed url (gray feed icon under the checkouts section, the url looks like http://api.aadl.org/user/checkouts?token=some.long.private.alphanumeric…;
<li>Go to this Yahoo pipe
<a href="http://pipes.yahoo.com/rpaditya/aadlduedates">AADL check out due dates</a> and enter in your private feed url from the previous step</li>
<li>On the resulting screen, click on the "More options" link to the top right, and pick "Get as iCal", which you can right click on to copy the link location and paste that into your calendar</li>
Known bug: since the due date in the RSS feed is given just as a date and iCal wants a time, plus Yahoo's default is Pacific time, the time the item is due is 3am Eastern time typically.
btw, the same Yahoo Pipe would work for holds also except the date format in that feed is different from that for checkouts and although I could update the regex, it seems like it should match in the output...so I've created a second Pipe that works for holds at <a href="http://pipes.yahoo.com/rpaditya/aadlholds">http://pipes.yahoo.com/rpadi…; with similar instructions -- login and go to "My Account" and if you have any holds, copy the link of the RSS feed under the "Requested Items" section -- it looks like http://api.aadl.org/user/holds?token=some.long.alphanumeric.string and paste that into the above pipe and follow the instructions provided with that.
Pleased about the iCal functionality for AADL, it's about time. Is there any web conferencing functionality (i.e. gotomeeting) or will there be in the near future? [link removed]