The product formerly known as Lotus Notes has been around a long time, and there are many customized business applications that have been built atop the Notes and Domino platform. Since ownership of the Lotus Notes platform transferred from IBM to HCL a couple of years back, there’s no doubt that HCL has invested significantly in the platform and made huge strides toward modernization. It’s now possible to run your elderly Notes applications on mobile devices, virtually unchanged, and with the release of Domino v12 in the first half of 2021, it will be possible to run them in a browser on a desktop or laptop also. Thereby eliminating the need for the slightly, err, portly Notes client.
Despite the massive forward progress that the platform has made recently, some organizations still find themselves grappling with a Notes migration project. Moving your email, of course, is the easy part, and many organizations have already moved their email from Lotus Notes to some other platform. Equally, some of the standard apps that ship with Notes, such as the discussion database, can easily be replace with off the shelf products. It’s the custom-built apps, that serve a very specific purpose and have been specifically tailored to the needs of a particular workgroup, that are the hardest to deal with.
In this post I've gathered some thoughts on what's involved in a Notes application migration project and why you should think about any tooling that you might need 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.
Sequence of Events
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 Lotus Notes and Domino application infrastructure have it because they have a lot of applications, and/or their applications are complex.
Conceptually, what needs to be done is pretty straightforward:
Identify and catalog all your Lotus 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 think are active, but actually 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.
For each application that you would consider migrating, get a sense of the relative cost and risk of rewriting it in another language or for another platform. The easiest way to do this is based on the complexity of the application.
Combine the data you've collected to consider the possible outcomes 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. archive it 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 or migrate to the Nomad Web 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 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 You Need Tools
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 all your applications is easy enough. Assessing usage patterns is not quite so simple. And, many 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 difficult without access to some 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 (nested/tabbed) 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 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:
Here's a good place 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 can scan your application designs and produce a complexity ranking as well as identifying applications that contain specific problems that are unique to Lotus 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.
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.
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 those strings exist in the code, Configurator will allow you to find and replace all occurrences. You may wish to address those issues before you even embark on the migration project.
Once you've triaged your potentially massive list of applications and decided what to do with each one, Export can help you archive your data. Export will create an XML archive of the entire database. 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. Once you have archived a database to XML, you have no further need for the Domino server or the Notes client. From the XML archive, Export can then create an HTML archive, and optionally output the Notes documents to PDF 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!