We have the same goal inserting legacy data into Microsoft Exchange, but because of Exchange architecture this is a little more intricate than Zimbra (So we deal with it separately).
Your primary tool is called zinsert.exe, which you invoke from the Command Prompt (which those of us of a certain age refer to as "DOS").
Simply typing zinsert (-Enter-) will give you a brief summary of functionality.
First off, use ODBC (available under Control Panel) to point to the conversion database. Let's call your ODBC connection "Zimbra."
To create a series of ICS files with appropriate cross-linked GUIDs, use this command:
zinsert -fo -cs DSN=ZIMBRA -tf_utc_to_timezone
In general, converting for the appropriate time zone, use the -tf_utc_to_timezone option unless we determine another one is better (not likely, but we keep them there in case -- you never know what the US Congress is going to do with Daylight Savings Time).
Inserting into Zimbra
That's what the -post command is for, which as of this date we haven't actually had to use (also it will require knowing each user's password which is a pain)
You can use curl, or (thanks to a college in New Jersey), you can use this method.
This solution doesn't require an admin to know the user's password.
It does require a configured web server and assumes there is a separate ICS for each user calendar.
1. The ICS files need to be placed on a web server that the Zimbra server will be able to access via http (or https). I'll assume a base of http://YOURDOMAIN/migrate/.
2. Create a file (e.g. /tmp/importcals.zcs) that will be fed to zmprov with contents like this:
selectMailbox USERID1
emptyFolder Calendar <--- optional command
importURLIntoFolder Calendar http://YOURDOMAIN/migrate/USERID1.ics
selectMailbox USERID2
emptyFolder Calendar <--- optional command
importURLIntoFolder Calendar http://YOURDOMAIN/migrate/USERID2.ics
3. Run that through zmprov.
zmprov -f /tmp/importcals.zcs
No comments:
Post a Comment