Featured Post

Attachments in Oracle Communication Convergence Calendar Migration to Exchange

Attachments. The bane of full-state calendar migration, largely because it slows down the entire process and really grinds every gear we h...

Tuesday, June 06, 2017

Attachments in Oracle Communication Convergence Calendar Migration to Exchange


The bane of full-state calendar migration, largely because it slows down the entire process and really grinds every gear we have.

So in the Oracle Communication Convergence Calendar server migration where you can extract URLs to attachments -- we insert URLs to the attachment.

We've given it to one site to try out.  If anyone else out there is looking for Oracle Communication / nee Sun Java Calendar, let us know.

The configuration looks like this:

Tuesday, May 23, 2017

Customizing the Sumatra Double Booking cmdlet

There are a simple ways to customize the Sumatra Double Booking cmdlet, and most of them involve a text editor.

Let's look at the messages.txt file to see what we can modify there.

The entire point is to separate out the text sent to meeting organizers to inform them of conflicts.

Separating this from the application gives you the ability to easily customize it for your workplace social environment or to translate it into a different language.

Any text editor will do, and note that there are specified place holders, such as "(1)" for Conference Room Name that are reserved for the cmdlet.

The text in comments tells you the circumstances that generate the message.  For example:

#Message to notify One organizer (the one that came in after the booking was made  -or- trumped by a VIP)

The vips.txt file is the list of the primary SMTP addresses of VIPs who get automatic preference when you invoke the VIPsGetBookingPreference flag.

As you can see from this example, Janis Joplin will get preference over all other users in that scenario.

Finally there is license.txt, the domain-specific license that allows you to execute the cmdlet in your environment.  Copy the license key you got from Sumatra into this file:

Tuesday, May 16, 2017

Speeding your Oracle to Exchange calendar migration

Migrations are time-consuming and resource-intensive.

If you did not know this before, welcome to being woke.

The way we do them is of course even MORE time-consuming and resource-intensive because we re-create connections to attendees in meetings.  Because of the way EWS works this means more time and effort.

UNLESS... you consider that historical events do not really need to be fully-recreated.

Oh... please tell me more!

YES!  If you (say) do a full-state migration take data from (say) a month back and into the future as full-state.  

The key is the Calendar Selection Dates in your Configuration.

Your usual insertion settings for live meetings is this:  Do that for say (Today-30 days) into the Future at 2039.

For an archive / historical insertion:  Do this for (Whenever your earliest necessary date is) to (Today-30) Date.

Big warnings:
Make sure you use a different  in the _Config.xml for the historical insertion and the current insertion.  Reason: If your historical needs to be rolled back you do not want it to also remove your current data.  That's what we call a resume-generating process.

Monday, May 08, 2017

Multiple Conflicts and the Sumatra Double-Booked cmdlet

Sure -- you think USUALLY there's only going to be TWO meetings in conflict.

Our data says otherwise.

So let's look at this tortured yet realistic example:

Get-suDoubleBookedMeetings -ExchangeVersion 2013 `
-EWSurl "https://outlook.office365.com/EWS/Exchange.ASMX" `
-PrimarySMTPAddress "room222@sumatra.onmicrosoft.com" `
-DeclineConflicts `
-VIPfile "c:\users\Zyg\Desktop\suDoubleBook\vips.txt" `
-VIPsGetBookingPreference `
-ImpersonationAccount "zyg-furmaniuk@sumatra.onmicrosoft.com" `
-Credential $LiveCred `
-bw 180 `
-licensefile "c:\users\Zyg\Desktop\suDoubleBook\license.txt"

Will result in this:

We've set Janis as the VIP who gets SOLE access to the resource during the time.

Note that in this scenario the cmdlet also removed a direct-booked appointment some resource calendar human delegate put in there.

Tuesday, May 02, 2017

Oracle Communications Calendar Server to Microsoft Exchange Migration

We've been doing Oracle Calendar Server and Oracle Beehive for a while now.  The old Sun Java calendar was something we experimented with a while ago but didn't see much market for.

Then a 3000 seat migration came in for Oracle Communications Convergence Calendar Server (née iPlanet, then Sun Java calendar, etc.).

So we wrote it and added it to the regular Oracle Calendar Server migration code, running to migrate server-side into Microsoft Exchange.

As usual, we have a couple of advantages over client-side methods:

  • Meetings are meetings with guest lists and responses.
  • Recurrence patterns come over
  • Room and resource bookings are recreated
  • To-dos come over
  • We have an UNDO capability to selectively remove only the data we inserted if necessary.
  • Users and resources can be mapped to new IDs
Of course for email use imapsync.  Look through our blog for more info on how to use it and why it is the optimal solution for pretty much every situation you could be in migrating email.

Monday, April 24, 2017

Download the Sumatra Double-Booking cmdlet

You can download the Sumatra Double-Booking cmdlet for Exchange / Office 365 in a .ZIP file from here.  The ZIP file also includes the documentation as a PDF.

You will need to contact us for a key if you want to try it out.

You can just report on double-bookings using our previously-released script.

Tuesday, April 18, 2017

Three Basic Ways of Dealing with Double-Booked Resources in the Sumatra cmdlet

There are three basic ways of automatically dealing with double-booked resources in the Sumatra cmdlet suDoubleBookedMeetings.
  1. You guys work it out. aka Alert both (all) parties
  2. The early bird gets the room.  aka First one who booked wins
  3. Rank has its privileges.  aka VIPs win.  (Unless there's two of them then see 1.)
Let's look at the cases for each of those with this real-world double-booked meeting in Room 222 which both Janis Joplin and Jimi Hendrix have booked.

You guys work it out
You could think of this as the kinder-gentler "We're going to inform you but not enforce any changes" option.

Using this command:
Get-suDoubleBookedMeetings -ExchangeVersion 2013 -EWSurl "https://outlook.office365.com/EWS/Exchange.ASMX" `
-PrimarySMTPAddress "room222@sumatra.onmicrosoft.com" `
-EmailOrganizers `
-ImpersonationAccount "ADMIN@sumatra.onmicrosoft.com" `
-Credential $LiveCred `
-bw 18 `
-licensefile "c:\users\ADMIN\Desktop\suDoubleBook\license.txt"

Each of them receives this notification and nothing is removed from the conference calendar.

The early bird gets the room:
using this command:

Get-suDoubleBookedMeetings -ExchangeVersion 2013 -EWSurl "https://outlook.office365.com/EWS/Exchange.ASMX" `
-PrimarySMTPAddress "room222@sumatra.onmicrosoft.com" `
-DeclineConflicts `
-ImpersonationAccount "ADMIN@sumatra.onmicrosoft.com" `
-Credential $LiveCred `
-bw 10 `
-licensefile "c:\users\ADMIN\Desktop\suDoubleBook\license.txt"

Since Jimi Hendrix booked this slot in Room 222 before Janis Joplin did, under this scenario the room goes to Jimi and Janis is notified (Note that this notification comes directly from Microsoft Exchange):

Rank has its privileges
But let's say that Janis Joplin is a VIP and Jimi Hendrix is not.  Then, using this command:

Get-suDoubleBookedMeetings -ExchangeVersion 2013 `
-EWSurl "https://outlook.office365.com/EWS/Exchange.ASMX" `
-PrimarySMTPAddress "room222@sumatra.onmicrosoft.com" `
-DeclineConflicts `
-VIPfile "c:\users\ADMIN\Desktop\suDoubleBook\vips.txt" `
-VIPsGetBookingPreference `
-ImpersonationAccount "ADMIN@sumatra.onmicrosoft.com" `
-Credential $LiveCred `
-bw 180 `
-licensefile "c:\users\ADMIN\Desktop\suDoubleBook\license.txt"

Janis gets the room and Jimi is declined by the conference room.  Note that this results in the exact OPPOSITE of the situation just described above.

We think this covers all the social hierarchy choices you should have to make with the conference room, but please feel free to let us know.

$LiveCred is a variable we've set up to store credentials to the Exchange server in PowerShell.  Check out our earlier postings if you're unsure how to do this.