in reply to precalculating event dates vs.recalculating them.

I don't have any brilliant insights into your problem, but one problem that strikes me is events that are open-ended in their timespan. Those are (more or less) impossible to pre-insert into your database.

And one option to simplify the selection of events would be to only allow a limited number of variants of recurrence for events, and then writing a really clever SQL query to select the relevant events. You might also be able to do something nice if you use a weird database schema (some form of denormalised schema perhaps).

  • Comment on Re: precalculating event dates vs.recalculating them.