Importing ICAL ics files into Zarafa

From Zarafa wiki

Revision as of 14:44, 6 July 2009 by Msartor (Talk | contribs)
Jump to: navigation, search

This page describes the import of ICal calendar files into Zarafa via the zarafa-ical gateway.

For the import of the ICal ics files we will use curl. The curl package will be installable on most linux distributions via the default repositories.

On Centos/Redhat:

yum install curl

On Ubuntu/Debian:

apt-get install curl

With curl you are able to import ICal ics files into Zarafa. Before you do this, you need to make sure that the zarafa-ical service is started:

/etc/init.d/zarafa-ical start

The zarafa-ical service runs on port 8080 by default. You can change these settings in /etc/zarafa/ical.cfg. In this document we use the default settings.

Now you can import ics files to the users default calendar using curl:

curl -u [username]:[password] -T [path to ics file] http://[zarafa-ical-server]:8080/ical/[username]

You can also import to users default calendar using a zarafa-admin user:

curl -u [zarafa-admin user]:[password] -T [path to ics file] http://[zarafa-ical-server]:8080/ical/[username]

If you want to import calendars to different calendars then the default calendar, use:

curl -u [username]:[password] -T [path to ics file] http://[zarafa-ical-server]:8080/ical/[username]/[calendar name]

Or if you want to import to a subfolder of a yet existing calendar (in the next example we import to a subfolder of a calendar named "Calendar"):

curl -u [username]:[password] -T [path to ics file] http://[zarafa-ical-server]:8080/ical/[username]/Calendar/[calendar name]

If the calendar does not exist yet, the last example will not work when using a zarafa-admin user. This needs to be done as the user itself. There is a workaround however if you need to do some massive scripting on this and you don't know the users' passwords.

You will need to run the zarafa-ical service and zarafa-server on the same host and the zarafa-ical service needs to run as root. Change the server_socket in /etc/zarafa/ical.cfg to:

server_socket = file:///var/run/zarafa

After this change restart the zarafa-ical service.

You can now import calendars (both to default calendars and to calendars that need to be newly created) as the user. But now the zarafa-ical service will accept any password as the users' password as long as it is not empty:

curl -u [username]:[any password] -T [path to ics file] http://[zarafa-ical-server]:8080/ical/[username]/[calendar name]

Important: Revert the server_socket back to it's original setting before going into production, as setting the server to a unix socket creates a security leak. So edit the file /etc/zarafa/ical.cfg and change server_socket back to:

server_socket = http://localhost:236/zarafa
Personal tools