Tuesday, June 09, 2009

Oracle Calendar Migration: International Characters

As Roseanne Roseannadanna said, it's always something.

The European calendar migration business has been picking up for us lately, and Oracle Calendar is the main thing folks want to get out of. Oracle Calendar is where Meeting Maker was five years ago, but they have a larger installed base and even more irate users (Beehive did not help things).

So let's look at Jerry's calendar with this entry, a mix of German and Spanish.


Using our standard export tool on the OCS side, UNICPOUTU, this exports as:

K Events:

S 9691980

D 30

T Du mußt Amboß oder Hammer sein, Señor

I 0

R N2

M Garcia Jerry

W Garcia Jerry

A TRUE 3 10O

Which is perfectly fine.


It comes into our database correctly as:

And will insert into Exchange just as you see.

So we're pretty sure we're covered here.

But, we've had some reports of some UNICPOUTU exports not including accented characters (and they're translated to reasonable substitutions so we know something is going on). The Oracle Admin Guide section on Calendar International Support goes into fair detail on how to configure for all your various options. As always, when in doubt, check with us. We want to take as much information to your target system as accurately as possible.

Sensitive to some of the other options that might be coming down the pike, we've added a new character set option to our conversion code:

So in case we need to do Japanese or some other non-European character set we'll be able to respond.

This means the OraCalReader also has a new command line switch: /CHARSET whose values values can currently be "UTF" and "ASCII."

One additional note: Time Zones. We've been handling European and Asia-Pac time zones in OCS to Exchange migrations for years. No worries.

Friday, June 05, 2009

Script to automate Oracle Calendar Server exports

Thanks to Marco Siefert, KUTTIG GmbH, Germany for this script that he's just used on a migration from OCS to Exchange right now. It would work just as well of course for exporting in an Oracle Calendar to Zimbra migration.

No matter what I do in blogger, the indentations get screwy so I'm also putting this in the next round of migration documentation.

#!/bin/sh

export CAL_HOME=/opt/oracle/OraOcs10gHome/ocal/bin
#Set allowpasswordoption = TRUE in [UTL] section of unison.ini of OCS calendar

$CAL_HOME/uniuser -ls -format "%s%:%g%:%uid%:%id%:%node-id%:" -n 1 -p sysoppassword > users.txt
$CAL_HOME/uniuser -resource -ls "S=*" -n 1 -p sysoppassword> resources.txt
while read mylinedo
#Replacing spaces with % so it can be passed to awk

str=$myline

str=${str/\ /%}
#Declaring variables

surname=""

givenname=""

uid=""

startch=":"

endch=":"
#Launching export command with awk

echo sysoppassword awk -v str=$str -v st=$startch -v end=$endch 'BEGIN{

if (length(str)>0){

system("echo Processing line "str)
#Cutting variables out of the line

s=index(str,startch)

e=index(str,end)

givenname=substr(str,s,e-1)

surname=substr(str,e+1)

uid=surname

surname=substr(surname,0,index(surname,":")-1)

uid=substr(uid,index(uid,":")+1)

uid=substr(uid,0,index(uid,":")-1)

#Replacing % in uid for unicpoutu tool, not replacing it in givenname because that is used in the export filename

gsub("%"," ",uid)

system("echo UID="uid)

#When we have a givenname then start with export

if (length(givenname) > 0)

system("$CAL_HOME/unicpoutu -u \"UID="uid"\" -f exp-"surname"-"givenname".txt -n 1")

}

else system("echo ---------------------------------------")

}'

done <>


Reference our earlier posts on exporting data from Oracle Calendar. For example, How to Extract Data from Oracle Calendar Server for a migration into Exchange or Zimbra.

In the script the value for CAL_HOME and sysoppassword have to be replaced before running.

To provide a password to unicpoutu change the config file "unison.ini" before exporting (can be found in $CAL_HOME\ocal\misc). The line allpasswordoption = TRUE should be added to the [UTL] section.

Tuesday, June 02, 2009

Exchange 2007 Rollup 8 for SP1

MS released Exchange 2007 Rollup 8 for SP1 last week. The KnowledgeBase http://support.microsoft.com/kb/968012 reports four calendar fixes:

  • 959990 An error occurs when you try to update a recurring appointment by using an Outlook client that is connected to an Exchange 2007 server
  • 966535 Duplicate messages are sent to an external recipient if the recipient is included in multiple distribution lists in an Exchange Server 2007 environment
  • 967097 Users may receive duplicate calendar items for the updated instance on mobile devices
  • 967109 delegate cannot accept a meeting request for an online meeting in an Exchange Server 2007 environment

Thursday, May 28, 2009

Oracle Calendar Migration: ICS vs UNICPOUTU

We've been asked why we don't just migrate out of Oracle Calendar using ICS format.

We could, but the results are way better using UNICPOUTU.

Let's look at Jimi Hendrix's meeting with Jerry Garcia and John Lennon in ICS format. The meeting title is "Jimi, Jerry, John"


You'll notice that any of the recurrence pattern syntax is absent, as is any concept of the meeting ATTENDEES. Yes, you can take this and you can insert it as is into Exchange or any other calendar system that reads iCalendar. BUT without recurrences, attendees (and therefore attendee response status) and with no connection to managed conference rooms or resources.

It is very easy to insert this way -- but it is also less functional when it arrives at the target system. Users will need to add back all their guests and send invitations, which the guests then need to respond to. And don't forget the great conference room land grab that's going to happen the second your people get wind the conference rooms are not yet booked on the new system.

And let's look at the same meeting in UNICPOUTU export, Oracle Calendar's own format.

It is CRUCIALLY better because while we are (still) lacking the recurrence patterns (don't worry, we re-create those), we have the attendee list and the attendee responses! This means we can re-create the full state of the meeting and make it live in Exchange. This also allows us to re-create the status in conference rooms.

Yes, this means in a system like Exchange that we need to re-propose the meetings and respond to them. But the results at the end are much more seamless and require less user interaction to get back to its previous state. After doing this for almost nine years though we think we've gotten good at it.

Wednesday, May 27, 2009

Name changes and calendar behavior in Exchange 2007

This might seem a little esoteric, but it's still important.

Let's look at name changes in Exchange / Active Directory and how they have an impact on calendaring.

User Name Changes has done a good job of sketching out the mechanics of name changes and its repercussions for email. However, as with anything else there's some consequences for calendars that we feel the need to document.

So let's look at Marge Bouvier and her calendar in Exchange 2007.


In the way of many marriages, Marge changes her name to Simpson after marrying her high school sweetheart, Orenthal.

If we change her name (leaving her alias alone) and go back into her calendar we note that the display name at the top is "Marge Simpson." New meetings are created as "Marge Simpson" but previously created meetings are still labeled "Marge Bouvier."



What happens when previously existing meetings are modified?

So glad you asked.

In her GUESTs' calendars (for example Russ) the original meeting looks like this:

If Marge updates it (say by adding an agenda), the invitation comes into Russ's inbox looking like it's from Marge Simpson:


But accepting it and looking at it in Russ's calendar, it will STILL identify the organizer as "Bouvier."

SO NOW, let's look at it the other way: When the organizer modifies a meeting Marge is a guest in.

Say, Russ modifies his original meeting:



Like this:

MARGE sees the following update come into her inbox (identifying her as Marge Simpson):


And now this exception is listed in Russ's calendar as having Marge Simpson as a guest.

Confused?

If you're not confused you haven't been paying close attention.

The situation is at least comprehensible because updates are at least still going between Marge and everybody else in the organization. What makes this possible is that her Alias ("marge") remained constant. Meetings which are unchanged keep her as "Marge Bouvier" meetings which are new or get updated list her as "Marge Simpson" (most of the time).

If her alias started as "marge.bouvier" and it needed to morph to "marge.simpson" things would be a lot wilder and woollier with all previous meetings now invalid and updates being impossible (exactly as happens with email in this situation).

I leave as an exercise to the interested reader what happens to any Delegate rights Marge had set up prior to her name change.

Friday, May 22, 2009

True Conference Room Anecdote

So I was having lunch a few weeks ago with two people, let's call them Bill and Kelly, who were stalwarts of the Meeting Maker world back when.

Not surprisingly the talk turned to calendaring.

Kelly was telling me how her non-profit Boston office has two conference rooms, and one being necessary for an auditor for an extended period of time, lots of non-software interpersonal skills (what someone outside of psych-speak would call "peer pressure" or "bribery" or possibly "extortion") were brought to bear to free up the conference room.

It's as we tell you: The most important things to consider in your calendar system or migration are the inanimate objects. People will do anything for conference rooms.

Friday, May 15, 2009

Server-Side Exchange 2007 Holiday Insertion

OK. We know you keep asking for it.

The Sumatra Utilities has had this sort of weird cult following (and we mean weird -- we're not sure we want to meet some of the people who send us email) for its ability to insert holidays server-side on Exchange. But based on CDO it was restricted to Exchange 2003 (and those daring Luddites with a 2000 fixation).

Since the E2K7 code was wide-open for ResourceWatch development, Russ's team just kinda, sorta, threw in the holiday insert. So Memorial Day on my calendar went in server-side via an improved holiday CSV.


And since the code is based on the migration tool we have options to tag "(Migrated)", which was how I actually did it the first time before I went "D'Oh!":

So in answer to the questions we always get:

  • Yes, we're now automatically inserting our own Keyword so it's easier to undo (for those of you who ignore our advice by inserting on your production server without an isolated test).
  • No, you can't use an existing .hol file. We actually have more capability than the .hol files allow.
  • Yes, if you still want to do this client-side there are plenty of directions online, like Customize the Outlook calendar with your company's important HR dates
  • Yes, we added the capability to do a "Stockholder's Meeting" on June 30, 2009 from 12:00 noon to 3:00 PM in ALL Calendars server-side.
  • Yes, we're field testing it with a few folks now.
  • No, we haven't decided if it's going to be a give-away. We're leaning towards bundling it.

Wednesday, May 13, 2009

Is there anybody out there? In a word: No.

So our article Corporate Microsoft Exchange to Google Calendar migrations: Is there anybody out there? generated lots of feedback -- all of it confidential.

We're used to this by now.

But here are the high-level conclusions:
  • CORPORATE Google Calendar? Fuggedaboutit. Does not exist at the enterprise level. Actually it doesn't seem to exist in business beyond the "Mom and Pop started this store and needed some calendaring" level. There is one exception in Europe via an SAP consultancy we're too curious to let drop.
  • Educational: Sure - but we've been put off by free not being a viable business model for us.

So don't wait up for us to do a full state calendar migration from Exchange / Oracle Calendar / Meeting Maker to Google.

Tuesday, May 05, 2009

Preview of ResourceWatch

We thought we'd give you a taste of something that's been in development and now in beta. We've been doing analysis of resource use in Exchange for a while, and when one of our favorite clients in the world asked us about turning our analysis into something they could use on an on-going basis, we kind of just started writing it.

Since pictures are worth more than words, I'll start the screen grabs here.






That's the screen display, based on Silverlight. We just all love the way the data comes up on the screen.

But since Microsoft believes Silverlight has no need to ever print anything, we have a separate portion handling output (we call it the "Printer-friendly version"), and these are representative samples:




So what the heck can you do with this? Well you can finally
  • Have statistics on how often conference rooms / resources are used
  • Know how many people have used them
  • See when the high demand days / times are
  • Start to quantify decisions like "Do I need two conference rooms on this floor or will one do?"







Saturday, May 02, 2009

Broken E2K7 Meetings Part 2: Getting rid of them.

So you have some broken meetings, eh?

It's easy for your users to just delete them -- but your conference rooms have a certain inflexible uncreative temperament that means some biological entity capable of passing the Turing test needs to be looking over their collective shoulders.

Or you could use software.

Specifically our software.

First let's revisit the broken meetings in Conference Room 222 of our previous post. The 10:00 AM meeting is broken, and should not be in the calendar.

How do we have the audacity to call it "broken?"

Well it's not in the owner's calendar, and he tried to cancel it. I'd argue it's pretty clear it should not be in the resource calendar.

So now we probably want to divide this into two steps: Finding the broken meetings and removing the broken meetings.

Those of you with experience with SuExchange2007 will be aware of the little "test" button in the corner. This is where we send you to test that you really do have adequate permissions for the calendar insertion we're about to do.


This is also where we're headed to get this menu:

I've taken the liberty of filling in Conference Room 222's alias: "room222" and indicating that it is a resource.

Now, click this button:

And it will create a text file called "_suExLog_BrokenMtgs.txt" which includes our test subject:



Pressing "Delete Broken Meetings" will remove them and log that to a report.


This is scriptable so if you're interested let us know.

Sorry, folks, this one only works for Exchange 2007.

Thursday, April 30, 2009

Corporate Microsoft Exchange to Google Calendar migrations: Is there anybody out there?

One of my favorite lines from Pink Floyd's The Wall: Is there anybody out there?

In this case, corporate users going from Microsoft Exchange to Google Calendar who want to move corporate calendars.

We've gotten asked about this several times in the past few weeks. But no requests have been from actual corporate customers wanting to preserve calendar data. All requests so far have been theoretical discussions or from universities adopting the free Google Apps ride and wanting full-state migration to be free while they're riding.

I mean it's not hard for me to believe that most corporation would not be really psyched about putting their data in the hands of a third party.

McKinsey & Co learned the hard way: Corporate data slips out via Google calendar.

Since free Google Apps for Education is an easy sell to most cash-strapped universities, we've mainly been hearing about this from the education sector. And I've not seen any company with more than 1000 users even considering Google.

Or am I just thinking about this wrong and have not yet realized that the real corporate market is something that keeps Exchange data completely out of the hands of Google Calendar?

Anybody have any feedback?

Tuesday, April 28, 2009

New Means of Creating Broken Meetings in E2K7. Part 1: Getting them

Broken meetings used to be relatively simple to create with Outlook 2003.

Outlook 2007 did a good job of correcting some of the problems by tightening the behavior when an owner deletes a meeting.

BUT in Exchange 2007 using Outlook Web Access (OWA) it turns out to (still) be relatively simple to create broken meetings to clog up your resource calendars.

I'll admit this is slightly convoluted AND bad user behavior, but we can do this using standard, completely legitimate commands. This makes us leery about what other methods remain to be discovered.

So first let's look at my calendar:

Three meetings each with Conference Room 222 already reserved.

Highlight the one at 10:00 AM and press DELETE. This dialogue box displays:


NOW for the deviltry. If you press "Send" right now everything will be hunky-dory and the meeting will be cancelled cleanly. But let's not.

Instead, let's say that you DELETE the conference room AND add "zyg" as a required guest:

THEN hit SEND. In Zyg's calendar we see the meeting has been cleanly deleted.


Aside: Adding "zyg" is a crucial step. If you try to send without a Required user you get an appropriate warning.


Anybody care to guess what the calendar for Conference Room 222 looks like? Right. The meeting is still in there.

Kudos go to Russ and the insertion team for discovering this.

So ends Part I: Creating the broken meeting. Watch this space to see how you can find and remove the broken meetings.

Note that KB 954284 Outlook 2007 does not send out meeting cancellations if you remove all invited attendees from a previously created appointment describes a similar situation using Outlook 2007 rather than OWA.

Saturday, April 25, 2009

When your self-signed E2K7 certificate expires

We worked with a client who saw a self-signed certificate error (mismatch, expiration) in their lab. It took a while to figure out how to update the self-signed cert. You have to create/update the certificate, enable it, and restart IIS. Here are the steps we took (using Exchange Management Shell):

There are two ways to generate a new cert. One is to add another year to the existing cert, the other is to create a new cert.

1) a) Add one year to the existing (expired) cert:

Get the thumbprint of the expired certificate:

Get-ExchangeCertificate -DomainName fl NotAfter,Thumbprint,certificatedomains

Then use that cert's thumbprint to generate a new cert

Get-ExchangeCertificate -Thumbprint xxx New-ExchangeCertificate


1) b) --or--Create a new cert:

New-ExchangeCertificate -PrivateKeyExportable $True -Services "IMAP, POP, IIS, SMTP" -SubjectName "cn=yourOutlookAnyWhereExternalDomainName"

Once you create the cert, you'll be given a thumbprint. Use that to enable the cert:

2) Enable-ExchangeCertificate -Thumbprint [thethumbprint] -services:"IMAP, POP, IIS, SMTP"

3) Stop/Start IIS:

i.e., iisrestart /start
--or--
net stop "World Wide Web Publishing Service"

net start "World Wide Web Publishing Service"

net stop "FTP Publishing Service"net start "FTP Publishing Service"

net stop "Simple Mail Transport Protocol (SMTP)"

net start "Simple Mail Transport Protocol (SMTP)"


Install the certificate on your client Windows machine via Internet Explorer:

4) Tools / Internet Options / Content / Certificates / Trusted Root Certificate Authorities / Import


-RVI

Tuesday, April 21, 2009

Best Practices when Migrating Calendar Data

We've noticed the current economic climate has encouraged a passel of folks to evaluate their options.

And these same folks tend to call us to outline their options.

Now, we like to be as chatty on the phone as the next guys, but going over the same stuff does get to be a little repetitive. So in Sumatra fashion we stuck everything in a document and are encouraging you to read it.

It's way shorter than the tech documentation, and maybe even some managers would be able to digest it.

Click to download the PDF: Eight Best Practices when Migrating Calendar Data.

As always, we encourage feedback.

Friday, April 17, 2009

Compliance, legal discovery, and your Meeting Maker data

Remember to look at calendars as part of the legal discovery process.

Last year we migrated a university (sorry, I can't give out the name here). During the migration, the CIO wondered why legal discovery solutions only focus on email (because it’s the only data that can be easily read, and there is a lot of it).

He saw their calendar data in a database and mentioned they might need to revisit their historic calendaring data (via Meeting Maker) for legal discovery or forensic analysis.

We’re calendaring guys. Reading calendar data is what we do, we said, so let us know if you need it.

Last month they asked if we could extract calendar items for a set of users. The caveat: they wanted the output to contain all meetings, agendas, appointments, along with the names of all people they met with in an easy to read format.

The "easy to read format" was the really hard part.

However, we believe in the old virtues of hard work and entrepreneurial solutions. We also noticed that since the Microsoft Exchange base is growing and the Meeting Maker base continues to contract that we'd rather solve this on Exchange.

We had their Meeting Maker data in an Access database. We could have written some code to expand the calendar data. But this method seemed pointless since Sumatra’s insertion into Exchange does most of that work already. So our solution was to take advantage of Exchange - insert their data into our test lab, and then create a tool to read the calendar data directly from Exchange.

The report contains ALL calendar entries (meetings and appointments), showing with organizer, subject, date, attendees, including the agenda.

For current Sumatra clients who can’t wait to try this, here’s the command syntax for a report of Bela Bartok’s calendar in 2008 (it would all go on one command line but we format here for clarity):

suExchange2007.exe
/usersrc:alias
/user:bela_bartok
/cmd:report_all
/dtstart:”1/1/2008”
/dtend:”12/31/2008”


Note: If you do not want to see the agenda, you can use the /cmd:report switch. It’s much faster!

Sunday, April 12, 2009

True Inquiry Stories Part 2: "Which one is easier to migrate into?"

Most times people have decided where they're going on vacation before they get in the car and start driving.

What this has to do with calendaring migrations is that in the past month we've gotten questions from two separate sites: Which is easier to migrate calendar data into -- Exchange or Zimbra?

Short answer: Zimbra.

Hands down. No question about it. It is much, much simpler to completely migrate calendar data into Zimbra than it is to migrate into Exchange. Please remember I'm talking about the kind of migrations we do: keeping meetings and guest lists live, preserving recurrence patterns, and maintaining guest responses. If you are content to just do a Palm synch you're wasting your time reading this blog.

Exchange's bugaboos in permissions alone vault it to a different scale. Then we start adding things like BES servers, backup strategies, forest trust architecture, yadda yadda yadda.... The documentation we have on Exchange migrations is about 150 pages total. The documentation we have for a Zimbra migration is about 50.

However, we really do not think this should be your criteria for deciding which one to migrate to.

But why do we say that?

Because we should really be the last part of your decision - not anywhere near the first.

Your calendar migration will take either several hours or a possible weekend when you go into production. Your user community on the other hand is going to be living with the decision for years. Focus on what is going to work for your users, not on whether you're in the lab overnight watching a migration.

Let's go back to the vacation analogy. Say you're in New York. You could go to Paris in 6 hours or Hawaii in 12. BOTH are very desirable destinations. You should not make your decision based on how long the flight is -- you should make your decision based on what you want to do when you get there.

Thursday, April 09, 2009

True Inquiry Stories Part 1 "We want it all, but one user at a time"

Recently we got a set of requirements from a government agency that read like this:


We're looking to migrate our existing Meeting Maker 8.5.3 user, resource
account and conference room calendars to an existing Exchange 2007 server. Here
are the requirements from our customers:

1. Preserving as much of the meetings, activities, tasks, category information and contacts as possible....

2. If possible, we'd like to be able to import the Meeting Maker information on a per-account basis.

3. For the most part, our Meeting Maker server is actively used by only about 40 users at this point. However, because of a requirement from our customers, we have not deleted many older accounts from Meeting Maker to help maintain a historical record of meetings and activities. ....


The main problem with this is that 2. and 3. contradict 1.

Those of you who have been through the process or even the evaluation have heard us talk about the "spider web" that calendaring represents: Moving email is relatively easy since the data is static. But migrating calendar data while preserving guest lists and responses is harder -- you are literally picking up a spider web and moving it from one proprietary environment to another.

So moving one user at a time destroys the links between other users. Move all your users at once and you can preserve the links and associated information.

The corollary to this is also no surprise, keeping users on your original server for historical purposes works fine -- but you'll need to decide what to do when the time comes to migrate them. Not taking old users to Exchange is the same as removing them from your original system: their data disappears. Think of it this way: if a user does not exist - how does Exchange react when you put them on a live guest list?

Since we have gone through an intermediate database in our migration technology (a very wise design if I do say so myself) we do have options to reformat data on its way into the eventual target system, but this does require time and expertise. There really is no such thing as a free lunch.

After their initial inquiry they went out and tried to write their own tools (our recession-era tax dollars at work).

I leave the results to your imagination.

Keep an eye on this blog: we're working on a guide for evaluating calendar migration solutions. You don't have to go with us, but whatever solution you choose you should choose with open eyes.

Thursday, March 26, 2009

Error executing child request for ChartImg.axd

We are using Asp.Net Chart Controls to create a series of charts from a csv data stream that a user uploads to the server. Until we hit this error "Error executing child request for ChartImg.axd." Since uploading the file is a post-back, we had to change the charting HTTPHandlers.

The solution: open the 'web.config' file, find the line
<add path="ChartImg.axd" verb="GET,HEAD" ...
and add a "POST" verb:
<add path="ChartImg.axd" verb="GET,HEAD,POST" .....

Tuesday, March 24, 2009

Exchange Server 2007 SP1 Update Rollup 7 due 3/24/09

Microsoft is scheduled to release Update Rollup 7 for Exchange 2007 SP1 today (3/24/09). Based on our review of what's fixed, if you have Entourage clients, expect to do a migration in the next month, or use calendaring, then you should apply this. We will apply this and let you k now if we find anything (if you find anything please post comments!)

Here are some of the calendar-related fixes in the update:
  • OWA and Exchange Web Services (EWS) do not correctly display a monthly/yearly recurring meeting or appointment (KB# 960291)
  • Customized properties of a recipient's calendar are removed (KB# 949464)
  • Can't read calendar items when some IMAP4/POP3 clients (esp. mobile devices) connect to exchange (KB# 951341)
  • Messages Queued for Submission performance counter increases when Domino meeting requests are delivered (KB# 953094)
  • You do not receive an NDR after a meeting request was sent after a change to the recipient's LegacyDN (KB# 957124)

And for Entourage:

  • The Info store may crash when Entourage client synchs (KB# 957947)
  • Unexpected modified instances of recurring meeting (KB# 949113)
  • Duplicate Calendar entries (KB# 949114)

Again, this is just a few of the fixes in the update. Read the full KB 960384

Russ

Thursday, March 12, 2009

International Characters and your Migration into Zimbra

We have someone in Switzerland migrating into Zimbra. In this case they're migrating from Meeting Maker.

The appointment at 17h00 should read "Jürg":




Quick, immediate, and cost-effective means of correcting: UNIFIER, available from here.
Our prospect ran with these options:

After which his character set conversion issues were no more.

Just to cure your insomnia if it is not already: Meeting Maker server data is stored internally in a Macintosh character set (regardless of what platform you are running on). When we convert Meeting Maker into the intermediate database we convert it into Windows Code Page 1252, Microsoft's default Western European character set (We mainly go to Exchange, after all).

The lower 8 bits with French and German characters should be OK -- but our friends in Switzerland were running with Macintosh clients.

We'll add a UTF-8 option if we get more European demand.

Saturday, March 07, 2009

Mirapoint Calendar migration to Exchange 2007

We've gotten a couple of inquiries out of academe for migrating calendar data out of Mirapoint and into Exchange.

Since we'd done the rough sketch on running Meeting Maker data INTO Mirapoint (though the people who asked for that are now lost at sea), pulling it out and putting it into Exchange did not seem so difficult.


Actually, when we brought it up at our Friday development meeting the Decryption team at Sumatra already had the full spec, and the Insertion team began modifying the existing Oracle Calendar conversion code and... (don't try this at home, kids, we have years of experience that keep us safe from the occasional software fire hazard)... it was basically running by the end of the day.

So we're reading VCS files and converting them into our common intermediate format, and prepping to do all the sorts of things you've come to expect from a Sumatra migration:

  • Preserve the recurrence patterns,
  • Guest lists
  • Guest responses
  • Keep meetings "live"
  • Avoid conference room anarchy
  • Avoid conference room land grabs
  • Whatever else you need
If anybody else out there wants to migrate calendars out of Mirapoint and into Exchange 2007 -- drop us a line. Mirapoint claims to have 120 Million mailboxes installed, so we'll be happy with a few hundred thousand or so.

Thursday, March 05, 2009

Why would an enterprise user want to print a Silverlight page?

Sumatra is working on a tool to analyze conference room use in Exchange 2007. Sumatra's tool helps facilities managers understand resoure use patterns through 25+ charts and tables. We picked Silverlight as our display engine because it produces the most amazing charts and tables (see below)!

We were days away from a beta-launch, when our QA team decided to print out the entire collection charts. We were stunned when only the first page printed. Looks like Microsoft decided not to include printing in the first two releases of Silverlight. The work-arounds aren't pretty.

Yah, it was nice to see our President's inaugration speech via Silverlight. But does this mean that the only line-of-business apps available to Silverlight are going to be consumer gaming and video-watching apps? Maybe this is the way to make corporate America greener -- prevent enterprise users from printing Silverlight-generated page via the browser?



-RVI

Wednesday, February 25, 2009

Gmail outage. So why put corporate calendars there?

So we run on Exchange and have been leery of entrusting our infrastructure to a company that not only makes the software but hosts, updates, runs, and (pretty much) controls everything that has to do with it except what data we choose to put in and if we want more in this endless fraternity hazing-like ritual of submission and humiliation.

But when GMail was down and Google's response could be summarized as "yep it is" we looked on it with a certain schadenfreude. We've not been encouraging corporations to go to Google Calendar, and we're now less likely to encourage it anytime soon.

Does Exchange ever go down and strand a corporation for hours? Oh yeah -- believe me it does -- and we have the stories. But one Exchange installation going down doesn't bring EVERYBODY ELSE down with it.

To be fair, if you were using Outlook as a client Gmail seems to have worked through the storm, but that's got to be cold comfort to the crew coordinated out of California: "If you used our hated competitor as a front end interface you'd have been fine."

Cloud computing is just not yet a player for serious corporate infrastructure.

Monday, February 23, 2009

Sumatra at NERCOMP March 10, 2009 in Providence, RI

Normally we let the quality of our code and migrations speak for themselves but one of our clients at Wesleyan convinced us to do a talk with them at NERCOMP (The Northeast Regional Computing Program) in Providence, RI in March.

Not surprisingly, the title of our piece of it is: "Migrate your Calendar Data into Microsoft Exchange" on Tuesday morning.

You can see the agenda for the entire conference here.

If you've been wanting to meet Russ (known almost universally among Sumatra clients as "the calm polite one") that would be a good time.

Maybe you can convince him to talk a little bit about what we're doing with conference rooms in Exchange 2007.

Wednesday, February 18, 2009

Oracle Connector for Outlook differences from Oracle client and your migration

We take the Oracle Calendar Server export as the definitive source for data that is to be migrated.

Sounds pretty reasonable, right?
But now and then Oracle has the same sort of acquired inconsistency syndrome we're used to from Microsoft.
Case in point: in OCS create an appointment
and say you're not going to it:


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:


Just so you know.
In these cases our modus operandi is to take the data and display it, since it's a lot easier to remove something you do not want than it is to create all over something you do.

Tuesday, February 10, 2009

Meeting Maker to Apple iCal via Zinsert Field-Proven

We got a call a from a medical school in Silicon Valley asking if we could migrate 2 users out of a Meeting Maker server of 40 into ICS format.

This is not usually cost effective but they just wanted iCalendar files and they were very polite about the request.

Most times this would not be worth mentioning, but they had a novel approach -- they wanted to obsolete their legacy Meeting Maker server ASAP and move on so they took their data from Meeting Maker into Apple iCal before planning on putting it into Zimbra.

The good news: Seems to have worked fine!

To quote their plan:

...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.

Friday, February 06, 2009

Changing your Exchange 2007 resource behavior post-migration

So what happens when you migrate into Exchange 2007 with resources that are scheduled on an on-going basis?

Sumatra Development dogma on this is to have your resource AutoAccept turned OFF (i.e., in E2K7 terms to "AutoUpdate"):



This allows us to control how data gets migrated into Exchange. That is, we reproduce your Meeting Maker data as closely as we can (NB: this is mainly a Meeting Maker migration discussion, Oracle Calendar Server already wisely placed limits on how far ahead in time you can schedule). Interesting trivia: In Meeting Maker you can book a resource into the year 2039, which is an act of either supreme optimism or hubris, take your pick.
In Exchange Management Shell the command (broken here for clarity) is:

[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.

Sunday, February 01, 2009

Google Calendaring and Imports

I have got to give Google Calendar some credit.

Since we got asked by a 4,000 user account about moving users into Google Calendar (there's a lesson for you, sinners, you want to get our attention have a 4,000 user migration base), we started looking at moving into Google via iCalendar files.

Most import mechanisms provide the kind of intelligence Geico likes to claim cavemen have, but Google Calendar actually did some checking and gave me the following error message:

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.