Synchronize iCal on multiple machines via WebDAV
Fri, Apr 15 2005 at 9:58AM PDT • Contributed by: archimed
Fri, Apr 15 2005 at 9:58AM PDT • Contributed by: archimed
This is a simple hack, and I can't believe it took me months to realize some of iCal's sync problems can be solved with a quick Unix symlink. While iCal can publish-to or subscribe-to a calendar, it can never do both at the same time. For most of us using WebDAV services on our Apache servers, that creates the problem of synchronizing our calendars across multiple machines. iCal will be happy to update its .ics files on a server, but it never reads back from those files when it loads.
The solution? Symbolic link the default calendar storage *folder* to your WebDAV server (not the individual .ics files, because iCal overwrites those). This method will insure that iCal will read the symlinks every time when its loaded, and write-to the symlinks every time it is closed. The idea came from the iCal weblog, so this is nothing new, although I'm shocked that more people do not use this method.
Instructions:
The only warning I have to offer is that make sure that you are already connected to your WebDAV server before launching iCal, or I'm sure nothing will appear in your calendar. Or worse, it's possible that iCal will create a new 'Calendars' folder and waste all your hard work symlinking it.
[robg adds: I haven't tested this one...]
The solution? Symbolic link the default calendar storage *folder* to your WebDAV server (not the individual .ics files, because iCal overwrites those). This method will insure that iCal will read the symlinks every time when its loaded, and write-to the symlinks every time it is closed. The idea came from the iCal weblog, so this is nothing new, although I'm shocked that more people do not use this method.
Instructions:
- Close iCal if it is running by hitting Command-Q.
- Upload your .ICS calendar files from ~LibraryCalendars to a folder on your WebDAV server (ie, a folder called "Calendars")
- Back up your .ICS calendar files from ~LibraryCalendars just in case anything goes wrong.
- Load up Terminal, and delete your iCal calendar folder by typing rm -rf ~LibraryCalendars -- but before you do so, make sure you've performed the previous step to create a backup!
- Connect to the WebDAV service through the Finder by hitting Command-K (Go: Connect to Server).
- Enter the web address of the WebDAV server you are trying to connect to. For example, your WebDAV document folder might be at the address http://www.myexample.com/mydocuments
- Once connected to your WebDAV server, load up Terminal again and navigate to ~/Library/ by typing cd ~/Library.
- Make a symbolic link between your WebDAV server folder and the 'Calendars' folder (that you deleted earlier) on the local machine by typing ln -s /Volumes/mydocuments/Calendars.
The only warning I have to offer is that make sure that you are already connected to your WebDAV server before launching iCal, or I'm sure nothing will appear in your calendar. Or worse, it's possible that iCal will create a new 'Calendars' folder and waste all your hard work symlinking it.
[robg adds: I haven't tested this one...]
•
[34,687 views]
