Thursday, May 28, 2015

#CalDAV to #MSFTExchange calendar migration tool - round 2

It's been almost exactly a year since we did a sanity check on this #CalDAV to #MSExchange calendar migration tool.

Since then we've field-proven full-state migration of Oracle Calendar Server to Exchange using ICS files -- which means we could insert ICS FULL-STATE for any of the other iCalendar standards based calendars.  You know -- Zimbra, Apple, Google being the only ones that matter these days.

Let us know if you have more than 500 users and want to give it a spin.

Tuesday, May 26, 2015

Speeding an Oracle Calendar to #MSFTExchange Migration by Parallel Insertions

If you have more than a few hundred users, you can run multiple instances of the Oracle Calendar Server to Microsoft Exchange migration code.

Let's say you have 1000 users and want to break it down by half.  Say from A to M and N through Z.  You can set up two separate instances as follows:

Who "Blank" to M?  Because numbers sort BEFORE "A" so things beginning with numbers are lost if you do not do "Blank" as your start.

Then "N" to "Z":

Just to be safe I'd run each of these on separate machines, but you use the SAME mapping tables for each.

Make sense?

Oh -- and if you want to insert just ONE calendar to test, this is the way to do it:
Put the same name in each endpoint box.

And this is an Oracle Calendar to Office 365 migration in action:

Thursday, May 21, 2015

Oracle Calendar Designate to #MSFTExchange Delegate Rights Migration

We at Sumatra are no strangers to the issues of delegate/proxy/designate migration into Microsoft Exchange 2013 / Office 365.

We just refuse to do it ourselves anymore.

Why?  Because while we can give you the best possible technical solution, it is not always the best social or political solution for a given environment.  Someone's gonna grumble.  And we do not need that.

If YOU on the other hand can manage your organization sufficiently well for your purposes, we're fine with it.

Here's what you do.

Let's start at the back, where we insert calendar delegate rights into Exchange.

You need the command Add-MailboxFolderPermission in PowerShell.
This format which can be executed in PowerShell to set calendar permissions on Exchange. as we do here:  

Which means in Outlook looking at an Exchange server the user will see this in Calendar Properties:

So working backwards, you need to get Designate permissions on the Oracle Calendar Server side.

Say you need to get Designate rights for Russ Iuliano from OCS:

uniaccessrights -ls -grantor %1 -grantee "S=Iuliano/G=Russ" -n 1 -p PASSWORD >>russ_rights.txt

The output of UNIACCESSRIGHTS is relatively straight-forward to read:

Grantee: S=Iuliano/G=Russ/UID=riuliano/ID=257/NODE-ID=1
Grantee: S=Whiplash/G=Snidely/UID=swhiplash/ID=260/NODE-ID=1Event

Depending on how you implement your OCS Delegate to Microsoft Exchange Mapping you need to parse the UNIACCESSRIGHTS output into this format which can be read in PowerShell to set calendar permissions on Exchange.

You need to execute this from PowerShell.  Needless to say this command should be called something like to execute in PowerShell. 

To launch PowerShell: Start > All Programs > Accessories > Windows PowerShell > Windows PowerShell right-hand click and "Run-As administrator"

The parser we'll leave to you and write about in a future blog post.

Thursday, May 14, 2015

Full-State @Oracle Calendar Server Migration into @MSFTExchange Database Configuration

For full-state Oracle Calendar Server migrations, the Sumatra code creates a small database to store Guest responses.  Don't fret -- in contrast to our first-generation methods this one does not require you to ever open or modify the database.

The database will require you download and install the Microsoft Access Database Engine 2010 Redistributable.

For x32, install the AccessDatabaseEngine.exe.
For x64, install the AccessDatabaseEngine_x64.exe

The Sumatra code sets the database provider in the configuration XML file based upon the operating environment. 

For x32, the provider is:  Provider=Microsoft.ACE.OLEDB.12.0;Data Source=
For x64, the provider is: PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=

Here are the lines in the XML as setup for an x64 system.  Note we include provider “sample” lines so you can copy the provider setting appropriate to your environment.

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=
PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=

Wednesday, May 13, 2015

If you fall asleep in meetings....

... make sure your boss is not a psycho North Korean strongman.  Seriously, an anti-aircraft gun was the exit interview?  That sounds like a 1966 Batman TV cliffhanger.  Makes a US human resources drone look good.

I did once have a boss at ON whose motivational motto was something like "Garth, your beatings will continue until your morale improves.  Party on! -- Wayne."  Then there was the coke-head at Wang who'd get spontaneous nosebleeds and had fantastic reasons for not coming into work:"I got mugged at an ATM" and "paint fell on my show dogs."

Truth is as weird as fiction.