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.
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
• 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
• 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.
• 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.
• 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
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
• 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
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
• 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.
• 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
• 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.
©2011 Quest Software, Inc. All rights reserved.
12
• 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
• 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
• 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
• 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
• 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
• 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
• 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
• 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.
• 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.