Thursday, June 21, 2007

How many Recurring Appointments Does it Take to Screw Up Outlook in E2K7?

Editor's note: Yipee! As of 2/28/2008 Microsoft found and fixed this in the "Update Rollup 1 for Exchange Server 2007 Service Pack 1" (see:

The answer: 1300 (not 1301, we mean 1300)

While debugging our insertion technology for migrations from legacy calendaring systems into Exchange 2007, Russ decided to insert 23,000 appointments into a single calendar (which is not as rare a real-world occurrence as you might think).

When we narrowed th einsertion to just recurring items we found a hard limit at 1300:

Interesting variation on this: even with this error we have no problem adding one-time meetings or appointments -- but the second we try to make them recurring the error pops up.

We were really surprised to be getting CDO errors server-side, especially since CDOEXM is obsoleted and CDOEX is denigrated in 2007, and our new insertion code is based on EWS and has had all CDO-specific code ripped out of it with the diligence of a vegan removing meat and dairy products from their diet.

The specific Outlook error message: "There is not enough memory available to perform the operation." led us to some server-side errors that looked like this:

Exception type: Microsoft.Mapi.MapiExceptionNotEnoughMemory
Exception message: MapiExceptionNotEnoughMemory:
Unable to save changes. (hr=0x8007000e, ec=-2147024882) Diagnostic context
The event logs are EXCDO errors
Event Type: Error
Event Source: EXCDO
Event Category: General
Event ID: 8199
User: N/A
Calendaring agent failed in message save notification with error 0x8007000e on judy@lab.sumatra.local: /Calendar/test5.EML

We didn't find anything on specific 2007 problems, but this does sound very similar to an existing 2003 problem: You cannot save or delete a recurring appointment from a Calendar that is maintained on an Exchange Server 2003 computer, aka KB 892524.

So we wanted to put this up to let folks know and see if anyone else had been experiencing this problem.

Friday, June 01, 2007

Meeting Maker to Zimbra Migration

So given the fact that Zimbra is an open source calendaring system and Meeting Maker is the definition of legacy proprietary -- what can come over and what cannot?

Let's deal with the limitations first of all.

Meeting Maker calendar attributes that we do not transfer to Zimbra:

  • Private activities: We're taking this attribute along so that when Zimbra supports Private appointments (This is coming in their next version 5.0) it will be there -- but the current version has no way of (not) displaying them.

  • "Weekend move": Zimbra does not have this functionality so affected meetings will not move.

  • Comments: We've been dropping these for five years in Exchange migrations and there's been no complaints.

  • Colors / Labels: The Zimbra palette is very different from the primary colors of Meeting Maker so we don't even try to match colors.

  • Proxies: We extract them from Meeting Maker we'll look at what we can do to insert the same proxy rights (thank you to KevinH who with amazing speed pointed out Zimbra DOES have the ability to Share calendars - I just wasn't looking hard enough)

  • To-Dos: Zimbra has capability for to-dos in the user interface after version 5.0. So only supported for 5.0.

  • Optional / CC / BCC guests: Zimbra hdoes not have this functionality so we make all guests Required guests except for BCC (which would defeat the original purpose of a BCC) and respond appropriately. BCC guests get the meeting put in their calendar separately from the rest of the distribution list.

Meeting Maker calendar attributes that transfer to Zimbra:

  • Recurrence patterns (we even think we have a chance of solving the infamous "Refrigerator Bug" we always warn you about)
  • Meeting Agendas
  • Guest lists
  • Guest responses
  • Meeting Exceptions
  • Guest exceptions
  • Contacts
  • To-Dos in Version 5.0.
  • Banners
  • Holidays (we can insert into each calendar separately since Zimbra does not have server-wide holidays)
  • Conference Rooms
  • Resources
  • Time Zones

Please keep in mind this is a fluid list and we're likely to change a few things over time as new functions are added, as we get more clever in our migration implementation, or as we discover "gotchas" that are currently hidden to us.

Keep in mind we're doing all this server-side with no end user intervention.

The one functionality we're striving to add is the one that many of you have found so useful for testing in the past: UNDO.

We'll keep you informed as this migration technology develops.