Mike Brown: Positive Migration


[Editor's Note: To learn more about Domino R5 migration tools, check out the discussion with Mike in the

Developer Spotlight


Meet Mike Brown, migration man. With his new built-in Exchange-to-Notes migration tool as part of the Domino R5 server, it's now even easier to move Exchange users to Notes. Plus, it's all a part of the new integrated registration and administration framework.

We hear that you're including a Microsoft Exchange-to-Notes migration tool with Domino for the first time. Why now?

Exchange never had a very big market share, but now, Microsoft is doing all sorts of bundling and aggressive pricing, and, let's face it, they're giving it away. So now, there's more of an installed base. And we think that eventually there will be a lot of dissatisfied Exchange customers when they come to realize that it's not real groupware and not even that great at messaging.

What was your main goal for the Exchange-to-Notes migration tool?

The goal is really two-fold: to make it incredibly easy for administrators to migrate Exchange users to Notes, while at the same time, maintaining the fidelity of messages as close to the original message as possible.

Mike Brown
Mike Brown
Mike Brown

How have you made it easy to migrate users?

This is the big win for us. First, we made migrating users and their mailboxes part of the registration process, so you can now do the migration right within the new Notes registration UI. The entire registration process itself has been redesigned, with a heavy emphasis placed on mail conversion, not just user registration.

Second, you don't have to enter a lot of information to migrate Exchange global address entries to Notes, or to convert their mailboxes. It's really a simple process.

Third, there is now an open API for developers and Lotus Business Partners to use to create custom migration services for their Notes and Domino products and utilities, and to migrate external directories for products like GroupWise. As a result, migrating users from GroupWise, cc:Mail, or Exchange over to Notes is going to look and feel like the very same, simple process -- you can do all your migration from within a common environment.

And finally, we will be able to convert very large groups to Notes at once -- so you can just move the entire Sales department and all its subgroups at once, just by selecting the Sales Department group from the migration list box.

One other thing I should point out is that when we convert Exchange users to Notes, the Exchange directory entry is automatically changed to use SMTP to route messages between the two environments. With Exchange, you have to go in afterwards and set this up, which is an extra hassle. So, overall, we really feel like we have a leg up in terms of ease of use.

What are the big picture benefits?

This work is just adding to the incredible stuff that has been done to Domino Release 5 from an administration standpoint, which we think is going to launch us well ahead of Exchange.

The Domino Administrator provides a whole new, drag-and-drop environment for administering servers, directories, messaging, and so on. Plus, the sheer number of migration tools included and the common ways in which they work are going to impress people -- we have tools for Exchange, MS Mail and cc:Mail/Organizer right in the box. Plus, through our agreement with Binary Tree, R5 will include tools for Novell GroupWise, Netscape Mail Server, Qualcomm Eudora, Microsoft Schedule+, and OpenText OnTime e-mail and calendar products. (Editor's Note: For more information on R5 administration features, see our interview with Art Thomas.)

What prompted you to change the registration and migration process?

Actually, Chip Carter, a developer on the administration team, spearheaded the change of the registration process and the creation of the migration framework. There were some key areas that needed improvement. For example, people felt that there were too many post-registration tasks, like assigning users to groups and applying additional certificates, which should be done at registration time. There was also no way to store users who were pending registration, so if a registration session wasn't completed, the user information could be lost. At the same time, migrating large numbers of users into Notes could be difficult and slow. It naturally made sense to address these two areas at once through the same UI and process, so that's what we've done. This was a major undertaking and required a collective effort. Chip spent a great deal of time re-writing the registration process, and then I plugged into what he had done.

Let's get into some of the details. How do administrators actually convert their address book entries and mailboxes?

This is the thrust of the migration tool, and the way we've done it is by creating a new DLL for these two purposes. The way it works is that the Notes registration tool detects whether the Exchange migration DLL is on your system, so it knows whether to offer migration to Notes as an option. If it doesn't see the DLL for Exchange, it doesn't offer the option. Once you've decided to go ahead and migrate to Notes, you enter a MAPI profile and the DLL automatically finds the global address list for Exchange. You can see all the users in that list, sort them, and choose which ones you want, and it maps them over to the Domino Directory. That's about it.

How do I create the MAPI profile?

The administrator has to set up a privileged mail (MAPI) profile that will allow them access to the Exchange address book and all mailboxes on the Exchange server. This is required because it's how Exchange makes it directory available to developers. In order to initialize MAPI, the administrator has to choose a profile, or by default, MAPI provides a dialog box upon initialization with the available profiles in it and you can choose one. Once you click "OK," a list of users in the Exchange address book are sent, 1000 at a time. Then you can choose which users or groups of users you want to convert. You can also sort them, or choose to convert them all at once.

How do I move a group?

That's going to instantly jump out at people as a cool feature. An administrator simply selects the group from the People and Groups Migration dialog box, and all global address list entries for every user and subgroup within that group migrate.And, if the administrator chooses, the mailboxes will be converted over as well. There really and truly is nothing to enter, other than the profile.

[Editor's note: The following screen shows an example of the Exchange migration tool. In this case, the administrator has selected to migrate the R&D group, so the right list box displays the R&D group as well as its members to migrate.]

How have you gone about addressing the fidelity issue?

I painstakingly mapped out the fields between the two environments. That is, I looked at a global address listing in Exchange, then looked at a Domino Directory entry to see what fields were common. I then figured out what the MAPI property values were and went from there. I did the same thing for mailbox messages.

In an effort to maintain the fidelity of text within the body of a message, I used a public RTF spec to map between RTF and Notes CD record format. For R5, we won't have 100% fidelity here; however, the entire migration effort will continue post-R5. This will be one of the first areas that will be addressed.

What about calendar and scheduling data -- will you migrate that as well?

This will come in the first maintenance release. The migration of calendar data was not quite as easy as we expected, and we just ran out of time.

Now, what about the local address book conversion -- how is that accomplished?

That runs as a separate executable from the client, and it uses a similar approach to the registration/migration UI. You're prompted by a wizard interface that calls into the same DLL. It's a snap, because you are prompted for which archives you want to convert and then it's done. To my knowledge, Microsoft does not do this.

How do you deal with mixed Exchange and Notes environments?

Our expectation is that administrators will want to set up SMTP to route messages between Exchange and Notes. To do this, the migration tool modifies the Exchange user to be a "custom recipient" and uses the Domino SMTP server to deliver messages between the two environments. Another approach is if you are running Exchange 5.5, you can use the Microsoft Lotus Notes Connector to move messages between the two environments. It doesn't work for Exchange 4, but I know it works for 5.5, so those people can be converted easily.

Those have to be really unhappy Exchange users, because they probably just got it.

Right. Or, they can use this tool even a year down the road when they decide they want real groupware.

What about the new API for letting third parties tie into the new migration framework?

This is one of the first really hard-core migration APIs that we've supplied that integrates nicely with Notes and Domino. The benefit is going to be that you'll have the same look and feel no matter which package you're migrating from. The way it works is that third parties can write their own Domino Upgrade Services (DUS) DLLs that can plug into the DUS framework in the Notes Registration/Directory Import UI. The DUS DLL enables the administrator to import or migrate users/groups from a single foreign directory into Notes from the Domino Administrator.

Where do I go to get the DUS API?

The migration API has been exposed in the Notes SDK in the header file "dus.h." This file lists the functions/datatypes that comprise the DUS API.

Do you have any advice for Business Partners using the new API?

The Business Partners should let us know about their plans. We've worked closely with Binary Tree to enable their migration tools to work in the DUS. We want partners to be successful using the DUS and helping customers to migrate to Notes and Domino as easily as possible.

I understand that you also wrote the Remote Console portion of the new Domino Administrator?

Yes, I worked on the R4 remote console and there were a lot of things I wanted to do then, but didn't get the chance. The purpose of the remote console is to let administrators see what is happening on the server without being at the server. The new-and-improved Remote Console (which we like to call the "Remote Console on steriods") has a whole new paned interface that allows you to easily select any server to connect to. It has two panes that show you a list of users and tasks on the server. You can sort these lists by username and by tasks. You can also, with a click of the Refresh button, update both lists instantly! Post-R5, we will dynamically update these lists for you.

In the old Remote Console, you had to know all the commands that the server could accept as well as any arguments that each command might take. That is a lot of commands and arguments to remember! And, as we add functionality to the server, this list of things to remember only gets larger. What we did was add a UI for all the commands. If you want to kill a bunch of tasks, all you have to do is select them from the task window and go to the Tools pane and click Task - Stop. If you want to load a task, all you have to do is go to the Tools pane and click Task - Start, and the list of available tasks to load is brought up in a list box. When you select a task to load, if there are parameters to enter, a dialog box appears that shows you the available options through check boxes and edit controls. There are no task executable names and lengthy parameter lists to remember. This is the same when you issue a Tell command to a task. It is all done through the same mechanism.

What is even more exciting about this is that it is extendable by third parties. If someone wants to add their own task that they would like administrators to see in the task window, they can do this by adding a form document to the Domino Administrator template (domadmin.ntf).

If you are a hard-core administrator and you don't need any UI, well, you can have your wish too. With a click of a button, the user and task panes go away, and a console window appears that looks like you are sitting at the server itself. You can enter commands the old-fashioned way -- by typing them in.

There are many other things administrators can do, including configuring ports on the server remotely, but we don't have time to get into everything for this interview.

What are you working on next? What's the future for migration tools?

I am so focused on R5 right now that I haven't given much thought to what comes after. However, as I mentioned before, there are going to be more improvements to the Exchange migration tool, and we're also working on making all of the migration tools work with all localized versions of Notes and Domino. The internationalization will be a big push in 1999.


Mike Brown has been with Iris for almost 5 years. Between Lotus and Iris, he has been with the company 9 years, working on many different areas of Notes. He has spent the last year working on the Exchange-to-Notes migration tool and the new Remote Console. Prior to that, he worked on the POP3 and IMAP4 servers -- with a good deal of that time tackling the conversion from Notes-to-MIME and the MIME storage feature. Outside of work, Mike loves sports and is an avid tennis player. He also loves science fiction (X-Files!!!!).

Downloadable resources

Related topics


Sign in or register to add and subscribe to comments.

ArticleTitle=Mike Brown: Positive Migration