17 April 2010
“Scratch your own itch,” they say. When I couldn’t find a version of the DrupalCon session schedule in iCal format, I converted the Excel schedule created by Lullabot‘s Kent Bye. How? Using Drupal, of course!
As with most migrations, this was an iterative process. I tried it once, failed, tried again, failed. Rinse, lather, repeat. For the curious, here’s how it went down:
- Prepare the Excel file for import. Many changes were necessary. For example, the original Excel file gives the date in one row, then lists all the sessions for that day below it. Since each row would become a node, the date information had to be in every row.
- Save it as a tab-delimited file. Munge that file further. Excel put a quotation mark around every field that contained certain punctuation. If not removed, those extraneous quotation marks would be visible in the final product.
- Create a custom content type and calendar (with iCal feed) to hold the information in Drupal. Karen Stevenson‘s excellent Date and Calendar modules made this easy, particularly by using the “Date Tools” module that comes with the former. (Both are part of Acquia Drupal.)
- Import via the Node Import module. This module required a patch to correctly import dates.
- Enable and edit the Calendar view as needed.
- View the calendar and test exports in iCal. We’re really close now! This is where flaws in the process became obvious: For example, I had exported early morning times as “9:45” instead of “09:45”, causing such events to fail. That meant going back to Step 1 to change how the data was stored in the Excel file.
- When ready, edit the iCal export with a text editor. The export “HTMLified” title text, so that “&” came out like “& amp;”.
- Publish, accept the adulation of a grateful nation. 😉
Note that this calendar, like the Excel file it came from, only includes session starting times: It doesn’t say how long sessions last. I take no responsibility for errors or omissions. Caveat lector. And alas, it doesn’t include many of the non-session events, such as exhibit hall hours or (sob!) parties. Just follow the throngs of excited Drupalistas for those. See you there!Web development