Billions of events


I've been working on the Events thing tonight (in D7, but there's a few modules not quite there).

Stumbled over this blog entry @ Palantir. Extremely worth reading.

Dating is Complicated

The gist of it boils down to an aspect of the problem I've been shying away from solving.

There are two ways (well, at least two) to consider an event.

  • Something that happens at [one or many] datetimes. e.g. Markets on Wednesday in front of the Casino. Or the 3-week season a movie is showing.
  • An individual instance, or session, of that market. e.g. Market on Wednesday 2 March 2001 in front of the Casino. Or a movie session you can buy a ticket for.

Now imagine you want to schedule that in your personal Google Calendar - or alternatively, 'book in' for a particular session. You could do it one of two ways via Drupal:

  1. generate an icalendar object based on a combo of validated user input for their selected 'session' and the (main) event node
  2. actually have individual nodes for every session for every event, forever.

To this point, I'd disregarded option (b) as batshit crazy. The Palantir guys, however, chose it, and the result is the Drupal iCal module (D6 only). The obvious upside is that if the session changes, you've got something to hang your hat on with a node which you don't if you've only derived a diary entry at a point in time.

I think this requires more thought.