Lotus Notes to SharePoint Migration Using QUEST

In this article I am explaining how to migrate content from Lotus Notes to SharePoint using the Quest Tool.

Migration

Migrating your Lotus Notes applications to Microsoft SharePoint 2010/2013 is a two-step process.

  • First, you must move the application content.
  • Second, work to migrate over the application design.

You should begin your migration in one of these ways as well for several reasons, including:

  • The correct content migration is regularly considered the most business-critical aspect of the migration process. You can always tweak the design of an application later, but if you fail to preserve the legacy content with adequate dependability and completeness, your users may be very unhappy.
  • In some cases there is no need for design migration. You simply migrate the old content into one of the new SharePoint sites or list templates.
  • In some cases you will want to take the time to rethink the application design to take advantage of all the great new features of SharePoint and SharePoint Online.

Migration Process

Any Lotus Notes application has the following three major parts to it:

  • User Interfaces Pages or Forms: Lotus Notes Forms, Pages, Navigators and so on.
  • Application Logic: Lotus Notes Scripts/Formulas in Action buttons, Agents and so on.
  • Data: Lotus Notes Documents

Using the preceding architecture of Lotus Notes and the APIs it provides, you can only migrate as in the following:

  • If the application can be mapped to a List Template in SharePoint, you get all the user interface elements and features out-of-the-box from SharePoint. Even if some list/library customization is required in SharePoint, the effort is small.
  • If the application needs a custom InfoPath form, ASP.NET form, Web Part(s), Event Receiver, Timer Job or Designer workflows then those elements need to be custom developed and the effort might be substantial.
  • So, the migration process and effort depends on whether a Lotus Notes application can be mapped to some out-of-the-box or custom template in SharePoint or not.

Lotus Notes artifacts can be re-written to SharePoint equivalent items as in the following:

  • Lotus Notes DB = SharePoint Lists
  • Lotus Notes Views = SharePoint List View
  • Forms = SharePoint List Forms / InfoPath Forms
  • Library = SharePoint Document Library
  • Pages = Wiki Pages/PDF
  • Lotus Notes Scripts/Agents = C# code-behind
  • For data migration, there are many third-party tools available to read it from Lotus Notes DB to SharePoint lists.
  • The most commonly used and efficiently used one is Quest. Before doing the data migration, the source data in Lotus Notes DB should be cleansed thoroughly and ensure data consistency to match the target SharePoint list schema, since Lotus Notes DB manages data in a well-defined schema.

Demonstration of LN2SP Migration

The following example shows that the following Notes elements can be successfully migrated into SharePoint:

  • Document items and display column values
  • Attachments
  • Embedded images
  • Embedded OLE objects
  • Rich Text
  • DocLinks
  • Multi-valued items
  • Dynamically computed values
  • Lookup Values
  • People Picker
  • Date/Time Formula

About Quest

  • Quest Notes Migrator for SharePoint (NMSP) can be used easily. You just need to define fields that will be used from Lotus Notes, those from the SharePoint site (local or remote as we can use Web Service connection), map Lotus Notes fields with SharePoint fields and that's all.
  • Quest Notes Migrator for SharePoint is able to preserve data like creation date or security settings (it preserves the equivalent of authors and readers fields and Lotus Notes roles).
  • You are able to create a SharePoint list based on Lotus Notes fields with this tool. Furthermore, you can also easily modify data during migration using formulas (with Formula language) on fields, or map Lotus Notes users to SharePoint users easily
  • Quest Notes Migrator for SharePoint is in fact a pack of tools: NMSP Designer, NMSP Console and NMSP Web Service. Jobs creation is done with the Designer.
  • The console is used to analyze and have an overview of applications in Lotus Notes but also to manage, organize and schedule jobs execution.
  • Each tool can be installed without installing the complete pack. The installation of these components using the wizard is quite simple and some steps are really useful.
  • The Web Service is used when it is not possible to use the NMSP Designer on the SharePoint server.

Quest Technique

  • The Quest LN to SharePoint Migrator includes a powerful facility for reading a local Notes db.
  • And remote the Domino db.
  • This software's data query engine extracts document items, view column values, attachments, embedded images, embedded OLE objects, Rich Text, Doc Links, multivalued items, unread marks and dynamically computed field's values from Lotus Notes and writes the results to SharePoint Lists.
  • Notes Migrator for SharePoint products supports all standard List Types (such as Document Library, Discussion and Events) as well as Rich Text and attachments.

Ways to Migrate Notes to SharePoint

When migrating from Lotus Notes to SharePoint there are many possible paths you can take. It's important that you get this process right, since any errors in the migration can be highly disruptive and costly to your business.

The following ways we need to follow:

  1. Lists Migration

    Lists are similar to tables in a relational database. A list is a flat collection of data records (called items in SharePoint) with a fixed set of data fields (called columns). Each data column has a fixed name and type.

    Lists can have one or more binary attachments and may have one or more views that allow users to select and sort the items in various ways.

    These include discussion databases, task lists, calendars, contact lists and more. Whereas the interfaces are known to differ slightly, the basic functionality remains much the same.

  2. Document Libraries Migration

    Libraries have much in common with lists, but there are a couple of notable points of variation. For example, in libraries, documents are binary files with certain associated data properties. With this in mind, binary file attachments must be extracted and placed in the library during a Notes database migration.

  3. Pages Migration

    SharePoint actually allows you to create several types of content pages, including basic pages, wiki pages, web part pages and publishing pages.

    These page types provide a slightly different editing experience for content authors and a slightly different viewing experience for end users.

      - HTML pages
      - Basic pages
      - Wiki pages
      - Web part pages
      - Publishing pages

  4. Microsoft Word Conversion

    The integration between Microsoft Office and SharePoint libraries is very good and can enable you to build a variety of powerful applications and users can open documents from libraries, edit them and seamlessly save them back again.

    If a version control, check-in/check-out, or approval process or workflow has been enabled for the library, it will all work automatically.

    When migrating Notes documents to the Microsoft Word format, you should be able to migrate to simple unadorned documents or to custom Word templates. You should also be able migrate Notes data items to Word document properties.

  5. PDF Conversion

    PDF is another popular choice for migrating Rich Text Notes documents. Businesses that have a particularly high amount of Notes databases with Rich Text documents often discover that a PDF is the perfect migration format.

    While not as closely integrated with SharePoint as Microsoft Office, the experience for the user still isn't a bad one.

    An organization that has a large number of Notes databases with Rich Text documents may find that PDF is an ideal target format for many of them.

How to Migrate the Application Using Quest

List Migration

Lotus Notes forms are migrated to SharePoint List using the Quest tool and the following is the procedure.

Step 1

Select the Lotus Notes Database from server or Local Computer.



Step 2

After clicking the Select Tab, the following popup window will open and here you can select the Notes DB based on the location, if it is in the Local Machine then expand the local section or if it is in server select the server section, or select the button and enter the server path.

Step 3



Step 4

Source Data Definition.



In this source data definition section, the user can select the Notes data record selection based on:

  • Form, View/Folder.
  • Records selecting based on Full text search
  • Formula language (this section is especially used to migrate the specific Notes record so the user can use this formula type)

DATA Fields Tab

The data fields tab is very important for migration, here only the user should decide the Notes (source) fields to migrate to SharePoint (the target).

And in this section the user can select the Notes fields from the sample items or database items using the data query option.

The user needs a new column to add the new Notes column here. And the user can change the column type in this section.

After the record selection preview tab is there, here you can check the selected field's value.

The Preview tab can filter the view and can view the records in the Rich Text and plain text mode.



We have different important sections available:

  • Column type: in this section we can decide the column type like, item, Rich Text, number, embedded object, attachment, render and so on.
  • Option type: in this section Alias name, option and main type Return type here can change the return type like string, date, Binary, HTML string, User

Preview tab



SharePoint Target selection

Under the SharePoint tab, the Site URL select button is available and the user can select the previous URL to determine which one to use or can enter the SharePoint URL and list name.



Target data migration

Under the target data migration section click the create button below the tab sections where it is available.

  • List Definition
  • Data Fields
  • Advanced



List Definition: Under the List Definition section List Template is available; here you can change the list type to one of the following:

  • Other List
  • Calendar
  • Documents
  • Discussion Board
  • And Content type migration



Target Data Fields

Here the user should decide the SharePoint field names, we have the following three methods to create SharePoint fields:

  • Load From SharePoint List: in some cases the application is already created in SharePoint and the fields are avaible in SharePoint so the user can use those fields to map here, if you click the load from SharePoint list available fields create in the left section
  • Load from source fields: in some cases if you want to reuse the Notes field's the user clicks the button for the source fields that are will populate here.
  • Add: in some cases the user wants to create a new field in SharePoint that can use this.

And if created or load the target fields in the left section, the user can change the field behavior as specified here.

  • Target Type
  • Mandatory Fields
  • Lookup
  • Default value mention
  • Add to views
  • Auto map section



Advanced Tab



MAP Data

This section is the main for migration, here we need to map the Lotus Notes fields to SharePoint. In other words:



Here, the auto map button is available and this section will do the mapping from Notes to SharePoint.

If the user is not satisfied by the auto-map concept then they can do the mapping manually, for that purpose the add button is available and the fields can be mapped according to the user's expectation.

Advanced



The Advanced tab consists of the following sections:

  • user mapping
  • security mapping
  • Doc Links

User Mapping

User mapping is a very important chapter when migrating Lotus Notes applications to SharePoint.

Before you can configure the User Mapping in NMSP, you need to generate a user Mapping file. You can choose to generate the user Mapping file manually or use the new NMSP UserMappingUtility.

How to configure User Mapping

To configure the User / Group Mapping in Quest, start the Quest tool and open the "Advanced Configuration Options" and go to the Tab "User Mapping".



Threat input as login name

  • This option will use the Notes Username and use it as login name for SharePoint Domino Directory lookup
  • The Notes Migrator will look up the User / Group Name in the Domino Directory and pass the lookup value as login credentials to SharePoint

Notes Database lookup

  • The Notes Migrator will lookup User / Group values in a Notes database (like "Names.nsf") and pass the lookup value as login credentials to SharePoint

ADSI/LDAP lookup

  • The Notes Migrator will run an ADSI/LDAP query against your LDAP directory. You can specify which values should be looked up in your LDAP directory and where.

Text File lookup

  • Notes Migrator will lookup User / Group information based on a text file. The text file includes a mapping of the Lotus Notes user / group with the corresponding SharePoint value.

Configure User/Group Mapping in Quest

The "Text File" option is easy to configure and easy to use. Select XML as the format for the mapping file.



To configure the Group mapping function, you need to go to the "Group Mapping" tab in the Quest tool and do the same configuration as for the User Mapping.



Test User / Group Mapping

You can test if the User/Group mapping is working by clicking on the Link "Test User Mapping" / "Test Group Mapping" as shown in the screenshots above.

We will focus on testing of User Mapping in this scenario.



After clicking on the "Test User Mapping" link, a new window will open where you can enter a Lotus Notes Username for testing.

By clicking on "Lookup", Quest will look up the name "" in the User Mapping XML file and display the lookup result.

Validate User / Group Name in SharePoint

You can validate the User / Group name in SharePoint by clicking on "Validate in SharePoint".

A new window will open and you can select some settings for the validation in SharePoint.

You can choose the SharePoint environment / site where you want to validate the User / Group name.



By clicking on "Test", the User / Group name will be passed to the SharePoint site. SharePoint will look up the User details by using the "After Lookup Value".

  • Login
  • Display name
  • Department
  • Title
  • Email
  • Type (User / Group)

Once the user has completed all the preceding steps the next one is to run the migration job,

Link Tracking

Link Tracking can be turned on and configured from this tab. If this is turned on, the document link tracking will be done by the Quest tool during a migration.



To enable client-side document link tracking, select the Enable the Quest Link Tracking Service checkbox.

The following Link Tracking Settings are available in Quest:

  • Database Server: The SQL Server instance that contains the Link Tracking database. Leave this value blank to use the default instance for the server.
  • Database Name: The SQL Server name for the Link Tracking database.
  • Authentication: The credentials that the client should use when accessing the Link Tracking database. This can be you Windows account, a different user's Windows account, or your SQL Server login.
  • Test Connection: Click on this button to verify your settings.
  • Use default Redirector URL: Link Tracking for SharePoint migrations will use the default redirector page.
  • User Defined Redirection URL: This option allows you to define your own user-defined redirection URLs if you want the redirection to be handled in some other way.

Be sure to use the same values for the Link Tracking database since those that were entered for Link Tracking in the NMSP Services configuration page. These values were initially set by the Notes Migrator for SharePoint Services installer but may have been overridden in the Services configuration page.



Migration Job Log files

The General tab of the Event Log window displays basic migration job information. To display more information, click the arrows on the upper right side of the tab. Click the arrows again to close this detail.



To export the log to an XML file, click Export Log.

To open the target SharePoint list, click Go to List.

The Log Summary tab of the Event Log window displays the processed records of the migration job.

Word Document Migration

Migrate Notes Rich Text to new (blank) Word document

The user wants to map the Rich Text portion of their Lotus Notes documents (typically the "Body" field) to Word 2007/2010/2013 documents (DOCX files) created from scratch.

The reliability of the migrated content is very high and includes tables, fonts, bullets, images, doc links and much more.

The user may want to migrate specific Notes data items to Standard Document Properties such as Author, Category or Description within the generated Word documents.

As these documents are generated, they will be checked into the designated SharePoint library.

A large number of existing Notes Migrator for SharePoint features apply here, including the ability to set created/modified metadata, document permissions, target folders, content types, workflow state, version history, data transformations and more.

At last the user may want to migrate specific Notes data items to specific metadata columns in the Document Library.

When designing Target Data Definitions in NMSP, you can add target columns of type Word Document. You must also specify a column Name (that is used in the field mapping process).

Note that your Target Data Definition may well contain additional target fields that are not part of the generated Word Document.

You may also want to specify Folder names as well as the alternate locations for embedded attachments and OLE objects that should be migrated separately to SharePoint.



After completion of Target Data Definition, the various parts of the Word Document field you defined will be available on the Mapping tab.

Note that a special "Field.Part" notation is used here. In the example above we called the Word Document field "Doc" so the mappable parts are called "Doc.Body", "Doc.Title", "Doc.Status" and so on.

There is also a special field called "Doc.FileName" that allows you to set the names of the generated Word files from dynamic Notes data.



PDF Migration

PDF is another popular choice for migrating Rich Text Notes documents and it's the same for Word document migration.

In the target data definition select PDF instead of Word.



Document Rendering

Rendering basically means taking a snapshot of the way a document is supposed to appear in the Notes client and putting the entire thing into a single Rich Text field.

This includes all the visual elements on the form, including form layout, field labels, graphics and even “computed for display” fields.

This can be a nice alternative to migrating all the individual data elements of a complex Notes application, especially in cases where you just want to archive the content from old applications and do not want to invest effort into migrating the application's functionality.

Notes sample document:



SharePoint migrated render sample:



First of all, there is a Render target column type that you can use in your Source Data Definitions.

In most cases you will want to set the Option to HTML for mapping to SharePoint. Specifying a Form to render with is optional. If you don't specify one, each document will be rendered with its default form (using the “FORM” item in each individual Notes document).



Images, objects and attachments from the form may be included in your migration job using the “Scope” properties in those source data definition columns. Again you can specify an optional FormName property. This should match the FormName you specified with the Render columns (above).



On the mapping tab, you can map the Render column and attachment/image/object columns described above to any in a SharePoint list or page in SharePoint, just like you would have done with a Rich Text Body field.



ACL Migration

The Notes Migrator for SharePoint's security mapping options will map various access control properties of the source Notes database. An extensive set of options are available for mapping various access control properties of the Source Notes database and individual Notes documents to the equivalent security constructs in SharePoint.



Target Site: Enter the URL of the SharePoint site you intend to migrate to. This target site will override the site that may be specified in the individual migration jobs.

By clicking the Select button, the site sector window opens. The site selector shows existing and planned SharePoint sites and sub sites in a tree. The planned sites are indicated using a Green plus sign icon.



To be sure this is the site you want to target, you can open the site by selecting the site on the tree and selecting the Go To button.

To indicate new sites that you plan to provision in the future, select the parent site in the tree and then select the New Sub-Site button. This will bring up the Site Creation Options window.

ACL Entry Mapping and SharePoint Group Provisioning

The Notes Migrator for SharePoint's security mapping options will map various access control properties of the source Notes database.

To enable security mapping at the Site level, check one or more of the four available Security Mapping checkboxes of your Job Definition.

The Map Notes Users to Domain Users option will cause any Notes users listed in the source database's Access Control List to be added to the target SharePoint list or library. The Notes user names are mapped to Site Collection identities based on the rules configured in the tools user mapping options and those Users are granted access to the target SharePoint site.

The Map Notes Groups to Domain Groups option will cause any Notes groups listed in the source database's Access Control List to be added to the target SharePoint site. The Notes group names are added to the Site Collection as external groups and are granted access to the target SharePoint list or library. Each group name must correspond to an actual Domain group.

The Expand Notes Roles to SharePoint Groups option causes a new SharePoint Site Collection Group to be created for each Role defined in the Notes database ACL.

The Expand Notes Groups to SharePoint Groups option allows you to take what was once a Domino Directory group (scoped to the entire Notes Domain) and convert it to a SharePoint group (scoped to just one Site Collection).

As part of this conversion, the tool will query the Domino Directory for any groups listed in the ACL, extract all its members (expanding any sub-groups as needed), and add those members to the new SharePoint group.

To fine-tune your mapping options, click on the Advanced Security Settings link. This opens the Advanced Security Settings dialog.

Advanced Security Settings

The Advanced Security Settings dialog allows you to control precisely which security constructs are mapped from Notes.



Advanced Options Tab

For ACL Entry mapping, there are two modes of mapping to choose from. The default mode is to set explicit SharePoint permissions directly on site members. When "Add to existing SharePoint groups" is selected, NMSP will provision security by adding people to one of the predefined SharePoint groups rather than setting permission on the site members.

If the “Set explicit SharePoint permissions” option is selected, the settings on the Permission Mapping tab (as opposed to the Group Assignment tab) apply.

If the "Add to existing SharePoint groups" option is selected, the settings on the the Group Assignment tab (as opposed to the Permission Mapping tab) apply.

The Provision SharePoint Groups section is only active if the Expand Notes Roles to SharePoint Groups or Expand Notes Groups to SharePoint Groups options have been selected in the Migration Targets tab.

Group name mappings: To override the new SharePoint group names, click the Group name mappings button. This will open the Security Group Mapping dialog.



From here, you can map Notes Roles or Groups to new or existing SharePoint groups. You can use * to wildcard the Notes names. By mapping a Notes role or group to an existing SharePoint Group, you are effectively saying “add the members to that group”.

Otherwise, a new SharePoint Group with the desired name will be created. If we are mapping to a SharePoint group that is not in this mapping table, we will create a new SharePoint Group with the old Notes role or group name.



When the mappings have been saved, the button label in the Advanced Options tab will indicate the number of mappings that have been defined.

Prepend new group names with: As described above, the Expand Notes Roles/Groups to SharePoint Groups options causes a new SharePoint Site Collection Group to be created for each Role or Group defined in the Notes database ACL. To avoid possible collisions with existing SharePoint Group names, you can enter a Prefix that will be automatically pre appended to each group name.

Note: All of the security options described here have the possible side effect that SharePoint permission inheritance links may be broken. This means that future changes to site level permissions would not "trickle down" to the list or library and future changes to list or library level permissions would not "trickle down" to all the individual documents.

The Provision Document Level Security section is only applicable to job specific security settings. This dialog is inactive if opened from the Migration Targets tab of the Database Properties sheet.

Permission Mapping Tab

If either the Map Notes Users to Domain Users or Map Notes Groups to Domain Groups options are checked in the Migration Targets tab, the Permission Mapping options will determine how the Notes database access levels (and related flags) are translated into SharePoint permission levels.

The Map ACL Levels to SharePoint Permissions section allows you to assign a SharePoint permission level to each of the possible Notes access levels (Manager, Designer, Editor, Author and Reader).

Similarly, the ACL Flag Mapping section allows you to assign a SharePoint permission level to certain access flags (Can Create, Can Delete) in each Notes ACL entry.

Whereas the default mappings provided by Notes Migrator for SharePoint are good choices in most cases, there is not a one-to-one mapping between Notes access levels and SharePoint permission levels so you may need to adjust the mappings as appropriate to your application.

If your SharePoint site defines custom permission levels, you can uncheck the Only allow standard permission levels option and select the custom permission levels that are available in your site.

The SharePoint permission level that is selected in the Advanced Security Mapping dialog must match the name of a permission level on the target SharePoint site.

This is true even for the standard SharePoint permission levels such as "Full Control". In order for the ACL Level mapping to succeed, there must be a SharePoint permission level on the target site named "Full Control".

This can present a problem when trying to map ACL Levels to a SharePoint site that is not using English. For example, in a French SharePoint site, the name of the "Full Control" permission level is "Control total".

Unchecking the only allow standard permission levels option will also retrieve the names of the permission levels from the target SharePoint site.

In this case, however, the selections will not be restricted to "Full Control", "Design", and so on. The names will be in the language of the target SharePoint site.

When this checkbox is unchecked, the text in the combo boxes can be edited. This allows you to fill in permission levels in case you cannot access the SharePoint site.

Checking the only allow standard permission levels option again will restore the standard permission level selections to the combo boxes and they will no longer be editable. If you had entered a non-standard name in the combo box, it will be replaced with the appropriate default for that combo box.

Clicking on the Load from SharePoint Site/Refresh link in the dialog retrieves the names of the permission levels from the target SharePoint site thus bringing in the appropriate permission level name.

When this window is first opened, a target SharePoint site has not been specified, so NMSP won't know where to retrieve the permission level values from.

The Refresh link will initially be replaced with a Load from SharePoint site link. Clicking on this link will bring up a site picker that will allow you to choose a SharePoint site from which to load the permission level values. Once you have loaded the permission levels from a site, the link will change to Refresh.

Group Assignment Tab



The combo boxes will let you select from existing Site groups or the abstract {Owners} {Members} or {Visitors} groups.

You can also just type in a new group name. New mappings are similar to the existing ACL Level to SharePoint permission mappings on the Permission Mapping tab.

Clicking on the Load from SharePoint Site/Refresh link in the dialog retrieves the names of the groups from the target SharePoint site. When this window is first opened, a target SharePoint site has not been specified, so NMSP won't know where to retrieve the group names from.

The Refresh link will initially be replaced with a Load from SharePoint site link. Clicking on this link will bring up a site picker that will allow you to choose a SharePoint site from which to load the group names. Once you have loaded the group names from a site, the link will change to refresh.

If you have the Only allow standard SharePoint Groups option checked, then only the {Owners} {Members} or {Visitors} groups are available and the combo boxes are not editable.

Unchecking the Only allow standard SharePoint Groups option will retrieve the names of the groups from the target SharePoint site. The names will be in the language of the target SharePoint site.

When this checkbox is unchecked, the text in the combo boxes can be edited. This allows you to fill in the group names in case you cannot access the SharePoint site.

Conclusion

In this chapter you have learned about the data migration using the Quest tool. I also explained about the PDF, Word and render migration.

I have learned from Quest Dell Software DELL

ACL migration images and content are gathered from CodeProject so that everyone can understand easily.

Thanks for learning and thank for Dell and CodeProject.