Lotus Notes to SharePoint Blog

Blog about Dell's Notes Migrator to SharePoint tool and other things related to Lotus Notes migration projects

Category Archives: PDF

Allowing PDF files to open in the browser

Does your SharePoint server force you to save PDF files to disk first, instead of opening them directly from your list or library?  If you are lucky enough to have access to SharePoint Central Administration, there is a simple way to fix this in your web application’s General Settings.


The details are discussed in this blog post by Bram Nuyts: http://bramnuyts.be/2011/11/03/allowing-pdf-files-to-open-in-the-browser/

Now if only Microsoft would change this setting on Office 365!  Without it, archiving your old Notes applications as PDF documents is a lot less satisfying.

Migration basics: Migrating to Document Libraries

From the perspective of a migration specialist, a library is very similar to a list. The main difference is that in a library, each “document” is an actual binary file with various data properties associated with it.

Therefore, migrating a Notes database to a SharePoint document library could be as simple as extracting binary file attachments out of each Notes document and placing them in the library.  This simplistic approach makes sense if the Notes application itself was designed to manage binary files—that is, if each Notes document is really just a wrapper around a binary file attachment.  Domino.Doc is an example of this type of application.  In the screen shot below Notes Migrator for SharePoint was used to extracted the attachments from each Notes document and placed them in a document library.  You can also extract various metadata items about each document and map them to SharePoint properties.


Be aware that several things can go wrong with this type of migration job. If there are no attachments in a particular Notes document (i.e., if it is just a normal rich text document), then nothing will be migrated to the library.  If there are multiple attachments in a particular Notes document, they may all be migrated to the library but they will no longer be one self-contained document.  In either case, you have probably misinterpreted the way the Notes application was used, and it should not have been migrated to a library in this manner. 

There are two answers to this dilemma.  The first possibility is to migrate the application to a list instead if a document library.  Even if it was called a “document library” in Notes, it may be more appropriate to map it to a custom list in SharePoint.

The second possibility is generate new documents (one for every Notes document) and check those into the document library.  Notes Migrator for SharePoint can convert Notes documents to a variety of file formats, including HTML, MIME, Word, PDF, and InfoPath.  These are the binary files that you check into user will open when they click on “the document”.   The three most popular choices for formatting Notes documents as binary files are discussed below.

Microsoft Word

Microsoft Word is a popular choice in environments that have standardized on Microsoft Office for document creation. The integration between Microsoft Office and SharePoint libraries is very good and can enable you to build a variety of powerful applications. 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. Office clients even support single sign-on with SharePoint and SharePoint Online Dedicated.

Office documents in SharePoint libraries are easy to search and you can even generate an instant SharePoint workspace to enable teams to collaborate on a particular document. Multiple users can open the same Word document and edit it at the same time, and users can see the changes being made by other users almost instantly.

When migrating Notes documents to the Microsoft Word format, you can migrate to simple unadorned Word documents or to custom Word templates. You can also migrate Notes data items to Word document properties or even to content controls in your custom template.

The following screen shot shows a Notes rich text document that was converted to a Word document on a custom letterhead template and checked into a SharePoint document library:


For more details on migrating to Word documents, see these posts.


PDF is another popular choice for migrating rich text Notes documents. Many organizations, especially in Europe, use PDFs to archive old content. Since PDF is now an open standard, the assumption is that there will always be a PDF reader such as Adobe Acrobat available in the future. 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.

When PDF documents are placed in a SharePoint library, the integration is not quite as tight as it is with Office applications, but the user experience is still reasonable. Even though PDF readers and editors are not generally “SharePoint aware,” the experience of opening PDF documents is similar to downloading them from any web site. PDF documents can work with SharePoint’s search features, but you need to install a free add-on from Adobe for SharePoint’s full-text search indexer to read the content.

A word of warning about migration tools: a number of tools advertise the ability to convert Notes documents to PDF documents, but deliver poor results. If you plan to use this feature, we strongly recommend that you test the tools with your user’s most complex documents. Watch for how nested tables, embedded images, links to attachments and doc links are handled.

The following figure shows a Notes rich text document that was converted to a PDF document and checked into a SharePoint document library:


PDF migrations are discussed in more detail here.

Document rendering

In some cases, simply converting the rich text bodies of your Notes documents to Word or PDF files is not good enough because it does not capture the rich form layout that Notes users are used to. Without the form layout, you really haven’t captured all the information.

This is where an advanced concept known as document rendering comes in. With this technique, the migration tool “renders” each document with its original Notes form to generate a new rich text document that includes the entire form layout you had in Notes. To visualize this, compare the generated PDF document in the following figure with the PDF example provided above:


In addition to the rich text body, we captured the information that was presented with the original Notes form. Most significantly, we did not have to redevelop the form in SharePoint to accomplish this, nor did we have to explicitly map all the data fields that are displayed in the form header.

We used PDF in this example, but the same concept of rendering documents with forms applies equally well to Word documents, InfoPath documents, pages and even lists.

The Render With Form feature is discussed more fully here.


People sometimes choose the InfoPath document format when they want to migrate complex Notes applications to SharePoint, usually for one of two reasons: either the applications have complex data structures that do not lend themselves to being stored in a SharePoint List, or the applications have complex form designs that contain dynamically hidden sections, input validation rules, buttons, form events, or other sophisticated form logic. Ways of addressing the second issue are discussed in the section “Migrating Application Designs” below, so for now, we will focus on the migration of Notes content to InfoPath documents.

InfoPath data documents (traditionally called “InfoPath forms”) are really XML files that you edit using the InfoPath client (part of Office) or perhaps in a browser if your SharePoint server is running InfoPath Form Services. You specify the layout and behavior of your InfoPath form (and associate it with your desired XML schema) by creating an InfoPath form template. Typically you would store your XML data documents in a special type of SharePoint library known as a form library. This library is associated with one or more form templates in such a way that end users get a fairly seamless experience of creating, viewing and editing complex documents right from the library.

When performing a Notes migration, your main job is to convert Notes documents to InfoPath XML data documents according to a particular XML schema and check them into a form library.  Notes Migrator for SharePoint makes this fairly straightforward.  All you need to do is load in an InfoPath form template and specify how you want various Notes data elements to map to the various parts of your new XML schema.  These elements might include not only simple data fields, but also rich text, embedded images and attachments, links to external attachments, and links to other documents.  As XML schemas are not necessarily one dimensional, you may need to map one-to-many data items as well (for example, a product description document might contain multiple distributor names).

The following screen shot shows a Notes rich text document that was converted to an InfoPath document (associated with a specific InfoPath form template) and checked into a SharePoint form library:


NOTE:  We did not specify how the InfoPath form template was created. It may have been created from scratch by your InfoPath developer or you may have migrated an existing Notes form using Notes Migrator for SharePoint.

For more details on InfoPath migrations, look here.

Details, details, details

Additional considerations for migrating to SharePoint libraries include:

  • Notes documents contain metadata such as Created By, Created Date, Last Modified By, and Last Modified Date. Many migration tools drop this metadata during migrations to SharePoint, resulting in a major loss of business data.
  • Most Notes databases contain access control lists, which determine what specific users can do in a particular application. In addition, individual documents contain access restrictions such as Readers lists and Authors lists. Access definitions may use groups in the Domino Directory as well as roles defined for the database. Preserving all this information correctly in SharePoint may be critical to a successful migration of sensitive data.
  • If your Notes application has a concept of document versioning, make sure your migration tool allows you to correctly map the versioning to SharePoint versioning. All versions of a given document in Notes should appear to be versions of the same document in SharePoint.
  • It is common to want to assign folders during a migration. You can dynamically generate folder names in SharePoint based on data extracted from Notes.
  • Instead of folders, you may want to use a powerful new SharePoint feature called Document Sets. This feature is discussed in more detail here
  • When generating documents in a document library, you may with to put images and attachments in a subfolder or even in a different library.  This technique is discussed here.
  • For complex applications with mixed content, may wish to assign Content Types to documents as you migrate them.
  • Getting Started with Migrating to Adobe Acrobat (PDF) documents

    Notes Migrator for SharePoint 6.0 now allows you to migrate Notes documents to Adobe Acrobat (PDF) documents.  This is similar to the tool’s current ability to migrate to Microsoft Word (DOCX) and MIME documents provides another great way to store rich text content in a way that it is easy for users to view, take offline, etc.  Customers see PDF as a particularly good format for archiving content as they see it as a standard that is likely to be around for many, many years. 

    NOTE: To answer a “Frequently Asked Question” up front, Yes PDF documents work with SharePoint’s search features.  You need to install an add-on from Adobe so SharePoint’s full-text search indexer can find it.

    NOTE:  We expect that many customers will be using PDF format in conjunction with the new “Render with Form” function we introduced in Notes Migrator for SharePoint 5.3.3.

    To generate PDF documents while migrating, simply edit your target data definition and add a column of type “PDF Document”.  As with any other migration job, you may want to add additional fields for migrating attachments and embedded objects separately from the main documents, creating folders to put your documents in, or assigning other metadata properties that are maintained by SharePoint.


    You can also set various parameters for the PDF pages you will be generating including page size, orientation, and margins.


    If you prefer, you can simply load a predefined target data definition.  The list of default data definitions that pops up when you select a SharePoint document library now includes “PDF Documents”.


    Back on the Map Data tab of your migration job, you will see that the PDF field that you defined has several fields that you can map Notes data to. 

    • FileName – (Required) Whatever data to map to becomes the file name for your PDF documents.  It would be common to map Subject, Title, Document ID, or Full Name to this field.  The tool will add “.pdf” to the end of the file name for you.
    • Body – (Required) This is the rich text content that makes of the visible part of the document.  It would be common to map BodyHtml to this field, but you can also map plain text columns as well.  You can even map multiple Notes columns to this field and they will be concatenated.
    • Title, Subject, Keywords, Author, Created, Modified – These optional metadata fields are sored as properties inside the PDF documents.  Note that in addition to these PDF fields, you can also map data to SharePoint properties that are stored by the SharePoint document libraries.  Unlike properties in Word documents, properties in PDF documents do not automatically sync with SharePoint so you may want to map to both. 


    When you run your job, you should get a SharePoint document library filled with PDF documents!



    NOTE: This feature is at the “pretty darn good” stage but there are still parts we are working on in subsequent releases.  For example, we do not map attachments inside the document (but if you map them as separate files into your document library or document set, we keep them linked).  We are also not completely satisfied with how we handle fixed-sized tables and images that run off the page if we use the assigned sizes (we currently opt for avoiding data loss over preserving the Notes layout) and we are also looking into various auto-sizing options.  Your feedback (and examples) are very welcome.

    Introducing the Notes Migrator for SharePoint 6.0 beta program

    Here we are with Notes Migrator for SharePoint 5.3.3  just out the door and we are already talking about the 6.0 beta!  For a variety of reasons, we were working on both releases in parallel for several months now.  The release is far from done, but the beta already includes some very cool stuff:

    • Support for InfoPath List Forms (SharePoint 2010)
    • Support for Document Sets (SharePoint 2010)
    • Adobe Acrobat (PDF) document generation
    • Option to migrate via native SharePoint 2010 web services
    • Ability to authenticate with servers running Claims Based Authentication
    • Office 365  / BPOS-S support (utilizing the above 2 features)
    • Lightweight Migration Services (for even better BPOS-D support)
    • Migrate to SQL Server databases
    • New Designer menus (including MRU lists)

    This time, the beta will be managed on the new SharePoint for All community site.  If you would like to participate in the beta program, go to http://communities.quest.com/groups/notes-migration-product-beta-group.  Sign in with your Quest Community ID, or register to create a new one.  Then press the “Ask To Join This Group” button.


    One of the site owners will review your request and will typically approve it the same day.  You will receive a notification and then get full access to technical content and (of course) the beta build itself.

    Quest Support will not be able to help you with this version until it releases, so please use the group’s Discussion area for any questions, problems or suggestions.

    Render with Form

    With Notes Migrator for SharePoint 5.3.3, it is now possible to “Render” a Notes document with its original Notes form. 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.

    Here is an example that will hopefully make things clear. Consider a standard document library in Notes. As shown below, a document in this library consists of many data fields and the form used to display such a document shows it all in a nice layout.


    The most obvious choice would be to pull out fields you wanted and map them to similar fields in a custom list, a wiki page, a Word document or some other type of SharePoint document. The example below shows mapping just the Subject, Category and rich text Body field to SharePoint (along with the created/modified metadata).


    If I also wanted to grab the Originator and Reviewers data I could have done a little more work to get these as well. If my Notes database had many different forms for displaying different types of documents, I would have to start thinking about how to handle them. Perhaps I would start using Content Types or split the data into multiple lists. If I wanted to keep the “look and feel” of the original form layout that we had in Notes, I could start customizing my form in SharePoint Designer or InfoPath. All of this is certainly possible, and Notes Migrator for SharePoint contains many advanced features for making all this as easy as possible, but sometimes it is hard to justify the effort. We especially see this with old, out-of-date applications. Sometimes our customers don’t care about rebuilding a working application in SharePoint, they just want to archive the data in a user-friendly format.

    Our “Render” feature is intended to solve this problem. Here is an example of the above document rendered with its original Notes form and saved as a single rich text field. We did not have to figure out what the various fields in the application did; we simply captured the way it used to look in Notes and put it in the Body field.


    Notes Migrator for SharePoint 5.3.3 contains several new features for rendering Notes documents.  If you want to skip the boring details of defining a source data definition for rendering the documents in your application, you can start by loading in the prebuilt “Render.pmsrc” data definition included with the product.  Or you can customize your own data definitions as described below.

    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 by 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.


    Note that there are limitations with form rendering.  As a general rule subforms, computed subforms, hide-when formulas, and computed text all work fairly well. However, some complex structures (for example hide-when formulas inside the subforms) will not always resolve correctly.  In some cases it may be necessary to develop a simplified form to use while rendering documents. You can override the default form in the source data definition columns.