Tooling Up for an IBM Lotus Notes/Domino Application Migration

By Nigel Cheshire

OK, I'm just going to say it. Many of our customers are in the process of moving away from the IBM/Lotus Notes/Domino platform. For most of those customers, that means migrating email first, and many of those migrations are already complete.

But what about the apps? In this post I've gathered some thoughts on what's involved in a Notes application migration and why you might want to consider "tooling up" before you embark on an application migration project. Full disclosure: of course I'll be talking about Teamstudio tools, but the principles hold true no matter your tools vendor of choice. Also, I promise not to bring up any specific tools until the very end of the article!

Sequence of Events

So the generally accepted sequence of events for a migration away from Notes/Domino is email first, then applications. There is a reason for this. Migrating a set of applications can be a daunting prospect. If you only ever used Notes for a couple of Teamrooms and a handful of discussion databases, then it's straightforward, and those people are probably already on Sharepoint or some other platform. But most organizations that still have a Notes/Domino application infrastructure have it because they have a lot of applications, and/or their applications are complex.

Most people in this situation have a pretty good idea of what needs to be done. Conceptually, it's pretty straightforward:

  • Identify and catalog all your Notes/Domino applications.
  • Find out who is using them, and how much they are being used. (You may be surprised to find how many applications you have that haven't been touched for years, or the reverse.)
  • Build a picture of the importance of each application to the organization, i.e. its business value.
  • Get a sense of how complex the application is, with a view to estimating the relative cost and risk of rewriting it in another language or for another platform.
  • Combine the data you've collected to consider the possible options for each application:
    • Rewrite/reimplement the application on your platform of choice;
    • Switch to an off-the-shelf application that serves the same purpose;
    • Retire the application, i.e. back it up and delete it (this is for those applications that no-one's touched in years);
    • Leave it alone, i.e. for highly valuable, highly complex applications used by a small number of people, it might make sense to keep the Notes client for those users;
    • Archive the application, i.e. save the data in some format that allows read-only access at zero or low cost.

It might be appropriate to combine that last option, archive, with one or more of the others. For example, let's say you have a CRM system implemented in Notes and you're switching to, say, Salesforce. Salesforce charges (a lot, imho!) based on data usage, so you might want to take the opportunity to slim down the data as you move it from Notes into Salesforce. But you probably want to keep an archive of the full data set just in case you (or your users) need to go back and look at something that didn't make the transition. It would be great to have a read-only archive of the full database without having to keep a Notes/Domino infrastructure active just for that purpose.

Why Tooling?

So the steps needed to migrate your applications are understood and relatively straightforward. However, what makes this a daunting prospect for many people is that there is potentially a massive amount of data that you need to process, depending on how many applications you've got. There are other things that complicate matters, too.

Identifying your applications is easy enough. Assessing usage patterns is not quite so simple. And, many IBM/Lotus Notes/Domino installations have been in place for many years; decades in some cases. That can make it hard to tell the applications that are used all the time from the ones that haven't been used for years. Sorting through the Domino server logs can be quite tedious, and in many cases will only contain a few days' worth of data. Typically, you'd want to consider at least a month's worth of usage data to be able to draw any meaningful conclusions. For example, you may have an application that forms a vital part of the accounting group's end-of-month procedures which is used intensively for a couple of days a month only.

Making decisions about what to do with each application can also be tricky without access to some pretty detailed information about that application. For example, getting a sense of how complex the application design is will give you a broad idea of how much cost and effort would be involved in recreating the application on a different platform. But it's also helpful to dig deeper and look for specific issues that cause problems when migrating Notes/Domino applications. For example:

  • Complex tables on Notes forms can be hard to reproduce in other environments;
  • Stored forms is an "unusual" feature that's specific to Notes. If your database contains old documents that can only be viewed using their associated stored form, you could get unexpected results once the application is reimplemented on a new platform;
  • Notes/Domino security is uniquely configurable, which is also hard to reproduce on other platforms. Readers/authors fields allow security settings that restrict who can edit or read documents based on user names, server names, group names or roles;
  • Hard coded strings, such as server names, need to be identified and, if possible, eliminated.

So, it's the combination of the high volume of applications, the difficulty of gathering data, and the potentially vast quantity of data to be processed that suggests (to me, at least) that some tooling would be useful here.

The Right Tool for the Job

Let's get specific. As I said at the beginning of this piece, I'm biased, but I think that Teamstudio has the best combination of tools to help with a migration project. Let me explain:

  • Teamstudio Adviser
    • Here's where to start. Adviser will scan your Domino servers to build a comprehensive catalog of your applications. It will collect usage data over an extended period of time and present it in a way that makes it easy to zoom in on usage hotspots and deserts. Optionally, Adviser will scan your application designs and produce a complexity ranking as well as identifying applications that contain specific problems that are unique to Notes and will be hard to reproduce in other environments. As a cherry on top, Adviser will even combine all of the data it collects to make a recommendation for what to do with each application.
  • Teamstudio Analyzer
    • Analyzer helps you dig into the detail of what Adviser is telling you. For example, one of the common problems that Adviser will identify for you is that an application contains an unusually high number of forms. (An unidentified customer reported finding an application with more than 150 forms in it!) Open up the Analyzer report and you can easily see what those forms are and get a sense of what their purpose is.
  • Teamstudio Configurator
    • Another typical problem that Adviser might find in an application is the presence of hard coded strings such as server names in DBLookups. While Adviser will tell you which application contains the offending strings, and Analyzer can tell you where said strings exist in the code, Configurator will allow you to find and replace all occurrences. Oftentimes, people prefer to address those issues before they even embark on the migration project.
  • Teamstudio Export
    • Once you've triaged your massive list of applications and decided what to do with each one, Export can help you archive your data. Export will create two types of archive: an XML archive and an HTML archive. The XML archive contains pretty much everything in the original Notes database: design, documents, rich text, views, attachments, etc in an open, text based file format. It can be explored with standard XML readers or used as the basis for an import into any other database format. The HTML archive is a user-friendly, read-only representation that can be explored and searched by a user using only a browser. 

Whether you choose to use Teamstudio tools or not, some tooling will definitely help with the process of identifying applications, gathering data and triaging and then archiving them. While the migration process may seem daunting, the right tools can make a huge task much more manageable.

To discuss your migration project and how Teamstudio tools may be able to help, click below. We're always happy to talk!