Part 1 of this article [link] describes how SharePoint Content Types might be useful when migrating multiple Notes “document types” to a single SharePoint List, Document Library, or InfoPath Forms Library. Now we will take a look at how this can be accomplished using our tool, Notes Migrator for SharePoint.
First a recap of the Content Type features in the Notes Migrator for SharePoint documentation:
- To assign the Content Type of a SharePoint item, simply add a Text field named “ContentType” and map the appropriate input data to it.
- The ContentTypes property in a Source DataDefinition field indicates that the data field should only be migrated SharePoint for certain Content Types. Leave this property blank to always write the field, regardless of content type.
The following example walks through the steps needed to create a SharePoint list using Content Types and then migrate Notes content to it:
Our example Notes database is a fairly typical Notes document library except that it has three types of documents in it: Tech Notes, Code Samples, and FAQ Documents. The “document type” is really controlled via a DocType field (not separate forms as described in Part 1). All documents contain standard fields such as “Subject”, “Category”, and “Product”. Code Sample documents contain an extra “Language” field and FAQ Documents contain “FAQ Type” fields.
On our SharePoint site we created a corresponding List with three content types similar to the ones we had in Notes:
- Content type “Tech Note” has columns “Title”, “Product”, “Details”, “Url” (a “link” field).
- Content type “Sample” inherits from “Tech Note” and adds column “Language” (a choice field).
- Content type “FAQ” inherits from “Tech Note” and adds column “FAQType” (a choice field).
Note: I intentionally designed the Notes “FAQType” field to have a slightly set of choices than the WSS “FAQType” field so we can demo data massaging.
In the following screen shots, notice that certain columns only apply to certain Content Types:
For the migration job itself, I selected all the data fields, including the DocType field as well as fields that were specific to certain document types, in my Source Data Definition. Nothing unusual here, except that I did a little “data massaging” along the way:
- The “Product” column is really the Categories item with an alias.
- The “FAQType” column is a Formula column that massages the data during migration:
@If(FAQType=”How To” | FAQType=”Problem”;”Solutions”;FAQType)
- The “OnlineLink” column is a Formula column that computes the URL to the document on the Proposion web site.
In our Target Data Definition, we added a SharePoint field called “ContentType”. We can map any source column we want to this field, and the Content Type for each new document will be set accordingly. In our case, of course, we will map the DocType column to this field.
For the “Language” and “FAQType” fields, which are only for certain Content Types, we specified the content type in the ContentTypes property of the Target Data Definition field definition.
The result of running this migration job is a SharePoint List populated with mixed types of content: