Matching and Mapping Sites
When site collection discovery is completed and before you migrate the site collections and descendant objects to the target tenant, the OnDemand Migration for SharePoint service must know where to migrate the site collections. There are two ways you can provide the reference:
See the Considerations for details about migration behavior if the target site collection or sub-site exists before the migration is started.
Matching Site Collections
To ensure that no data is lost or duplicated, match the source site collections with the corresponding target site collections using the Matching Task.
To match site collections automatically:
- Log in to Quest On Demand and choose an organization if you have set up multiple organizations.
- From the navigation pane, click Migration to open the My Projects list.
- Create a new project or open an existing project.
- Click theSharePointtile, or click Open from the SharePoint tile to open the SharePoint dashboard.
- Click SharePoint Contents from the Dashboard ribbon to open the SharePoint Contents list page.
- Choose one or more site collections by selecting the respective check box for the site collection. You can select the check box in the column header to select all site collections.

- Click Match from the Actions ribbon. The New Matching Task wizard opens.
- Step 1: Schedule
- Choose from one of three options to schedule the task. The scheduler will be activated after you complete the task wizard.
- Run now - task runs immediately.
- Run later - task must be started manually.
- Schedule - task will be started at a future date and time.
- Start - enter the start time for the task.
- Select the Include site structure check box to allow sub-sites and other descendant structures to be matched.
- Click Next.
- Step 2: Summary
- Verify the task specifications as described below:
- Name - name of the task. The default name is Matching Task. You can specify a custom name.
- Source tenant - name of the tenant where the source URLs exist.
- Target tenant - name of the tenant where the source URLs may or may not exist.
- Scheduled start - date and time when the task will start. Now indicates that the task will start immediately.
- Include site structure - option to match sub-sites and other descendant structures.
- Click Back to revise or review a previous step or click Finish to complete the task wizard and start the task as scheduled.
- You can track the progress in the Tasks tab, monitor alerts and notifications in the Events tab and view the summary on the Dashboard.
- When the task completes, the SharePoint Contents list is updated. Compare the Source Urlcolumn with the Target Url column for the selected sites. The Provision state of each matched site is set to Matched.
Mapping Site Collections
To change the name of a migrated site collection or relocate the root site, use a CSV file to set up a custom map. URLs in a mapping file are case sensitive and must be relative URLs. There are three ways to prepare a CSV site mapping file.
|
NOTE: Site collections cannot be merged or reorganized with a mapping file. |
- Download the CSV file from the SharePoint Admin Center
- Log in to the SharePoint Admin Center of the source tenant.
- From the navigation pane, click Active sites.
- From the Active sites page menu, click Export to download the CSV file.
- In the CSV file, delete all columns before the URL column. Rename the URL column header to either SourceURL or Source URL. This must be the first column.
- In the Source URL column keep only the sites that you want to map. Ensure that only relative URLs are used.
- Insert a blank column as the second column and specify the header as either TargetURL or Target URL. This must be the second column.
- Specify the corresponding target URLs. Ensure that only relative URLs are used.
- Download the CSV file from the SharePoint Contents page
- Choose one or more sites by selecting the respective check box for the site. You can select the check box in the column header to select all sites.
- Click Export from the Actions ribbon.
- Extract the CSV file from the downloaded ZIP file.
- In the CSV file, delete all columns before the Source URL column. This must be the first column.
- Insert a blank column as the second column and specify the header as either TargetURL or Target URL. This must be the second column.
- Specify the corresponding target URLs. Ensure that only relative URLs are used.
- Create a new CSV file and specify the column header in the first row and then enter the URLs in the subsequent rows manually. Since URLs in a mapping file are case sensitive, this method must be used with caution.
- In the first column, specify the header as either SourceURL or Source URL.
- In the second column, specify the header as either TargetURL or Target URL.
- Enter the source and target URLs manually in the subsequent rows . Ensure that only relative URLs are used.
|
NOTE: You need to map only the URLs that will change in the target Tenant. |
Example 1 - The Target URL is used to rename a site collection from the source tenant.
- The URL /sites/StarzBrand has been renamed to /sites/StarzCorporate.
- The URL /sites/StarzAccounting has been renamed to /sites/StarzFinance.
- The URL /sites/Starzmarketing has been renamed to /sites/StarzMarketing.
- The URL /sites/Starzteam has been renamed to /sites/StarzTeam.
Example 2 - The target URL is used to relocate the root site.
The root URL is relocated to a managed site in the target tenant called /sites/oldroot.
To map site collections with a CSV file:
- Log in to Quest On Demand and choose an organization if you have set up multiple organizations.
- From the navigation pane, click Migration to open the My Projects list.
- Create a new project or open an existing project.
- Click theSharePointtile, or click Open from the SharePoint tile to open the SharePoint dashboard.
- Click SharePoint Contents from the Dashboard ribbon to open the SharePoint Contents list page.
- Click More Actions from the Actions ribbon and then click Map from File. The New Mapping from File Task wizard opens.
- Step 1: Mapping File
- Click Browse and locate the CSV mapping file.
- Click Open in the File Explorer window to load the file into the wizard
- Click Next.
- Step 2: Schedule
- Choose from one of three options to schedule the task. The scheduler will be activated after you complete the task wizard.
- Run now - task runs immediately.
- Run later - task must be started manually.
- Schedule - task will be started at a future date and time.
- Start - enter the start time for the task.
- Click Next.
- Step 3: Summary
- Verify the task specifications as described below:
- Name - name of the task. The default name is Mapping from File Task. You can specify a custom name.
- Source tenant - name of the tenant where the source URLs exist.
- Target tenant - name of the tenant where the target URLs may or may not exist.
- Scheduled start - date and time when the task will start. Now indicates that the task will start immediately.
- Click Back to revise or review a previous step or click Finish to complete the task wizard and start the task as scheduled.
- You can track the progress in the Tasks tab, monitor alerts and notifications in the Events tab and view the summary on the Dashboard.
- When the task completes, the SharePoint Contents list is updated. Compare the Source Urlcolumn with the Target Url column for the selected sites. The Provision state of each matched site is set to Matched.
Migrating SharePoint Objects
Use the SharePoint contents tab to migrate SharePoint objects like sites, lists, web, members, retention policies and InfoPath forms. You can migrate an entire site or initiate granular or incremental migration. You can navigate through SharePoint site objects and identify any site objects that failed to migrate.
In this topic:
Migrating Record Center Retention Policies and InfoPath Forms
Migrating Record Center Retention Policies and InfoPath Forms requires a SharePoint token to be associated with the migration project to allow access to the Microsoft retention policy and InfoPath form APIs.
To associate a SharePoint token with the migration project using PowerShell:
- Download the PowerShell module and connect to ODM PowerShell to get the project id. See Appendix A: Working with PowerShell for more details.
- Get the project workloads (Accounts, Teams, SharePoint, Public Folders)
Get-OdmProjectWorkload -Project 'Elf813YBfQYAK6Q42Kun' |

- Select the Id for the SharePoint project workload as the context
Select-OdmProjectWorkload -ProjectWorkloadId 'tH8u5nsB-aY5ES3q6NyZ' |
- Get the SharePoint connection token
Set-OdmSpConnectionToken -ConnectionType target |
- In the credentials window that opens, enter the On Demand credentials (typically the On Demand administrator)

|
NOTE:
- Token is stored in the SharePoint project
- Token expires in 2-3 days. We recommend that you refresh the token after 2 days if you expect your migration to run for longer periods.
|
- Start the migration task. See Starting a SharePoint migration task for details.
To migrate tenant level settings:
- Log in to the SharePoint admin center of your target tenant.
- Go to More Features > InfoPath.

- Copy the information over from your source tenant.
Incremental migration of lists
The On Demand Migration for SharePoint service can migrate new and updated list items in previously migrated lists.
|
NOTE: Incremental migration of system libraries like Site Pages is not supported. These libraries are always fully remigrated. |
To start an incremental migration of a SharePoint list:
- Open the SharePoint contents tab and locate the SharePoint list. There are a couple ways to do this:
- Add a filter to show objects where Type = List and Migration state = Migrated.
- Select one or more lists.
- Click Migrate and follow the steps described in the next section. Make sure to select Refresh list items in the List Options step.
Starting a SharePoint migration task
Any discovered SharePoint object where Provision state = Discovered, can be migrated including sites, lists (including individual lists) and webs (root and child webs). All children of the object selected for migration will be migrated.
|
Caution: Don’t start the migration before the discovery task is finished because migrated objects could be incorrectly processed. |
|
NOTES:
- When migrating multiple SharePoint sites, it is a best practice to add no more than 10 sites to a migration task to avoid creating a large load that may trigger throttling in the Microsoft export interfaces.
- Creating and running multiple migration tasks at the same time may create a large load that may trigger throttling in the Microsoft export interfaces.
- If the parent of the object selected for migration does not already exist on the target then the object will not be migrated.
- Migration of a Group site collection will be skipped if the corresponding Group site collection does not already exist at the target Url.
- Migration of a site or web results in a full migration of all child lists (not incremental) and discovery of any new child web or list.
|
To start a SharePoint migration task:
- Log in to Quest On Demand and choose an organization if you have set up multiple organizations.
- From the navigation pane, click Migration to open the My Projects list.
- Create a new project or open an existing project.
- From the project Dashboard click Open in the SharePoint tile.
- Click the SharePoint Contents tab.
- Select the sites to migrate. You can check multiple sites.
- Click Migrate. The New SharePoint Migration Task wizard opens.
- Step 1: Migration Scope

- Choose a migration scope as described below:
- Migrate all - select this option to migrate the selected objects including any descendants or content associated with these objects.
- Migrate structure without list or library content - select this option to limit the scope of the migration to the full site structure like Site, Members (users and groups), Webs and Lists. List items will not be migrated.
- Migrate selected objects without descendants or content - select this option to migrate only the selected objects. Any descendants or content associated with these objects will be ignored.
- Select Include site level term group as part of site migration to add site level metadata to the Global Term Store. The Global Term Store must be migrated before you can use this option, otherwise an error will be logged as an event. For more information, see Migrating the Global Term Store.
- Click Next.
- Step 2: Migration Options

- Configure the migration options as described below:
- Default user account - Specify a default user account if the source user account cannot be matched with a target user account.
- Clear selected objects from the target - Select this option to delete the selected SharePoint objects that already exist on the target before being migrated. Clearing of Group site collections is not supported and will be skipped to keep the association with Microsoft 365 Groups and Teams.
- Upgrade classic team sites to modern team sites - Select this option to upgrade classic team sites to modern team sites. If the classic team site does not exist on the target, create the site using the modern team site.
- Click Next.
- Step 3: Permission Options

- Select how Sharing Links permissions are migrated. Direct permissions are always migrated.
- Migrate permissions - select this option so that unique permissions associated with web, list and list items are migrated. If you clear this option all other options in this step are deactivated and permission migration is prevented. When permissions are not migrated, the permissions for new migrations of web, list and list items, that are not already on the target tenant, will be inherited from its parent. The permissions will not be changed for migrations of content that was already migrated to the target tenant.
- Migrate permissions only for previously migrated webs and lists - select this option to migrate permissions for webs and lists only. Permissions will be merged with any existing permissions on the target tenant. List item permissions are not migrated with this option because list item permissions cannot be migrated separately from the list item. To re-migrate list items and its permissions, re-migrate the whole list without selecting this option. Selected objects must be in a migrated or migrated with issues state for this option work.
- Do not migrate Sharing Links permissions - select this option to ignore Sharing Links permissions.
- Migrate Sharing Links permissions as direct permissions. Migration is slower - select this option to migrate Sharing Links permissions. These permissions will be migrated as direct permissions. The conversion and migration of Sharing Links permissions takes more time to migrate.
- Click Next.
- Step 4: List Options
This step applies to specific lists selected for migration from the SharePoint Contents list view.

- Choose from the following options to determine how changes to selected list items that were previously migrated should be remigrated:
- Refresh list items - an incremental migration is performed to update the target list with missing or new items.
- Migrate all list items - all list items are remigrated.
- Migrate list and library comments - select this option to include list and library comments in the migration task. A large number of list and library comments increase task processing time.
- Click Next.
- Step 5: Version Options

- Specify the versions of the SharePoint files to migrate. These options are relevant only if the Migrate all option is selected in the Migration Scope step.
Each site has its own version history of its files and each change to a file is saved with a new version. Select from the following migration options to determine how SharePoint file versions should be migrated:
- Latest version only - This is the default selection. The most recent version of the file will be migrated. All other versions will be ignored.
- More versions - Additional versions of a file will be migrated based on the options described below. Large version sets take a significantly long time to migrate.
- Number of versions - The maximum number of version to migrate. The available choices are: 2, 5, 10, 30, 60, 90 and 365. When you specify the number of versions, additional options can be selected.
- Latest version and preceding versions - The version count includes the latest version and the preceding versions in chronological order restricted to the Size Limit of the latest version. For example, if you choose to migrate 5 versions, then the most recent version and 4 preceding versions will be migrated as long as the most recent version does not exceed the selected size limit specified.
- Latest version and daily latest from preceding days - The version count includes the latest version and the latest version from each preceding day restricted to the Size Limit of the latest version. For example, if there are many versions of a site and you choose to migrate 5 versions, then the most recent version and the latest version from each of the 4 preceding days will be migrated as long as the most recent version does not exceed the selected size limit specified.
- Size limit - This setting is available if the Latest version and preceding versions or the Latest version and daily latest from preceding days option is selected. By default, the size limit is 80 MB. You can configure the size limitation by selecting from one of the possible values in the dropdown list. If the size of the latest file version exceeds the selected size limit, the latest version will be migrated and previous versions will be ignored. If the size of the latest file version does not exceed the selected size limit, then the file and its versions will be migrated based on your selection between Latest version and preceding versions or Latest version and daily latest from preceding days.
- All Versions - The latest version of the file will be migrated, and all previous versions of the file will be migrated if the latest version does not exceed a specified size limit. This option requires significantly more time to migrate all the versions.
- Size limit - This setting is available if the All Versions option is selected. By default, the size limit is 80 MB. You can configure the size limitation by selecting from one of the possible values in the dropdown list. If the size of the latest file version exceeds the selected size limit, the latest version will be migrated and previous versions will be ignored. If the size of the latest site version does not exceed the selected size limit, then the file and its versions will be migrated.
- Click Next.
- Step 6: Notification
- Send notification email once the task is completed - select this option to send a notification email when a discovery task completes.
- Only in a case of failure - Select this option to send the email if the discovery task fails to complete successfully.
- Recipients - enter the email address of the recipients of this email. You can specify multiple recipient email addresses separated by semicolon.
- Click Next.
- Step 7: Schedule
- Choose from one of three options to schedule the task. The scheduler will be activated only after you complete the task wizard.
- Run now - task runs immediately.
- Run later - task must be started manually.
- Schedule - task will be started at a future date and time.
- Start - enter the start time for the task.
- Click Next.
- Step 8: Summary
- This step lists the following configured options for this task.
- Name - Specify a name for the task. The default name is Migrate SharePoint Contents Task.
- SharePoint objects selected - number of SharePoint objects selected for migration.
- Migration Scope - selected migration scope.
- Include site level term groups from Term store - whether or not the site level term group from the Term store should be included in the migration.
- Default target user - UPN of the default target user if the source user cannot be matched to a target user.
- Clear target SharePoint objects - whether or not the target site collection are deleted if it exists is the target tenant.
- Upgrade classic team sites - whether or not classic team sites are migrated to modern team sites.
- Reset to inherited permissions - whether or not migrated objects will inherit permissions from its parent.
- Migrate Permissions only - whether or not permissions are migrated for previously migrated webs and lists.
- Sharing Links Permissions - how Sharing Links permissions are migrated.
- List migration - choice between migration of all list items or migration of incremental changes with a refresh.
- Conflict Resolution migration action - how version conflicts are resolved. Indicates the suffix if a copy of migrated list items are created.
- Migrate list and library comments - whether or not list and library comments should be migrated.
- Migrate list item and document versions - version option selected.
- Scheduled start - expected start time of the task.
- Click Back to change configurations if necessary or click Finish to save and start the task as scheduled.
Reviewing Migration Results
In this topic:
About Provision and Migration states
Use the Provision state and Migration state columns in the SharePoint Contents list view to determine the state of any SharePoint object in the migration process.
Provision state
Use the provision state property to track the object itself. When the object is added to On Demand its state is Discovered. When discovered you can trigger a migration:
Discovered |
SharePoint objects have been found in the source tenant. |
Matched |
a SharePoint object in the source tenant has been matched with a corresponding SharePoint object in the target tenant. |
Provisioned |
On Demand has created (updated) the SharePoint object (site, web, list, users and groups) on the target without warnings or errors. You are now ready to track the Provision state. |
Provisioned with issues |
On Demand has created (updated) the object with warnings or errors. See Warnings and errors. |
Migration state
Use the Migration state property to track the progress of migrating the SharePoint object's content. Note that the Migration state value is transient (may change) while the task status is in progress.
Not Migrated |
On Demand has not migrated the content. This is the default Migration state when the provision state is Discovered. |
Migrating |
On Demand is migrating the object content. |
Migrated |
On Demand has successfully migrated the content to the target without warning or errors. If the object is a list then all the list items have migrated successfully. If the object is a SharePoint site or web (root site) then all the child lists and webs have migrated successfully. |
Partially Migrated |
While a migration task is in progress, partially migrated can be a transitory state showing at least one child is migrating or not migrated. Once the migration task is complete, partially migrated indicates that not all children of the object migrated: at least one child migrated and at least one child did not migrate. |
Migrated with Issues |
On Demand has migrated the content to the target with warnings or errors. See Warnings and errors. |
The transient nature of the Provision and Migration states during migration
When migrating a site the web and list, the task state changes to Complete when the web or list provision state is set to Provisioned. This is expected behavior in the current implementation. It indicates that the sub task to provision the object is complete. The Migration state will not change to Migrated until the child content is migrated
When migrating a site or web, the Migration state may be set to Migrated and then reset to Partially migrated. This will typically happen for a site that had not had the SharePoint content discovery run before migration is started. In this case the migration is discovering content to migrate as it goes along. The Migration state is set to Migrating when the migration completes what it has discovered so far, then it looks for more and resets to partially migrating, repeating until all content is discovered and migrated. It discovers lists in a web in groups (not all at once) and then it discovers any sub sites after the lists are done.
Reviewing results from the list view with filters
Once the migration task is complete, locate objects where Provision state = Provisioned with issues or Migration state = Migrated with issues using a flat view of the objects and filtering.
To see all SharePoint objects in the SharePoint contents list view
- Remove the Type:Site filter.
To filter the list view to see all SharePoint objects with issues with provisioning
- Set the Provision state filter to Provisioned with Issues. You can filter further by setting a filter on an object Type.
To filter the list view to see objects with issues with the migration
- Set the Provision state filter to Migrated with Issues. You can filter further by setting a filter on an object Type. The smallest object type where migration issues will be found is List.
Review using the SharePoint content view
- When the migration task is complete, locate objects in the SharePoint list view by setting the following filters:
- Provision state = Provisioned with issues
-or-
- Migration state = Migrated with issues
- From the SharePoint contents tab
- Select the object so the row is highlighted and the details pane opens to the right of the screen.
- From the details pane click Show Contents
- Continue following the webs into the site structure until you see
- an object where the Provision state = Provisioned with Issues, or
- a list where the Migration state = Migrated with Issues
- From the details pane click Show Parent to return upward through the hierarchy.
Warnings and errors
To see the warnings and errors for a given object
From the SharePoint contents tab
- Highlight the object to open the details pane on the right.
- From the details pane click Events.
To see the number of list items on the source
From the SharePoint contents tab
- Highlight the list object to see the details pane on the right.
- The details pane provides a count of the number of the list items for this list on the source.
Repairing Lists with Migration Issues
The On Demand Migration for SharePoint service can repair lists with the Migration state = Migrated with Issues. When such a list is migrated, the contents of the list in the source and target tenants are compared. Missing items in the target are restored and items that are updated in the source since the previous migration will be incrementally migrated.
Lists are migrated based on the Migration state. You can select multiple lists with different migration states and the lists will be migrated based on its state. For example, an incremental migration will occur if new list items were added to a source list that was previously migrated, a repair migration will occur if the list was migrated with issues, and a full migration will occur for lists that have not been migrated.
To repair a list with migration issues:
- Open the SharePoint contents tab and locate the SharePoint list as described below:
- Clear all filters and search criteria Add a filter to show only objects of type List.
- Add a filter to show only objects where Type = List and Migration state = Migrated with Issues.
- Select the list. You can select multiple lists if needed.
- Click Migrate. The New SharePoint Migration Task wizard opens.
- See Migrating SharePoint Objects for more details.
- When the task completes, verify the migration state for the selected list. If issues persist, check for event warnings.