For about a year now I’ve been running my own personal online calendar using iCal files on my web space and accessing them with Mozilla Sunbird and WebDAV. It’s not the most elegant solution, but it was working, and there’s not much in the way of alternatives (save for web-based shared calendars). Well, somewhere along the way, one of my iCal files (the big, important one) got corrupted. I’m not sure if Sunbird was in the middle of a file write when my wireless connection went out, or if it didn’t survive the temporary move when I setup WordPress. At any rate, the file was incomplete, with over half of it missing (of course, the half I was missing was the newest half). Since Sunbird keeps a local copy of each calendar file on the local computer, I was hoping to resurrect the file with an older version that was more complete, but each of the local ones had been overwritten already since the remote, “master” file was different.
After a few days of not making any progress on this, I remembered that I had seen something at some point about accessing backups of my files on DreamHost (awhile back they started making snapshot backups). I was able to pull an old file from a 2-week old backup. The next trick was to replace the corrupted file with the complete one. Since the remote iCal file is essentially the “master”, it wasn’t enough to replace a copy of the file on the local machine, open Sunbird, and try to get it to overwrite the remote file. It wouldn’t take, and I’d be back with an incomplete file. So I had to overwrite the bad file on the server. But since the directory is enabled as WebDAV, I can’t copy and move files like normal. I had to disable WebDAV on the directory, wait a few minutes, then copy over the new file, turn WebDAV back on, wait a few minutes, and then hope everything works. Luckily, it did, and I haven’t had any more problems.
Also, I managed to download Sunbird 0.3a1, when I was trying to get Sunbird to work with my corrupt file. I knew most changes in 0.3 so far have been on the backend, but there has been some nice UI cleanup already. So far it seems stable enough for everyday use, but hopefully the full release of 0.3 isn’t far behind.