Something that has been on the "should do" list for a while and I finally did is a bulk loader for calendar entries. This is a command-line app that takes a csv file and inserts it into the DB of entries. It requires that the columns match the expectation, but there's an excel template in Git that makes that easy, and it requires that the calendar object is already there, as it takes calendar ID as it's argument. Running it looks like this:
[aaronm@Shamash bohdb]$ bin/loader.pl --csv ~/Dropbox/manuscripts/Books\ of\ Hours/Add\ MS\ 35313.csv --calendar=46
366 rows loaded from /Users/aaronm/Dropbox/manuscripts/Books of Hours/Add MS 35313.csv at bin/loader.pl line 47.
365 rows prepared to insert at bin/loader.pl line 83.
This is rough code, we're doing direct SQL transactions rather than using the relevant Calendar object, but it makes the insert faster and lets the transaction work. At some point there will be a better loader, probably with a web interface, and that will do things "right". BL MS Add 35313 is the first calendar loaded with the new code.