Monday, March 28, 2011

Oracle Calendar Migrations and Long Resource Names

Kudos to the team at North Dakota State University for finding a bug!

If your Oracle Calendar resource name is longer than 32 characters (and those 32 characters were the same as some OTHER resource's) we weren't handling the error condition gracefully.

That is fixed in version 5.1.01 of xCalReader.

This is probably not an issue for most teams in migration but if you do not have the latest version and want it just contact us.

Friday, March 25, 2011

Outlook Live URL changes

Quoting from an email Microsoft sent, we want to remind you about upcoming URL requirements for accessing Outlook Live. Due date: June 30, 2011. It's already been extended so now is a good time to get it all done.


URL Changes

URLs that go directly to Outlook Web App, such as http://outlook.com or http://outlook.com/owa should be changed to go to http://outlook.com/ - for example, http://outlook.com/contoso.edu. To prepare for URL changes:

  • Inform your users of the change so that they can update any bookmarks they may have
  • Inform your support desk of the upcoming changes and how to help users use the new URL
  • Update any related links on Web pages and in documentation

If you are using the URL http://outlook.com/ecp to access the Exchange control panel management interface, you will also want to modify that URL to look like this: http://outlook.com/ecp/?realm=contoso.edu.

Single Sign-On Changes

Single sign-on solutions using the Live@edu SSO toolkit must make the following changes:

  • Update the Outlook URL in the web.config file as follows:
    • Change: https://outlook.com/owa”>
    • To: https://outlook.com/edu”>
  • Custom solutions have to make this change also, though the location will vary.
  • In addition, we have seen some cases where Live ID removes URL parameters, resulting in undesired behavior. To mitigate this issue, we advise that all single-sign-on solutions add the parameter exsvurl=1 as a setting in the URL. This setting will force the URL parameters to be preserved. Typically, the setting is appended to the end of the redirection URL and preceded with an ampersand, like this: https://outlook.com/edu&exsvurl=1.


Monday, March 07, 2011

Oracle Calendar / Outlook Free Busy Interchange

Free/Busy Lookups from MS Outlook into Oracle Calendar Server
Congratulations – you are dropping Oracle Calendar for Exchange. One problem: you need to stage it and you need some kind of connectivity between the two systems. This outlines how you can get Free/Busy lookups in Outlook / Exchange from OCS.
Outlook lets you have Internet Free Busy for Contacts:

SO: If we can produce IFBs for your OCS users (sorry about all the TLAs here), you can get Free-Busy lookups automatically working for your Outlook users into OCS.
One problem: The Oracle Calendar interface specifically does not create the IFB format known as VFREEBUSY:

Probably Oracle wanted to avoid exactly what we want in this case.
Not a problem. We can create VFREEBUSY from off the shelf tools in the OCS environment. In particular we will use the utility UNIICAL.
The solution works as follows:
· Select the OCS users you want to have Free-Busy available for in Outlook.
· Set up an internal share that is available to your OCS environment (you will be publishing to it) and your Exchange environment (you will be reading from it)
· One directory call “/…/EXPORT”
· Another directory call “/…/CURRENT”
· A third directory call “/…/IFB”
We’re going to take you through the process for one specific user, who we call Jimi.Hendrix
Create a batch file something like the following:

Uniical –export –u “S=Hendrix/G=Jimi” –f /…/EXPORT/jimi.hendrix.ics -n 1 –end 12/31/2011 –start 10/31/2011 –p PASSWORD
So we’re going to publish an ICS file into the /EXPORT directory.
Notes to this point: The above batch file hardcodes two dates. Obviously we want to make it general to start from TODAY and end at (TODAY + Default F/B Horizon). But let’s start with small ambitions and grow from there.

On a separate computer, we set up a process which interrogates the EXPORT ICS, compares it to the CURRENT ICS (say by comparing the MAX (CREATED) to see if it needs to parse or not), and if so moves it into the CURRENT and parses into an IFB. Practically any scripting language of your choice will work.
So what does ICS look like and what schematic takes it into IFB?

OCS ICS example
An OCS ICS file has a simple structure with a three-line preface before VEVENTS begin.
<><>
<><>For a one-time appointments we need only look at the DTSTART and the DTEND (they are in Zulu time, which is a godsend for IFB). These need to get converted into VFREEBUSY format:
FREEBUSY:DTSTART/DTEND map to:
FREEBUSY: 20110210T140000Z/20110210T150000Z
For recurring, we need to worry about RDATE and RRULE. First RDATE (because from OCS I have not yet found an RRULE in version 9.0.4, but they DO exist in version 10.x)
In this case this maps to:
FREEBUSY:DTSTART/DTEND
FREEBUSY:RDATE(1)/RDATE(1)+(DTEND-DTSTART)
FREEBUSY:RDATE(2)/RDATE(2)+(DTEND-DTSTART)
FREEBUSY:RDATE(3)/RDATE(3)+(DTEND-DTSTART)
Etc.
NOTES TO THIS POINT: IFB so far does not appear to need to be in chrono order to function properly. Of course a maintenance release could change that in a moment.
Optimization issue: IF MAX(CREATED ) in an ICS < export =""> is there no need to parse?
OUR END POINT NEEDS TO LOOK LIKE THIS:
Microsoft Free/Busy .vfb Format – External file
-----------------------------------------------------------------
BEGIN:VCALENDAR
PRODID:-//Microsoft Corporation//Outlook 11.0 MIMEDIR//EN
VERSION:2.0
METHOD:PUBLISH
BEGIN:VFREEBUSY
ORGANIZER:/o=First Organization/ou=First Administrative
Group/cn=Recipients/cn=jimi.hendrix
DTSTAMP:20070223T145148Z ; Time of FB File gene
DTSTART:20070201T050000Z ; Start of period NB:
DTEND:20070401T040000Z ; End of period
FREEBUSY:20070205T140000Z/20070205T143000Z ; Begin events
FREEBUSY:20070222T140000Z/20070222T143000Z
FREEBUSY:20070222T160000Z/20070222T163000Z
FREEBUSY:20070223T130000Z/20070223T133000Z ; Busy -- 1/2 hr mtg starting at 8AM
FREEBUSY:20070223T150000Z/20070223T153000Z ; EST = 1PM Zulu
FREEBUSY:20070224T130000Z/20070224T133000Z
FREEBUSY:20070226T140000Z/20070226T143000Z
FREEBUSY:20070228T150000Z/20070228T153000Z
FREEBUSY:20070319T140000Z/20070319T143000Z
FREEBUSY:20070319T180000Z/20070319T183000Z
FREEBUSY:20070320T160000Z/20070320T163000Z
FREEBUSY:20070321T140000Z/20070321T143000Z
FREEBUSY:20070323T140000Z/20070323T143000Z
FREEBUSY:20070326T140000Z/20070326T143000Z
FREEBUSY:20070328T140000Z/20070328T143000Z
END:VFREEBUSY
END:VCALENDAR
NOTES:
· When Outlook says “Publish 2 months” it means from the START of the current month to the end of the next month. It doesn’t roll with the day of the month.
· TIME SEQUENCE does not appear to be significant. I can move the VFREEBUSY entries around and they are still interpreted correctly for a reasonable (2 month-3 month) FB window.
What is the User Experience?
A user needs to create a Contact in Outlook
REQUIREMENTS: The contact must be in the CONTACTS folder. NOT a sub-folder, or any other folder.
Note that the email address does not need to match the IFB name.
They can then add that contact to their meeting list and see their Free/Busy just as if they were native on the Exchange server. (caveat: the timeliness of the information depends on how often you set your processes to export ICS files on the OCS side and how often you interrogate for parsing)
Do we recommend this long-term?
Heck no. But as a short-term-help-you-over-the-hump to get OUT of OCS it’s more useful in integrating the remaining OCS users into your growing Exchange environment than anything else, and it is workable with minimal effort (and real-time OCS-Exchange calendar sync is just one of those things you should cringe at).
References:
How to use the Internet Free/Busy Feature in Outlook
Using Free/Busy without Exchange Server (can be very helpful)

WARNING: Experimental evidence has shown that for this to work a contact with Internet Free Busy MUST be in your Contacts folder, not a subfolder, or a folder with any other name.

Friday, March 04, 2011

New xCalReader for using ICS format to migrate Oracle Calendar

Our latest xCalReader now reads .ics files from Oracle Calendar Server for an Exchange migration:

NB: This is because we've been picking up increasing reports of weirdness with the UNICPOUTU format. We've applied all our usual expertise to the iCal exports: including converting RDATE arrays to real recurrence patterns using RTYPE in Outlook / Exchange.
Also this includes support for Zimbra 6 migration.

Tuesday, March 01, 2011

New Mantra

Kudos to Russ for our newest mantra:

Hear it once, it's a trick.
Twice it's a special project.
Three times it's a new Sumatra product.

So the topic on the table here is Meeting Maker to Google Calendar migration (with link preservation).
We've had two requests in the last week. Is there anyone else out there?