Question
Why is it that when I migrate a wiki page that has been modified using SharePoint Designer (SPD), web part zones and web parts are not preserved on the target?
Answer
To be able to migrate web part zones and web parts that were added using SPD:
·the SharePoint source version and the source connection type must support customized wiki page migration
AND
·the Configuration Key AllowCustomizedWikiPageMigration in the ApplicationSettings.xml file must be set to True.
Supported Source SharePoint Versions and Connection Types
You can migrate custom web part zones and web parts added using SPD for the following SharePoint versions and connection types on the source.
Supported Source Version |
Supported Source Connection Types |
---|---|
SharePoint 2007 |
·Remote Object Model (MEWS) ·Database (Db) |
SharePoint 2010 | |
SharePoint 2013 |
·Local Object Model (OM) ·Remote Object Model (MEWS) ·Database (Db) |
NOTE: Currently, customized wiki page migration is not supported for a SharePoint 2016 or SharePoint 2019 source.
Adding a Configuration Key to Allow Customized WikiPage Migration
If you want to migrate Customized wiki pages instead of treating them as normal wiki pages for which source content will not be preserved at the target after migration, you can add the Configuration Key AllowCustomizedWikiPageMigrationto the ApplicationSettings.xml file manually (ideally after the Configuration Key EnableSslForEmail) and set the value to True.
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.
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.
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).
© ALL RIGHTS RESERVED. Terms of Use Privacy Cookie Preference Center