Hi everyone,
there's is now a plugin for Mozilla Calendar (Sunbird) in CVS (0.82 branch). You can use it to sync one or more calendars, and it supports both local and WebDAV calendars. If you're using Mozilla Calendar, please give it a try and report your results (but make a backup of your data, because it may still contain bugs). If you have further questions, please read the attached README file (the same one is also in CVS).
Markus
Plugin for syncing with Mozilla Calendar / Sunbird --------------------------------------------------
(C) 2005 by Markus Meyer Licensed under the GNU GPL 1. Does it work? Yes, it does. You can sync one or more calendars, both local and on WebDAV servers. I sync my S55 phone with it, and it works fine. However, since it has not been widely tested, consider it beta or even alpha quality code. Therefore it is recommended to make frequent backups of your data. 2. Will it also sync my contacts and todo items? No. It currently only syncs calendar appointments. But if you are a programmer, you're of course welcome to extend it. 3. What are the known limitations? - In every Mozilla Calendar file that you want to use with the plugin, you should always have at least one item. If the calendar is empty, Mozilla Calendar will create a calendar file of zero size, which the plugin cannot interpret correctly. This is a real bug and should be fixed soon. - Both this plugin and Mozilla Calendar can lose data, if there is a network transfer error when the calendars are downloaded / uploaded over WebDAV. So always keep backups at hand. I actually had it happen that Mozilla Calendar worked fine for me multiple weeks, then all of a sudden it lost half of my appointments. So now I have a script that makes backups of my Mozilla Calendars every day, but only if they have increased in size. - Mozilla Calendar doesn't yet recognize automatically if the calendar files have changed. So after syncing, Mozilla Calendar will still show your old data. If you use WebDAV, just press Ctrl+R to read the new data from server after syncing. If you use local calendars, it's probably easiest to hide (unselect) the calendar in the calendar list, then select it again. - There are a lot of printf statements in the code, which lead to much debug output to the console everytime a sync is done. These will be removed over time. - (Only interesting for programmers) The code has been hacked in a few nights during my exams, so there are many things that could be solved in a better way. 4. Help! It complains about some "Neon" library. You need to have Neon installed. Neon is a library which is used for WebDAV support. It is planned to make the installation of Neon optional, but currently, you need it, whether you're planning to use WebDAV or not. The easiest thing is probably to download Neon's source code from http://www.webdav.org/neon/ Last version tested was 0.24.7. You can install neon systemwide by issuing these commands: tar zxvf neon-0.24.7.tar.gz cd neon-0.24.7 ./configure make sudo make install 5. Where are the settings? There is no graphical settings dialog yet. Currently, configuration is done via environment variables. The following variables are defined: MULTISYNC_SUNBIRD_CALENDARS This is a list of calendars you want to sync, separated by semicolons (";"). These can either be local files, or WebDAV locations (starting with "http://"). SSL ("https://") is not yet supported. Note that since the shell uses the semicolon as a special character, you have two quote the whole variable when e.g. using the "export" command. MULTISYNC_SUNBIRD_DEFAULT_CALENDAR If you have more than one calendar defined, this defines which of them is your default calendar. This is just the name of the .ics file (without the whole path). Look below for an explanation why it's useful to have a default calendar. If you don't define a default calendar, the first calendar in the list is used. MULTISYNC_SUNBIRD_WEBDAV_USERNAME MULTISYNC_SUNBIRD_WEBDAV_PASSWORD The username and password that should be used to log into the WebDAV server. You don't need these if you're using local calendars. If you want to avoid setting all these environment variables everytime you use MultiSync, you can create a small shell script, which first sets these variables, and then starts MultiSync. 6. What's the point of having multiple calendars? My mobile phone only supports one single calendar! If you configure multiple calendars for use with this plugin, the software will automagically merge these calendars into one single calendar for use in your device (the "remote end"). However, if you change or delete an item on the remote end, it will properly find its way back into the exact calendar it came from. When you add a new item at the remote end, this item is added to the default calendar (which can be set by the user).