When using Migrator for Notes to SharePoint to migrate Notes rich text documents to SharePoint, the tool extracts your rich text "Body" item as HTML and map that to a SharePoint "Note" field (a multi-line text field supporting Enhanced HTML).
If you want to control how your HTML is encoded, Migrator for Notes to SharePoint supports the use of "pass through" HTML. If you want a string in your source data definition to be interpreted as pure HTML, set the Return Type to “HtmlString". For example, some custom Notes applications, especially web-enabled Domino applications, actually store raw HTML in text fields. Using the HtmlString return type can migrate those to SharePoint rich text fields "as is".
This is similar to the capability available when generating InfoPath XML documents from Notes documents. You can use the attribute encode="xml" inside your <ppm:replace> tags to indicate that you want the mapped source column to be treated as "pass through" XML.
When using Migrator for Notes to SharePoint to render Notes documents as HTML, the Notes fields for radio buttons and check boxes become editable in the output since the generated HTML documents are not read-only. To disable editing of radio buttons and check boxes, set the HTML output to read-only.
In most cases, the best way to generate ASPX content pages is to use the PageName feature in your Target Data Definitions. This feature allows you to generate pages based on predefined ASPX page types and layouts and then override various page properties using content extracted from Notes documents. In some cases, however, this feature is inadequate for generating content pages as it does not allow you to generate the ASPX code itself dynamically. An example of where you might need to do this is MOSS publishing pages. In cases like this, you would want to use Document columns in your Source Data Definition.
When generating ASPX pages in SharePoint using the Document Column feature, the same process in Generating InfoPath forms is followed but with exceptions. Since ASPX pages are not true XML documents, some additional tags have to be added to the ASPX page before it can be added to the DocumentTemplate property of the Document column in the Notes Source Data Definition. The below tags have been added to our XML replacement extensions:
This construct allows encoding of any content that is not legal XML (for example <%@ Page %> tags common in ASPX pages). This is structured as an XML comment and anything inside that comment will be passed through "as is" in the generated documents.
A common best practice is to first develop a sample ASPX Page in SharePoint that contains all of the layout and Web Parts that you want in your resulting pages. Then download your ASPX Page and edit it to make certain parts dynamic (using ppm:replace tags) and escape the parts that are not legal XML (using ppm:document tags and ppm:passthough sections). You will use this ASPX document to create the XML for the Document Template property.
This ASPX document is not a valid XML document so it can not be used in the DocumentTemplate property yet. To make it a valid XML document, open this ASPX document in your favorite XML editor and modify it by using the additional tags. Once it is valid XML, copy the XML to the DocumentTemplate field of the Source Data Definition in Migrator for Notes to SharePoint.
NOTE: In this release, a simple drop-down text editor is available for entering multi-line Document Templates. In practice, many users would prefer to use their favorite XML editor and copy/paste the results in Migrator for Notes to SharePoint. A more powerful editor/designer is planned for future releases which will assist with loading a sample XML document, merging source columns, and generating PPM tags.
To save your generated Web Part Pages into a Document Library in SharePoint, simply map your new “Document” column to a File field in SharePoint, just as you would when extracting attachments or embedded images.
To migrate the source data fields into the various Web Parts on the page, you must know each Web Part’s WebPartTitle and PropertyName. You can use your XML editor or SharePoint Designer to identify these.
NOTE: The list of Web Parts that are shipped as part of WSS v3 can be found at http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.webpartpages.aspx. The MSDN website also contains detailed information about each Web Part property including the PropertyNames. For example, the detailed information for the ContentEditorWebPart properties can be found at http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.webpartpages.contenteditorwebpart_properties.aspx.
For each Web Part, add a data field of type ‘WebPartProperty’ in the Target Data Definition with the WebPartTitle and PropertyName properties filled out. Then map the source columns to these fields in your target data definition.
Using the PageName feature in your Target Data Definitions is the easiest way to generate Web Part Pages based on predefined ASPX page types and layouts. With this feature, you do not need to edit the ASPX page with the PPM tags to make it a legal XML document as you would using the Document Columns feature. With the PageName feature, you can override various page properties using content extracted from Notes documents by using WebPartProperty fields. The steps for generating Web Part Pages are described below.
First create a sample Web Part Page in SharePoint that contains the layout and Web Parts, that you want in your resulting pages. Then use SharePoint Designer to view the ASPX code of the Web Part Page and copy it to the clipboard.
Add WebPartProperty fields to your target data definition to override various properties of various web parts with live Notes data. For each Web Part whose properties you want to override with Notes data, add a data field of type ‘WebPartProperty’ in the Target Data Definition. Fill out its WebPartTitle and PropertyName properties. Then map the source columns to these fields in your target data definition.
Add any other target data definition fields you need. In particular, if you want to preserve images/attachments/objects you will need to map them to File fields using the AlternateLibrary or AlternateFolder properties.