

As you see above, it keeps on ticking in the OCS client (and will show up in a UNICPOUTU export), but will not be displayed in Oracle Connector for Outlook, as this side-by-side comparison shows:

Sumatra Development leads the field of migrating entire calendar servers to Exchange. We migrate Oracle Calendar Server, Oracle Beehive, Apple iCalendar, and Zimbra to Microsoft Exchange keeping all meeting information and resource bookings intact. We migrate calendars server-to-server between Exchange and Office 365 while keeping meetings live and doing incremental syncs quicker than any other solution.



...for now it will reside in iCal until Yahoo gets done with the updates that
(we) asked for. Then we will be able to sync iCal to Zimbra.
I really have to give them points for creativity.

[PS] C:\Documents and Settings\Administrator> Set-MailboxCalendarSettings cr_testres_1 -AutomateProcessing AutoUpdate -AllowConflicts $TRUE -EnforceSchedulingHorizon $FALSE -ForwardRequestsToDelegates $FALSE -DeleteSubject $FALSE -AddOrganizerToSubject $TRUE -RemoveForwardedMeetingNotifications $FALSE |

So you put your data in and then you want to establish some limits, like only allowing conference rooms to be booked 18 months ahead, and to have them manage themselves to avoid conflicts.
What happens then?
It depends on what happens to the meetings. If you have an ongoing meeting and it does not change, nothing, it will stay there quite happily in everyone's calendar.
If like us you live in the real world and you use the dynamic capability that this gives you, the first major update to an ongoing recurring meeting will cause it to be removed from the resource calendar until you give it an appropriate end date:


Now to proleptically answer the question "Hey, you guys know the start and end dates of all this data -- why don't you set this for us ahead of time?"
It's a fair question. The short answer is because there's so much else going on in a migration that hewing to the line of keeping the data we insert as faithful to what we pulled out is invariably the best course. Letting users learn to deal with the situations they're going to encounter in their new environment is better all around.
Coolness.But the cool factor is moderated by my noticing that the interest we've heard is decidedly not from the corporate market. I found 3 Critical Reasons Why Hosted Google Apps Won’t Work for Your Business a really interesting read. Though 10 Reasons Enterprises Aren’t Ready to Trust the Cloud does a good job expanding on it.
I also started looking at the issue of making meetings live when we migrate them over. Moving Gmail calendar to Google Apps For your Domain Calendar goes through the single user procedure, but for a few hundred or more users it would be tedious.
I also can't currently get the meetings to come over with guest lists and responses intact.
#!/usr/bin/perl # for i in *.ics; do ../splitics.pl $i; done # cat *.zcs > TODO $base_name=$ARGV[0]; $base_name =~ s/.ics$//; open(ZCS,">$base_name.zcs") die "Couldn't open $base_name.zcs : $!\n"; print ZCS "emptyFolder Calendar\n"; last if (/BEGIN:VEVENT/); $headers .= $_; } $file_number=1; $event=$_; while( if (/BEGIN:VEVENT/) { # It's a new event! Yay! if ($event_count > 50) { # See if we should dump the output open(OUTPUT,">$ARGV[0].$file_number") die "Couldn't open $ARGV[0].$file_number for output : $!\n"; print OUTPUT $headers; print OUTPUT $event; print OUTPUT "END:VCALENDAR\n"; close(OUTPUT); # print ZCS "postRestURL Calendar $ARGV[0].$file_number\n"; $file_number++; $event_count=0; $event="BEGIN:VEVENT\n"; } else { # Just keep adding it on $event .= $_; $event_count++; } } else { # It's either the end, or it's another line if (/^SUMMARY:/) { # Tag so we know it's a mm meeting $_ =~ s/$/ \(MM\)/; } $event .= $_; } } # We're at the end of our run... dump what is left over open(OUTPUT,">$ARGV[0].$file_number") die "Couldn't open $ARGV[0].$file_number for output : $!\n"; print OUTPUT $headers; print OUTPUT $event; close(OUTPUT); #print ZCS "postRestURL Calendar $ARGV[0].$file_number\n"; print ZCS "importURLIntoFolder Calendar http://yourserver/ZIMBRA/USERID/$ARGV[0].$file_number/n"; print ZCS "\n"; close(ZCS); |
Will meetings that you have received proposals for, but not responded to
migrate? In other words, if I have been invited to a meeting in Meeting Maker but
not accepted or declined yet will that meeting be migrated?
All of this is for meetings from today forward. In the interests of keeping sanity any unresponded invitations from BEFORE the date of your migration are dropped. If you haven't responded for past meetings by the time of your migration you probably don't want to take it along.

For more information on using LDIFDE see:
Using LDIFDE to import and export directory objects to Active Directory
Please note: this will set READ-WRITE (MM Term) permissions only. In Outlook terms it is "Editor."
Why? Because LDIFDE does not let us set READ-ONLY (Outlook term: "Reviewer").
We do the best we can with the Proxy migration tools. In general for setting Delegates we really really really want to be using off-the-shelf Microsoft tools (less chance of an update that makes them obsolete).






The Set Calendar Permissions option enables you to perform a bulk edit specifically to change permissions of the Calendar folder so that a single operation can modify the settings of thousands of users on a server. This is useful for changing the default permissions setting of the Calendar folder of all or many users, so that team members can view other member's calendars. Using Microsoft Office Outlook® enables changing only one user at a time, so the Set Calendar Permissions option is a good solution for this kind of task. In addition to changing the permissions of the Calendar folder, by using this option, a bulk-change also occurs on the permissions of the FreeBusy Data folder (hidden folder) of all the users on a server. If the FreeBusy Data folder permissions were not changed, the users will not be able to access another user's calendar.
With the services of Sumatra Development LLC, Illinois Veterinary Medicine has
successfully migrated 150 accounts from a local Meeting Maker server to a shared
campus-wide Exchange resource.Interwoven scheduling among administrators and researchers elevates the data to a critical level of importance for the organization. Migrating data from one proprietary package to another, neither of which is governed by a standards protocol, is unbelievably tricky. Yet we were able to accomplish this migration in a transparent manner that our end users expected. They just wanted it to work and it just worked for us.
Looking back, I'd say the hardest parts were organizing our calendaring accounts and training our user base on Outlook. Not coincidentally, these parts took the longest. I started this project a little apprehensive about working with two organizations (outside vendors from my perspective) with me in the middle.
Sumatra was converting our data and a central campus IT unit was inserting the
data into the Exchange service. I am pleased to say it worked wonderfully. The
Sumatra instructions and data sets were easily managed by the campus Exchange
service managers. A little extra communication on the side and things worked
seamlessly. When we needed people to be there for us, they were there. My
compliments go Sumatra for their care and dedication at what they do.For our part, the role of tirelessly training, establishing resource sharing and
answering the countless questions users come up with when they skip the training
sessions was something we were prepared to handle. The arrangement let us handle
the part we do best and let the calendaring and Exchange experts do their thing.
Dear MMXP subscribers,
Over the years, this list was a great asset to
those of us who ran Meeting Maker. Over time, the company(s) made
advancements in the support offerings. Thus, we have not needed this list
as much.
Emory has changed direction in how we use calendaring, and
have migrated away from Meeting Maker.
This is to serve notice that this
list
is to be shutdown effective 12/12/08.
Thank you.
Since the world is running ever lower on Meeting Maker, we're very glad that Oracle Calendar migration has stepped in to take its place.
You may need to modify your user names between the first and second step, but if you're handling your own data migration this should not be too difficult. You're also going to have to write your own script to convert the output from the Extract phase to the input for the Insert phase. Since we get these requests from universities and they have lots of undergraduate computer talent that programs in between beer blasts we don't think this will be too difficult.
Extracting permissions data from Oracle Calendar Server
This is done using the OCS tool UNIACCESSRIGHTS. See the Oracle Calendar Reference Manual for your full set of options.
Let's take the example of John Lennon giving permissions to Jerry Garcia. 
Grantee: S=Garcia/G=Jerry/UID=Jerry.Garcia/ID=256/NODE-ID=1 Designate Right: CONFIDENTIALEVENT=REPLY /CONFIDENTIALTASK=NONE /NORMALEVENT=MODIFY /NORMALTASK=NONE /PERSONALEVENT=VIEWTIME /PERSONALTASK=MODIFY /PUBLICEVENT=MODIFY /PUBLICTASK=MODIFY |
Inserting permissions data into Exchange
This is done using PFDAVAdmin, whose formal name is the Exchange Public Folder DAV-based Administration Tool. You should check out our earlier postings on PFDAVAdmin. First let's say that on Exchange in Active Directory we already have a John Lennon who has created the same Calendar permissions for his co-worker Jerry Garcia. What would those look like in Exchange saved with PFDAVAdmin?

SETACL Mailboxes\john.lennon\Freebusy Data SUMATRA\jerry.garcia Editor NO SETACL Mailboxes\john.lennon\TopofInformationStore\Calendar SUMATRA\jerry.garcia Editor NO SETACL Mailboxes\john.lennon\TopofInformationStore\Tasks SUMATRA\jerry.garcia Reviewer NO |
Your step is to turn your UNIACCESSRIGHTS export into a file of this format that you can IMPORT into PFDAVADMIN to set the ACLs for Exchange. This is not very hard.
Of course it's in our test domain so everything is "SUMATRA," and "TopofInformationStore" should be "Top of Information Store" (but it breaks oddly in Blogger). You might also want to set the INBOX and OUTBOX permissions if you want them to respond to meeting requests for you.
NOTE: Be careful making any modifications to this file – it is very important that it be tab-delimited.
But you get the idea and there is enough information here for you to fly on your own now should you so choose.
Note the key things about this:Exchange and Oracle Calendar Server (OCS) are different in how they assign their Delegate / Designate permissions, but it’s less an apple vs. orange difference as a grapefruit vs. orange difference: both are noticeable more for their similarities than their pronounced differences relative to other calendaring systems.
There are two levels of permissions relevant to this discussion:
Object Level Permissions
Let’s deal with Object Level Permissions first since it’s a simpler comparison.
Oracle has four different permission levels for Calendar and Task objects:

Outlook and Exchange have only a “Private” option:
Translating these during a migration is pretty simple: “Personal” and “Confidential” in OCS map to “Private” in Outlook/Exchange. In the case of a Sumatra migration this happens as the data is being converted from OCS export format into our intermediate database.
User Level Permissions
OCS starts with object permissions and then allows the calendar owner to set permissions for other users based on those object permissions. Where OCS is Data-oriented in its permissions model, Exchange is Folder/User oriented. This leads us into the User Level Permissions.
Let’s take a look at the Oracle Calendar Server side.
John Lennon makes Jerry Garcia his Designate in Oracle Calendar:
Here you have the only options relevant to a migration being: “Modify” and “View.”
Why is “View times only” not relevant for a discussion of calendar designate rights migration into Exchange? Because Exchange has no mechanism to deny access to free/busy information on a user basis.
Also note that in OCS a user has the option of specifying different access for different object types. That is – you can be more stringent with Confidential as opposed to Public data. This capability does not exist in Exchange. At all. So we’re going to revisit this issue later when we’re trying to decide how to migrate these permissions from OCS to Exchange.
So let’s turn our attention to Exchange and see what options there are when Zyg Furmaniuk makes Judy Morrison a Delegate via Outlook:
You basically have three levels of access (other than the trivial case of None) you can grant:
Reviewer
Author
Editor
And the scope of these is pretty much on an Outlook Folder level (though in the case of Calendar you need to also grant access to the Calendar and the Free-Busy information). I.e., You can selectively grant access to the Calendar or the Email Inbox.
So you can think of “Modify” in OCS mapping to “Editor” and “View” mapping to “Reviewer” pretty easily.
Oracle Permission "Modify" maps to Exchange Permission "Editor"
Oracle Permission "View/Reply" maps to Exchange Permission "Reviewer"
Oracle Permission "View Times Only" is irrelevant in Exchange Permissions
But there remains a question: Given that OCS users have several gradations not available in Exchange – how do we do a mapping?
We at Sumatra at this point broke it down to as simple a question as we could put to the Administrators: “Do you want to give the maximum rights or the minimum rights?”
The way this manifests itself on our OraCalReader utility is the choice between ALL designate access rights set to Modify or ANY set to Modify.

Since the only other option is “Reviewer” in the target Exchange any rights not set to Modify are set to Reviewer.
Any View rights are automatically set to “Reviewer” rights since the object level access in OCS does not come into play in Exchange.
We do not set “Delegate can see my private items” on the Exchange side. Why? Because there’s enough else going on in a migration – folks can forget that they don’t want some information shared post-migration. Keeping private on means maximum security and you can always dial it to where you want it post-migration.
Other Exchange Delegate notes:
The User Perspective
What does the user GETTING permission experience?
In OCS, Jerry Garcia as Designate of John Lennon simply selects File-Agenda-Open As Designate and sees the following:

Jerry gets a convenient list of everyone he has permissions for:

And it is very simple to orient yourself:

This user experience is VERY DIFFERENT in Microsoft Outlook. Here we use Outlook 2007 as our example. Zyg has given Judy permission to view his calendar.
In Judy’s calendar, she has no indication of this (except for a possible email notice from Zyg). In order to set up her client to see Zyg’s calendar she must first explicitly open it and select “Zyg” from the directory list:

Once selected once the option to view is a check box.
2. Edit the LDIFDE file "exportldf.ldf"
Replace "changetype: add" with "changetype: modify\ndelete: targetaddress\n\-\n\n"
i.e., the file should look like this:
dn: CN=Adam Ant,OU=Client85,OU=Clients,DC=ex2007,DC=sumatra,DC=local
changetype: modify
delete: targetaddress
-
Notes:
3. Re-run (import) your file
ldifde -s YOURSERVER -f exportldf.ldf –i
Why are we not doing this using either PowerShell or some of the other GUI-based management tools in Exchange 2007? Simply because we haven't yet figured out how to or if it's even possible.
Flashback: Those of you who have been through a migration into Exchange 2000/2003 will recognize the exact same worry with AltRecipient.

"After taking our Meeting Maker Database and getting it imported into Zimbra,
our Palm OS devices that are receiving over-the-air syncs to their Zimbra
calendars lock up and head into an infinite reboot cycle when they try to
access their calendar data. It appears that something in the formatting of
the calendar data now pretty much just causes the brain of the Palm devices
to explode... because the problem does not extend to Blackberry devices."
Being the responsible guys we are, we freaked. Then we read that the problem doesn't happen with BlackBerry devices. In calendar migrations if we do something really wrong we expect it to fail everywhere. Since they used Notify for both Palm and BlackBerry sync from Zimbra we started looking at Palm. I think I have an old VIIx sitting on my discarded electronics drawer from the days a decade ago when we started this company.
Being exceedingly motivated, however, our client managed to come up with a solution before us. Their significantly greater knowledge of the Palm probably also had a lot to do with this.
Seems to be related to recurring meetings on the Palm, which interpreted some instance as "Zero" and didn't like it -- but didn't gracefully recover either.
They suggest other users with this problem (which I really hope there never are any, but know there will be some out there)
I would really like to thank the folks at Pimlico Software for their really good application for Palms!