Migrate to using SQLite
to store everything: nonces, collections, resources, configuration,
and so on.
This completely replaces the existing file-system based infrastructure, which was too brittle, with a single database file.
All existing functionality is preserved, but there are some changes to be aware of if you're already using kcaldav
Foremost, you can now have multiple calendars.
To effect this change, all user calendars are now within subdirectories of the calendar root, e.g.,
instead of directly in
iOS and iCal clients deal with this properly, but Thunderbird will need to point directly to the calendar collection.
Use the on-line interface or kcaldav.passwd(1)
to add calendars and calendar files.
To migrate an existing installation, you'll need to create a new database file with kcaldav.passwd(1)
Make sure that it's read-writable by the web server process.
You'll then need to add your iCalendar files using the same tool.
To migrate this server, I simply re-created my principal, then added the calendar files.
% cd /var/www/caldav
% kcaldav.passwd -f . -C
% kcaldav.passwd -f . -n `find kristaps -name \*.ics`
The unabridged form consists of using
For testing, note that the kcaldav.db file can live alongside an existing installation.
So if you want to make sure it works, both can run alongside each other.