Chat now with support
Chat with Support

Content Matrix 9.12 - SharePoint Edition

Introduction Activating the License Key Selecting the SQL Database You Want to Connect to Content Matrix Console End User Interface Enabling Advanced Mode Multilingual Support Connecting to SharePoint Preparing for a Migration How Content Matrix Handles Various SharePoint Components
Team Site to Modern Team Site Migration SharePoint Sites to Modern Communication Site Migration Promotion of First Level Subsites to Site Collections MySite Migration "Share With" Metadata and "Sharing Links" Access Permissions Migration Records Center to SharePoint Online Migration Using the Import Pipeline Master Page Migration List Template Gallery Migration Content Types Migration Document Version and Checked Out File Limitations Ghosted and Un-Ghosted Page Migration Document Set Migration Navigation Migration Classic Web Parts Migration Site Theme Preservation Site Feature Migration Managed Metadata Migration Users and Permissions Migration BCS/BDC Data Migration OneNote Notebooks Migration Customized Form Pages Migration InfoPath Forms Migration SharePoint Workflow Migration Nintex Workflows and Forms Migration Link Correction StoragePoint Content Migration
Initiating a Migration Configuring Copying Options Saving or Running a Migration Job Copying SharePoint Objects as a Separate Action Configuring Hub Sites Incremental Migration Using PowerShell with Content Matrix
Adding PowerShell Snap-Ins for the Application Framework Content Matrix PowerShell Commandlet List
Metalogix.System.Commands Metalogix.SharePoint.Commands Metalogix.Jobs.Reporting.Commands Metalogix.SharePoint.Migration.Commands
Modifying Content Matrix Configuration and Settings Configuring Content Matrix for Distributed Migration Frequently Asked Questions
DB_Owner Permission Keyboard Shortcuts Activating the License Key Silently License Key Troubleshooting Access Denied Errors when Migrating to SharePoint Online Errors Connecting to SharePoint 2019 or SharePoint Server Subscription Edition in a FIPS-Enabled Environment Determining the Status of a Migration Running in the Background MySite and User Profile Migration Issues Optimal Setup for Best Performance Migrating SharePoint On Premises Using Proxies, Load Balancing or Alternate Access Mappings Extensions Web Service Installation Files Migrating JavaScript Migrating Site Variations Migrating with SharePoint Document IDs Changing a Job Configuration for Multiple Files SharePoint Site Collection Creation Issue Customized Wiki Page Web Part Zones Not Being Migrated Preserving SharePoint List Item IDs When Migrating to SharePoint Online Retrying Failed Document Copies to SharePoint Online CSOM Connections Import Pipeline Batches Getting Stuck Migrating Content When the Source Custom List Template is Missing When Migrating to SharePoint Online HTTP Status Code 429 (“Too many requests”) or 503 (“Server Too Busy”) Message Returned How Do I Identify and Remove Containers and Queues from My Azure Private Storage Account? Error: 'The object is associated with property AssociatedMemberGroup.' Migration Error: 'ERROR, the batch will be resubmitted to the import pipeline' Item Count at Target is Increased When Migrating Using the Import Pipeline Custom Lists with Versioning Enabled Not Being Migrated When Using the Import Pipeline Support for GCC High Tenants
About Us

Preserving SharePoint List Item IDs When Migrating to SharePoint Online

Question

Is it possible to Preserve SharePoint list item IDs when migrating to SharePoint Online?

Answer

Yes, it is possible to preserve SharePoint list item IDs when migrating content to a SharePoint Online target.

Item IDs and Document IDs are a little different in SharePoint (not the SharePoint 2010 or 2013 Document ID feature), and this means that how they can be accessed through a CSOM connection is a little different. There are some limitations that can be encountered when trying to preserve Item IDs that are dependent on the connection type. There are three basic connection types that we need to keep in mind when looking at these limitations. They are:

·Local or Remote OM (Object Model) Connection - This connection type is made either when the Content Matrix Console client application is installed directly on the target SharePoint server, or a remote connection is made using the Metalogix Extensions Web Service. When this type of connection is made, Content Matrix will be able to directly set the list item ID value in SharePoint through the Object Model. This value can be set as long as that specific value is not already being used by another list item.

·SharePoint CSOM (Client Side Object Model) or Microsoft 365 Tenant Connection - This connection type is made when remotely connecting to a SharePoint Online environment. When connected to SharePoint Online using a CSOM connection, Content Matrix cannot directly set the list item ID value so another method must be used instead. The CSOM method for preserving the list item ID value is for Content Matrix to create a temporary item and then deleting it. This creation and deletion process is done in batches and each item that is added will increment the ID value by 1. This will continue until the Content Matrix reaches the necessary item ID value. If the target ID value is already in use, or if another item with a higher ID value exists in the list, then the item(s) will be added to the end of the target list (and not at its ID value). There are a few limitations to this method:

oOlder items that are placed into newer folders - The general case for this is if an older item, that has a lower ID number value is moved and placed into a folder that was more recently created (and has a higher ID number value). In this case, the items with the lower ID number values will be added after the folder is created, so their ID number values will not be preserved. For example, if a list item with an ID value of "12" is moved into a folder, and the folder has an ID value of "25". In this case the ID value for the item will not be preserved because the folder it is located in will not be created until ID 25 is created. So Content Matrix will hold onto the item until the folder is created and then add it, but because the item ID has already been passed, its value cannot be preserved, and it will be given a new value by SharePoint after all other items have been added.

oLists containing default data - The general case for this scenario is when a SharePoint list (and not a Document Library) is created and SharePoint automatically adds a number of items (one or multiple) by default into that list. The default items that are created by SharePoint will also automatically be assigned an item ID value by SharePoint. When migrating this type of list their data will be deleted before the source content is migrated. The default added items will have ID values associated with them, and when the items are deleted those ID values will no longer be available, and Content Matrix won't be able to track what the values were associated to. This can interfere with the ID value calculations that are made, and throw off the ID values that are being set during migration.
 
The most common place where users can see default list items created is when an "Announcements" list is created. Announcement list that are created by SharePoint will automatically create one item by default that is the "Welcome" message. However, when migrating with Content Matrix and using the override option, users should not see this issue with Announcement lists because Content Matrix will delete the list that is created by the site template, and create a new one. When the new list is created Content Matrix is able to add the list items directly, and allows for the list item ID value to be set in the process. This is more likely to be an issue with SharePoint lists that have had their template modified to automatically generate a set of default items.

NOTE: When migrating SharePoint Task lists to SharePoint Online, it is recommended that the Preserve IDs on items/folders in Lists option is selected. This is to help preserve the Related Items property for items in the Task list. If unchecked there is a small chance that the Related Items property may list incorrect files, because some of these files may be referred to through the Item ID value.

Retrying Failed Document Copies to SharePoint Online CSOM Connections

Question

When I try to migrate some of my content into Microsoft 365 using a SharePoint CSOM or Microsoft 365 Tenant connection type, and this content contains a large Document Library, I see that some of my documents fail to migrate. The logs for the failure indicate that a "HTTP 500 - Internal Server Error" was thrown. What is the cause of this? And how can I fix it?

Answer

There is a potential issue when migrating specifically to SharePoint Online where users can encounter an "HTTP 500" error. This is caused by a combination of the CSOM/Tenant connection adapter and SharePoint's document upload methods. To help resolve this issue there is a document retry feature that can be configured. This retry feature will attempt to upload the document(s) into the SharePoint Online  target, and depending on the configured setting, will attempt to retry the upload process if it fails or times-out on the initial try.

The below steps will explain how to enable and configure this retry setting.

NOTE: This retry method is only meant for migrating to SharePoint Online targets. If you are migrating to an on premises target, then this retry feature will not benefit you since it makes use of Microsoft 365 specific methods.

1.Make sure that the Content Matrix client application is closed.

2.In the file system that the Content Matrix Console client application is installed on, navigate to the the appropriate file location:

·If you are required to be a local administrator on the machine where Content Matrix is installed:  C:\ProgramData\Metalogix

OR

·If you are not required to be a local administrator on the machine where Content Matrix is installed: C:\Users\<username>\AppData\Roaming\Metalogix\Common

3.In this location there should be an EnvironmentSettings.xml file. Open this file in an editor program. For example, Notepad, etc.

4.There are two variables that will need to be modified in order for the retry method to work. They are:

·CSOMDocumentRetriesNumber - This value determines the number of times that Content Matrix will make another attempt to upload/migrate any document(s) that has failed the initial document upload try, when migrating to a SharePoint Online CSOM target.

·CSOMDocumentRetriesDelay - This value determines the amount of time, in seconds (s), that Content Matrix will wait before starting a document upload retry, and is based on the above ("CSOMDocumentRetriesNumber") variable.

NOTE: The default values for these two variables will be set as "0". Users can set these values as desired, based on what works best for their environment.

5.After the desired values have been entered in the two variables, save and close the file.

6.Restart the Content Matrix client application. The changes should now be in Content Matrix Console, and used when running any migration to a SharePoint Online target environment.

After these values have been set and the client application has been restarted, any documents that fail on the initial migration attempt we be retried.

IMPORTANT:  If these steps do not resolve the issue and you are using the Import Pipeline for the migration, the error may be pipeline-related.  See "Error, the batch will be resubmitted" Message Displays When Using the Import Pipeline for details.

Import Pipeline Batches Getting Stuck

Question

I am migrating some content using the Import Pipeline.  After some time the batches seem to simply stop. Why am I facing this issue?

Answer

Migration duration and overall performance using the the Import Pipeline may vary due to factors outside the control of Content Matrix. Migration processing resides within Microsoft's domain and is subject to Microsoft's internal processes, such as maintenance and upgrades.

You may experience a delay of several hours before batch completion if the machines that Microsoft uses undergo maintenance/upgrades or if there are Microsoft 365 service issues/outages (as can be seen in the Microsoft 365 Admin Center under Service Health).

Migrating Content When the Source Custom List Template is Missing

Question

I have a list on my source that uses a custom list template (ex. a "Fab 40" list) and I want to migrate that list to my new target SharePoint environment. However, I am unable to install that template on my target before migration. How will Content Matrix deal with this?

Answer

If at all possible, it is recommended that users install any custom list templates on the target environment before migration. That would allow Content Matrix to use those templates when migrating, and trying to reproduce the same results on the target. But there are some customizations within templates that Content Matrix is unable to migrate content or metadata into, such as the "Fab 40" templates.

In some cases users are unable to install the custom templates in the target environment, such as when migrating to Microsoft 365. In these cases Content Matrix will attempt to find the base template of the source customized list. Then it will create a list on the target using that same base template, and migrate the content into that list.

To help with this two variables have been added to the list XML attributes. They are:

·BaseTemplate - This is the value for the custom list template.

·BaseType - This is the value for the default template that any custom template is based on. If the custom template does not exist on the target, this template will be used for the list creation instead. Please see http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.client.basetype(v=office.14).aspx for more information on the SharePoint BaseType value.

These variables will help Content Matrix determine which base template to use so that an "Issue Tracking" list won't be created in a case where it should be a "Custom List" template.

Let's look at an example where you have a custom list on the source, and that list has a BaseTemplate value of "1011", a BaseType of "0", and has not been installed on the target. In this case, Content Matrix will look at the source list and find the BaseTemplate value of 1011. It will then look on the target to see if there is a template that has the same value. If it finds one, then Content Matrix will create a list with that template and migrate the data over. But, if the BaseTemplate value is not found on the target, then Content Matrix will look at the BaseType value instead, since this value should exist by default in the target SharePoint environment. In this example we also happen to know that a BaseType value of "0" is a "Custom List" or "Generic List" type. So Content Matrix will create a list on the target, using the "Custom List" template, and will then migrate the source data into that custom list.

Related Documents

The document was helpful.

Select Rating

I easily found the information I needed.

Select Rating