Monday, April 26, 2010

Ampersands in email addresses

Just ran a few thousand users from Oracle Calendar into Exchange (at a very security conscious site so we were not able to look at their mappings beforehand), and they had some problems with ampersands in email names.

Yep. Bad karma all around.

In fact, you should not be using most special characters for object names, as Microsoft documents here for Exchange 2003 and here for Exchange 2007.

Friday, April 16, 2010

Exchange Calendar Issues fixed with Rollups

Microsoft released rollups for its Exchange Servers on April 13, 2010:

I want to report the calendar-related issues that these rollups fix:

Exchange 2007 (SP1 and SP2) - No calendar-related fixes in this rollup

Exchange 2010

  1. RPC clients or MAPI on the Middle Tier clients may not receive responses from the mailbox server role on an Exchange 2010 server (KB981664)
Note: Microsoft recommends that you Clear the 'Check for publisher’s certificate revocation' for Outlook users. For OWA users, this rollup overwrites any customizations made to your "logon.aspx" pages.

Thursday, April 15, 2010

New one-step mapping method OCS to Exchange


Mapping OCS Users & Resources to Exchange Accounts

First, we assume that you have already imported the "users.txt", "resources.txt", and "foreign.txt" into the database using the xCalReader.

There is really only ONE step: Run the query Q_Build_MM_Exchange_User_Map_From_Users



We urge you to review the mapping table "MM_Exchange_User_Map" to ensure all accounts have been mapped, and that all accounts have an email address.


What happens if I want to change the email address for a few users in the Users table?

Edit the table User_Adjusted_Maps. You must copy the userid, UserNum, and mmLogin from the Users table, although we recommend you copy ALL fields. This makes review easier because you know who the accounts belong to! Add the exchange alias (exch_alias) and exchange SMTP address (exch_email). In the following example, we changed Peter W's email to




What happens if users do not have email in the Users table?

Look in the "Exchange_email_Src" tab for "***Missing Email***", or look for unusual email in the exchange_email tab.


Is there a "query" to copy all users with blank emails in the Users table to the User_Adjusted_Maps table?

Yes. It's called "Q_Add_Users_with_Missing_Emails_to_User_Adjusted_Maps"

You will have to add the Exchange Alias and Exchange email address, AND the Exchange type. The choices are "Individual" for a user or group calendar account, and "Resource" for a conference room.


I do not see that query in my database?

You must have database version Blank_Conversion_DB_v8.13.0.0413.mdb or greater


Meeting Maker sites migrating to Exchange

You can use the exact same queries and methods above, but make sure the email you want to have in Exchange is associated with the MM account you are migrating using MM Admin.

Tuesday, April 13, 2010

Web-Based Meeting Schedulers via Mashable

I'm posting this up here for those of you who are interested.

Mashable has a review of four web-based meeting schedulers.

4 Web-Based Meeting Schedulers Reviewed

I actually tried Tungle and found it more trouble than it was worth (but that was at least a year ago). And why on earth would anyone name an app Doodle?

Since we deal with corporations I do not think this any of these are going to be high on the agenda among our loyal readers -- but you should see what the twenty-somethings in your organization are going to be trying to integrate with Exchange.

Saturday, April 10, 2010

Migrating Large Oracle Calendar installations to Exchange by Subsets

Migrating Subsets of Larger Oracle Calendar Server Installations

April 9, 2010

Background: In re-creating meetings as live meetings from OCS, Sumatra uses the calendar of the meeting ORGANIZER as the definitive source for guest status. Since Exchange is a message-based system, it is crucial that in re-creating the calendar state calendar invitation come from the meeting owner. However, in the case where migrations must be done in phases, it is desirable to maintain as much as possible information from users external to the subset being migrated. This process deals with that.

As an example, let's say that we have an OCS installation in Europe that consists of about 2000 users in the Local users (NL) and 20,000 FOREIGN users (FR). Let's say the NL server is the first to migrate.

We have two issues, NL users as guests of meetings originated by FR users, and FR users as guests of meetings originated by NL users, as per the following table.


As Owner




As Guest



Case FR OWNER => insert as appointment in NL calendar?


Mail Contact



Process Change xCalReader Phase

  1. Create an additional Users export file of the FOREIGN users and name it FOREIGN.TXT

  1. Use the following command to generate this file from the FOREIGN OCS server:

uniuser -ls -format "%s%:%g%:%uid%:%id%:%node-id%:%email%:" -n 1 -p jimmorrison >foreign.txt

NOTE the additional %email% which will give us the email of that user as defined in OCS. We will need this information for the foreign users.

  1. Place this file in the same directory as your USERS.TXT and UNICPOUTU export files. This means both of these files will be read and populated into the database at the same time before any calendar data.
  2. You will have a new option in xCalReader to ANNOTATE calendar items from Foreign (FR) users.
  3. Server NODE numbers MUST be different between the USERS.TXT and the FOREIGN.TXT files (see below – we want to assure that our created User ID numbers are unique – and NODE is one of the concatenated elements in this)


In converting the users, invitations to NL users from FR users will be appointments in calendars. When the FR users who are OWNERS migrate, these will be overlayed with LIVE meeting data in Exchange. The user can then delete (or keep as they will) the appointment knowing that the meeting data will be updated with changes.


Using a mail contact has the following requirements and repercussions:


We do not (*think*) French users must be on NL server as MailContacts. Valid regular email addresses should be enough to generate invitation from NL owners to FR guests– but we want to encourage you to try it. French users will then receive Outlook calendar invitations to their mail accounts.

French users can accept/decline/ignore, Sumatra process does not create state for these users.

NOTE: this means there will be the original OCS meeting and the new meeting in their calendars, but the new Exchange/Outlook one will be the one updated when a NL user makes changes.


Code changes in xCalReader will act so as to

  1. Automatically read FOREIGN users

  1. Convert meetings from foreign users into appointments in guest calendars
  2. Allow for an administrator defined "Tag" for foreign user originated meetings.


Process Change User Mapping Phase

User mapping proceeds as documented, except the FOREIGN users will need to be mapped as well. We're documenting this and will forward ASAP.


Process Change SuExchange2007

Code changes in SuExchange2007 will act so as to

  1. Automatically validate foreign users
  2. Not generate error messages for foreign user validation
  3. Create FOREIGN users as guests

This will be transparent to current operation but will require testing.



Things we want you to be aware of

We already know we are not going to get access to any of your data – so we need you to be looking at it for us.

  1. Once both USERS.TXT and FOREIGN.TXT are in – we need you to make sure there are no duplicated USER IDs in the USER table. We can tell you how to do this if need be.
  2. We need you to test this first in miniature and then in full-scale as quickly as possible.
  3. We could really use sample data from you "users.txt" and "foreign.txt", plus a user's export file that has foreign user meetings (both as an owner, and as a guest)