Quest Notes Migrator for SharePoint

Partner Training Webcast Series - Session 3

Advanced Content Migration Jobs

Steve Walch, Senior Product Manager

Blog: http://notes2sharepoint.org

November, 2011

©2011 Quest Software, Inc. All rights reserved.

Partner Training Webcast Series

1.

Migration Basics with the NMSP Designer Client

2.

Analysis and Automation with the NMSP

Migration Console

3.

Advanced Content Migration Jobs

4.

Tool Deployment, Domino.Doc and QuickPlace /

QuickR migrations

5.

Migrating Application Designs

6.

Tips and Tricks for Managing Large Migration

Projects

7.

Even More Advanced Content Migration Jobs

(Product demos using NMSP 6.1 beta)

©2011 Quest Software, Inc. All rights reserved.

1

Today’s Agenda

Advanced Content Migration Jobs

• Working with Lookups and Managed Metadata

• Migrating images/attachments to alternate Libraries

• Dealing with multi-valued items

• Normalizing multi-valued items to multiple documents

• Working with Content Types

• Dealing with Response documents

• Generating Microsoft Word and PDF documents

• Setting links to parent documents

©2011 Quest Software, Inc. All rights reserved.

2

Override Document Metadata

• Create special columns in Source Data Definition

– No need to map to target!

Field name

{OverrideAuthor}

{OverrideLastModifier}

Data type

STRING

STRING

Notes

Created By name

Modified By name

{OverrideCreatedDate} DATE Created Date

{OverrideModifiedDate} DATE Last Modified Date

{OverrideDocumentId}

{OverrideParentId}

STRING

STRING

Document UNID

– Used in duplicate document detection, versioning, and reassembling parent/response hierarchies

Parent UNID – Used in reassembling parent/response hierarchies

{OverrideDocumentWriters} STRING ARRAY Writer Names

{OverrideDocumentReaders} STRING ARRAY Reader Names

{OverrideDocumentUrl} STRING Url to document – Used in log files and Link

3

Tracking Service

©2011 Quest Software, Inc. All rights reserved.

Working with Lookup Columns

• Similar to choice columns, except the set of choices is in another SharePoint list

– May be multi-valued

– May “join” other columns from the lookup list (read-only)

– May be used to enforce constraints (Cascade Delete, Restrict Delete)

• Create Manually or Provision with NMSP

• Lookup list must be pre-populated with needed values

– May be accomplished using a separate migration job

– Missing items will be errors if Required column, otherwise warnings

• Bonus! NMSP can provision cross-site lookups (within the same site collection)

– Not possible in SharePoint user interface

4

©2011 Quest Software, Inc. All rights reserved.

Working with Managed Metadata

• Similar to choice/lookup columns, except the set of choices is in a centralized Term Store

– Separate user interface for managing term store

Term store may be scoped to site collection or enterprise

– Supports aliases, translation, hierarchies

• Most define column manually, then migrate content

• Migration options:

– Match using Hierarchy (Notes values contain “/” or “\”)

– Match on Alias

– Match on specific Locale

– Add missing values to Term Store

©2011 Quest Software, Inc. All rights reserved.

5

Recap: Replacing Notes keyword fields

Choice Lookup

Where choices stored

Can be multi-valued

Allow fill-in choices

NMSP can populate choices from Notes data

Supports hierarchy

Supports aliases

Supports translation

Span multiple site collections

No

No

No

No

In list schema

Yes

Yes

Yes

No

No

No

In another list

Yes

No

Yes (must run separate job)

No Yes

Yes

Yes

Yes

Managed

Metadata

In term store

Yes

Yes

Yes

TIP: Use formulas to convert values while migrating

©2011 Quest Software, Inc. All rights reserved.

6

Migrating files to Alternate Locations

• Lists: Images / attachments / objects are normally placed in the list item’s “Attachments” area

– You can also place them in a separate document library

– Links and images references remain intact

• Libraries: Images / attachments / objects are normally placed in the same library folder as the migrated doc

– You can place them in a separate folder OR document library

– Links and images references remain intact

• Create target column of type “File”

– Set “Alternate Folder” or “Alternate Library” properties

– Alternate Libraries may be provisioned automatically

• Use “Applies To” property on other target columns

– “Primary Only” “Alternate Only” “All Items”

©2011 Quest Software, Inc. All rights reserved.

7

SharePoint targets and related files

Images Migrating Rich Text to

List Item

Word document

PDF document

InfoPath document

Wiki page

Basic page

Web Part page

Publishing page

Internal or

Alternate

Internal only

Internal only

Internal only

Alternate only

Attachments Embedded

Objects

Internal or

Alternate

Internal or

Alternate

Internal or

Alternate

Internal or

Alternate

Alternate only Alternate only

Internal or

Alternate

Internal or

Alternate

Alternate only Alternate only

Typical Alternate Libraries:

• Shared Documents, Site Assets, Site Images

©2011 Quest Software, Inc. All rights reserved.

8

Controlling Folder / File names

• Create target column of type “Folder” and map any text value to it

– Causes folders and subfolders to be created (if needed)

– By default, “/” and “\” characters get interpreted as hierarchy delimiters

– This may be disabled by setting “Multi Level” property to False

– Migrated documents are placed in designated folder

• Create target column of type “File Name” and map any text value to it

– Causes file names to be assigned to migrated files

– By default, only applies to embedded elements that do not have their own file names (images, OLE objects)

– Set “Override Existing Names” property to apply to all attachments

– File extensions are always preserved

9

©2011 Quest Software, Inc. All rights reserved.

Dealing with multi-valued items

• Many Notes items are multi-valued arrays

– Text Lists, Number Lists, DateTime Lists

– Formulas can also result in “Lists”

• In SharePoint, only Choice, Managed Metadata,

Lookup, User columns can be multi-valued

– In NMSP, specify “Multi” in source and target column definitions

• Other column types must merge to single value

– Use NMSP mapping properties to select “First”, “Last” or “Merge”

– Use Formula source field for more precise control

– @Implode(fieldname , ”, “)

– Special case: MultiLined Text Items

– @Implode(fieldname, @Newline)

©2011 Quest Software, Inc. All rights reserved.

10

Normalizing multi-valued items to multiple records

• Set “Multi-value Disposition” property to “Normalize” on desired column mappings

– Only allowed for basic column types (not rich text, etc.)

• NMSP will create separate List Item for each value encountered in the Normalized columns

– Largest array found will control number of documents written

– Non-normalized columns will be copied to each record

• Common normalization scenario:

– Migrate “header” records first

– Use Lookup column, etc., to link “detail” records to “header” records

– Optional: Use Cascaded or Restricted Delete

• Limitations: Only for custom lists

– No automatic versioning, Not added to Link Tracking Service

11

©2011 Quest Software, Inc. All rights reserved.

Normalization Example #1

©2011 Quest Software, Inc. All rights reserved.

12

Normalization Example #2

• Some Notes forms have tables of related fields

• Solution: Use a formula source column to create multi-valued items out of related fields

– Example: “Product_1: Product_2: Product_3: Product_4”

©2011 Quest Software, Inc. All rights reserved.

13

Working with Content Types

• Content types allow multiple types of documents in one

SharePoint list or library

– Each content type can have it’s own schema, workflow, etc.

Content types may be defined at site collection or site level

– Content types may be reused across many lists

• When provisioning lists, NMSP can…

– Dynamically push Content Types from site into list

– Add newly provisioned columns to all content types in list

• When migrating content, NMSP can…

– Dynamically assign Content Type based on Notes form used

– Dynamically assign Content Type based on data value (or formula)

– Restrict certain column mappings to certain content types

©2011 Quest Software, Inc. All rights reserved.

14

Dealing with Response documents

• Notes applications may have Response and

Response-To-Response documents

– Example: Discussion threads

Example: Customers, Customer Contacts, Contact Call Logs

• Option 1: Migrate to a Discussion List

– Expand list schema with additional columns

– If provisioning from NMSP, use “Add To All Content Types”

– Optional: Subclass “Discussion” and “Message” content types

– Optional: Use Quest Web Parts for SharePoint for Notes-like views

• Option 2: Migrate to Custom List(s)

– Use data columns to correlate records

– Use multiple lists or content types

©2011 Quest Software, Inc. All rights reserved.

15

Mapping things other than Notes data to Lists

• Constant values

– Set “Source Type” property of column mapping to “Constant”

– Entered value will be cast to appropriate type

• Links to Parent Documents

– For use in Response documents

– Set “Source Type” property of column mapping to “Target Value”

– Set “Target Value” to “Link to Parent document”

– Computes a link to the migrated parent Notes document

• Links to Primary Document

– For use in embedded elements migrated to Alternate locations

– Set “Source Type” property of column mapping to “Target Value”

– Set “Target Value” to “Link to Primary document”

Computes a link to the migrated document that contained the file

©2011 Quest Software, Inc. All rights reserved.

16

Generating Microsoft Word documents

• Create a target column of type “Word Document“

• Use custom Template editor

– Import custom Word Template

– Select document properties to map data to

– Select content controls to map data to

– Select legacy controls to map data to

• Map Notes data to properties on Mapping Tab

– Use “Column.Property” notation

– At a minimum, map “File Name” and “Body” properties

– Map multiple items to “Body” to concatenate rich text

– Map to other document properties / controls as needed

• Embedded images stored inside document

• Map attachments inside document or separately

©2011 Quest Software, Inc. All rights reserved.

17

Generating PDF files

• Create a target column of type “PDF Document“

• Set Page Layout properties

– Or keep defaults

• Map Notes data to properties on Mapping Tab

– Use “Column.Property” notation

– At a minimum, map “File Name” and “Body” properties

– Map multiple items to “Body” to concatenate rich text

– Map to other document properties as needed

• Embedded images stored inside document

• Map attachments must be stored separately

©2011 Quest Software, Inc. All rights reserved.

18

Working with Approval Codes

• SharePoint lists have an optional approval process

– Versioning Settings -> Require content approval for submitted items

– Gives you simple Pending/Rejected/Approved workflow functionality

– Perfect for replacing many simple Notes document workflows

• In NMSP, add a target column of type “Approval Code”

• Map Notes data (or use a formula) with values

“Pending”, “Rejected” or “Approved”

– Example: @If(PublishStatus="Published";"Approved";"Pending")

• Note: For more complex workflow state, simple map data items that represent state

– Map to columns that your Declarative workflow will look at

– Example: NextApprover, DueDate, Status

©2011 Quest Software, Inc. All rights reserved.

19

Duplicate Document Handling

• If you migrate the same document to the same list twice, NMSP considers it to be a “duplicate”

• “Same document” defined by the “Document ID”

– For most Notes apps, this is the UNID

– For QuickPlace, QuickR, Domino.Doc internal ID is used

– For custom apps use {OverrideDocumentId}

• NMSP also looks at timestamps to determine if the doc has been modified since migrated

• If Duplicate Found options:

– Skip, Overwrite

– Write an additional document (if modified)

– Write another version of the document (if modified)

20

©2011 Quest Software, Inc. All rights reserved.

Notes Migrator for SharePoint 6.1 Beta Program

• Beta in progress now!

• Go to http://communities.quest.com/groups/notesmigration-product-beta-group

• Sign in with your Quest Community ID

• Or register to create a new one

• Use corporate email (No gmail or hotmail accounts)

• Press the “Ask To Join This Group” button

• Once approved, log in and download

• Reviewers Guide

• Product Installer

• Expected release: January 2012

©2011 Quest Software, Inc. All rights reserved.

21

Steve’s blog: http://notes2sharepoint.org

Product: http://quest.com/notes-migrator-for-sharepoint/

©2011 Quest Software, Inc. All rights reserved.