Migrating to a new version of SharePoint is like moving to a new home.
Before you make that move, there are critical issues to consider. Will the furniture, appliances, and decorative pieces from your previous home fit and work in your new home? What about the custom furniture in your current home that you may not be able to move? For example, it is difficult to move built- in closets that you had a contractor build for you. On a similar note, when was the last time you looked through all your drawers and found just how much useless junk you’ve got hiding in there?
Similarly, a SharePoint migration requires careful planning to identify the critical issues and mitigate the risks of the migration. Whether you’re moving your environment to SharePoint 2013, SharePoint 2016, or SharePoint Online (SPO), it is essential to understand the limits of your new environment, and whether all your content meets these limits. It is also important to consider whether content that is outdated, no longer in use, or forgotten, is worth moving.
It is also important to understand that SharePoint customizations such as custom web parts, custom features and solutions, and custom Master Pages and Page Layouts, do not work in newer versions of SharePoint. Some custom work will be required to move those customizations, especially when the destination is an SPO server, which supports SharePoint Apps and sandboxed solutions.
Which is why an analysis of your current environment and careful migration planning can save you time and money, and aid in the optimization of your new SharePoint environment.
Custom Master Pages and Layout
Custom Master Pages, and their associated page layouts, cannot simply be migrated over from SharePoint 2007 or 2010 to SharePoint 2013. While the formatting of Master Pages is similar between these versions, it is not the same, and Master Pages written for one version do not work in any of the other versions.
Considerations
It is vital to know how many custom master pages you have and what they are, before migration, so that you know which of these you either have to discard, or rebuild to work with Office 365. Once these pages have been rebuilt, you can easily migrate the content directly from the old version of the page to the new version using both the OOTB Upgrade and 3rd party migration tools.
Solution
Its best to work with SharePoint UI implementation experts to implement new versions of Master Pages and Page Layouts, and not assigning this task to SharePoint developers, who specialize in a completely different skill set (Visual Studio development vs. HTML and XML) and tool sets (Visual Studio and SharePoint Designer respectively).
In addition, i would recommend working with graphic designers to create the look and feel of the Master Pages (usually using Adobe Photoshop® or similar tools), and have the content generated by those tools given to the SharePoint UI implementation experts. Most SharePoint UI experts are not graphic designers, and won’t necessarily create good designs even if they know how to implement designs created by others. Similarly, most graphic designers know how to design beautiful web pages, but are not familiar with UI implementation in SharePoint.
Sites and Subsites
SharePoint sites and sub-sites are a place for collaboration, communication, or content storage. They are a great tool that can be an ideal method of storing content as well as presenting it to your internal and external users. However, SharePoint users must be sure to thoroughly understand the limits that are presented with owning sites and sub-sites. Too many sites within a site collection, or too many sub-sites within a site, can affect the functionality of your overall SharePoint deployment. This negative impact can in turn be carried over with your migration.
Consideration
Microsoft a recommended limit of a maximum of 250,000 sites per site collection. This means that you can create a very large total number of web sites by nesting sub-sites within your sites. However, there is also a limit applied to the number of sub-sites that you can have per site view. The recommended limit is 2,000 sub-sites per site view – if you surpass this number the web site will no longer perform properly. Both are factors to consider for the optimal functionality of your SharePoint deployment, as well as the health of your new environment post-migration.
Even with these limits placed on the number of sites and sub-sites that your site collections can have, you can still organize your content in a way that suits you and works within the Microsoft limits. For instance you can create a shallow site hierarchy with 100 sites, each with 1,000 sub-sites, totaling 100,000 web sites. Or you can create a deep hierarchy with 100 sites; each with 10 sub-site levels, also containing a total of 100,000 web sites. Working within these limits is vital for optimal performance, and with various site and sub-site configurations, working within the limits is easy and even practical.
Site content size is another major contributing factor. It’s important to know ahead of time where the largest sites are in the source environment to generate appropriate content reorganization plans and migration timelines.
Solution
You can move and reorganize the current location of your web sites and sub-sites by rearranging the placement of your sites and sub-sites and you can adhere to published SharePoint Online limits thereby guaranteeing the successful deployment, migration, and performance of you SharePoint environment.
Large Files
The maximum single file size has recently been increased from 250MB to 2GB for Office 365, while on- premise versions of SharePoint have a 250MB threshold that can be increased by an administrator at the Web Application level up to 2GB. A file is considered a large file when it exceeds 250MB. The greater the amount of large files you have in your farm, the greater your farm performance is negatively affected. Even though this limit can be increased within SharePoint to a maximum of 2GB, it is important to consider that if a file exceeding 250MB is already a large file, then files at 2GB will take up even more space, decreasing farm performance further.
Considerations
It is important to know how many large files your SharePoint environment is holding. In knowing this you can ratify the situation, decreasing the number of large files and optimizing the functionality of your SharePoint farms. It is particularly important to consider this factor before implementing a mass migration, as there may be files you no longer need that are simply taking up space and slowing down the continuity of your SharePoint operations. This, is an issue that you will invariably end up carrying over to your newly migrated environment.
Solution
Reorganize the location of your large files and if too many large files per farm are the problem, then use a third party tool which helps by allowing you to move some of those large files to areas where there is still room remaining for them. This allows you to stay within the Microsoft limits, enhancing the performance of your farm and its subsequently migrated version.
Try reducing the size of files with external BLOB storage. By externalizing the content of the large files, you still have access to them, without pushing the Microsoft limit on size. This furthers the usability of your SharePoint environment, and aids in the migration of content that is already within the pre-set limits.
Checked Out Files
SharePoint truly is an ideal way in which to collaborate with co-workers. From shared calendars, to collaboration on documents and projects, to approval workflows, it provides users with a workspace in which they can efficiently perform their work tasks. One of these convenient features is the ability to check out files, allowing end users to alter them without interruption from their fellow employees.
Considerations
With checked out files comes a caveat – if the file has not been checked back in, then SharePoint may not have an up-to-date version of that document. This prevents other end users from seeing the latest version, as the document must be checked back in for the latest changes to be uploaded. This is a factor that would affect the overall success of a migration.
Solution
It’s important to know how many files you have checked out, and which files they are in particular, prior to a migration. By ensuring that all files have been checked back in, you ensure that your SharePoint environment has an updated version of all documents. This then allows for a migration of only the latest content.
Large List Views
Lists that have multiple views and a large number of columns tend to have poor performance as they surpass 2000 items, and towards the Microsoft List View Threshold of 5000 items. The more metadata/columns these lists have, the more they will impact performance. Although Microsoft does not provide separate List View Threshold guidance for SPO, it is still important to know if you’re reaching this limit so that you can split large lists with List Views into multiple lists or use Search Based Lists instead.
Considerations
The more metadata/columns these lists have, the more they will impact performance. It is important to know if you’re reaching this limit so that you can split large lists with List Views into multiple lists, narrow down the list filters to return fewer results, or use Search Based Lists instead.
Solution
Creating a Search Based list involves creating a custom search results page that looks like a list, but is in fact a search results page. A difference results page would be needed for each list view.
Splitting lists using native SharePoint capabilities requires multiple steps:
1. Save the existing list as a template
2. Create new lists based on this template
3. Export content from existing list to Excel
4. Copying items and pasting individual items, field by field into the ‘Quick Edit’ view of each new list. This is an extremely time consuming process.
Splitting lists using third party tools involves multiple quick Copy/Paste operations. In each case, you would:
1. Copy the original list
2. Paste it on the target
3. Rename the new list which will include a subset of the original
Use the filter tab to filter only a subset of the list items into the new list, and run the migration job. An example of splitting a large list that has financial content with a field called ‘Fiscal Year’, is that follow the above steps and filter only items with a Fiscal Year value of the last 3 years into the new list. Then repeat the process for the previous 3 fiscal years, and so on.
Alerts or Notifications
Alerts are notifications of changes to content on a site that SharePoint users receive as e-mail messages or text messages to their mobile phone, depending on how your site is configured. Alerts are great way to keep track of additions or changes to content that users make on your SharePoint objects. Site owners may want to subscribe multiple users to an alert to make sure they get important updates, as well as encourage them to contribute to a discussion board, blog, or wiki.
Considerations
When you plan your migration, it is very helpful to know how many alerts are configured and which users are assigned to them before migrating the alerts to the target SharePoint environment. After migration, users can keep receiving alerts which results in a seamless transition to the new environment.
Solution
The report detail lists every alert configured for each site. The report columns are as follows:
Column | Description |
Site URL | The URL of the Source Site that was analyzed |
Alert Username | USERID of the person who has subscribed to the Alert |
Alert Name | Title of the alert as Displayed in the User interface |
Alert Type | The type of object to which the alert applies, which can be a list or document library, a list item or document, or a custom object |
Associated Object URL | IRL of the object that is linked to this alert |
Alerts by Site
Alerts are notifications of changes to content on a site that SharePoint users receive as e-mail messages or text messages to their mobile phone, depending on how your site is configured. For a particular site or site collection, alerts are great way to keep track of additions or changes to content that users make on your SharePoint objects for your site or site collection.
Considerations
When you plan your migration, it is very helpful to know how many alerts are configured and which users are assigned to them before migrating the alerts to the target SharePoint environment. After migration, users can keep receiving alerts which results in a seamless transition to the new environment.
Solution
Column | Description |
Site URL | The URL of the Source Site that was analyzed |
Alert Username | USERID of the person who has subscribed to the Alert |
Alert Name | Title of the alert as Displayed in the User interface |
Alert Type | The type of object to which the alert applies, which can be a list or document library, a list item or document, or a custom object |
Associated Object URL | URL of the object that is linked to this alert |
Sandbox Solutions
A sandboxed solution is a packaged set of SharePoint functionality that runs in a secure, monitored process with a limited access to resources within the site collection in which they are deployed
Considerations
Migration planning must take into consideration the sandboxed solutions deployed across site collections in a farm, so that administrators can analyze the constituent features, and manage these solutions in the target environment.
Solution
Column | Description |
Site URL | The URL of the Source Site that was analyzed |
Solution Name | Name of the sandboxed solution |
Status | Whether or not the sandboxed solution is active. Values are Activated or Deactivated |
Email Enabled Lists
SharePoint on premise allowed content to be sent to an email address and immediately imported into a SharePoint library. This feature has been removed from SharePoint Online in favor of Site Mailboxes.
Considerations
It is important to know where these content libraries are configured for accepting email, as alternative methods should be utilized with SharePoint Online.
Solution
Column | Description |
Site URL | The URL of the Source Site that was analyzed |
List Title | Title of the Email enabled List |
BCS Applications
On-premise Business Connectivity Service Applications facilitate complex integration solutions to access data from external data systems such as ERP and CRM, in addition to other data-driven applications that are exposed through Windows Communication Foundation (WCF) services or Open Data (OData) endpoints.
Considerations
SharePoint BCS applications are not migrated to the target environment. The integrations must be recreated in the SharePoint Online environment, so it is important to understand ahead of time where the implementation of this service application lives in the source environment.
Solution
Column | Description |
Name | Name of the BCS Definition |
Description | Description of the BCS definition |
Namespace | URL that represents the BCS definition |
Version | Version number of the BCS definition |
LOB System Type | The type of item returned. Possible values are WFC or Database |
LOB Entities | Entities included in the definition |
LOB Name | Name of the LOB |
Custom Profile Property Mappings
Profile property mappings enable SharePoint to exchange profile property values with data sources outside of SharePoint. For example, you could map a profile property to an attribute in Business Data Catalog for use with certain SharePoint features like Audiences.
Considerations
SharePoint Online uses Azure Active Directory (AAD) to populate the SharePoint profile values, and AAD does not support extending the schema and configuring additional profile property mappings. As a result, the custom properties do not automatically migrate to the User Profile Service in SharePoint Online.
Depending on the needs of the organization, the custom properties may require regeneration in the Admin portal of SharePoint Online.
Solution
Column | Description |
Connection Name | Name of the Connection |
Connection Type | The type of directory service that this is a connection to. For example, Business Data Catalog or Active Directory Logon |
Property Name | The technical name of the property that will be used by the user profile service |
Property Display Name | The human readable name of the property |
Property Mapping | The name of the attribute that is being mapped |
Direction | The mapping direction. Possible values are: Import – the value of the attribute in the external system will be imported in to SharePoint Server and used to set the value of the SharePoint Server property. Export – the value of the property in SharePoint Server will be exported to the external system and used to set the value of the attribute in the external system. |
Maximum length of the property value | |
Number of user profiles currently containing values for this property |
InfoPath
InfoPath Forms Services is a server technology that makes it possible for people to fill out forms in a Web browser. InfoPath Forms are browser-enabled form templates which can be filled out in a web browser without requiring additional add-ons or downloads.
Considerations
It is important for the user to be aware about the InfoPath forms associated with different libraries on a site level. Though the standalone application has been discontinued, InfoPath Forms Services are included in the on-premise release of SharePoint Server 2016, as well as being fully supported in Office 365.
Solution
Column | Description |
Form Name | Name of the InfoPath form template |
Form URL | Location of the InfoPath form template |
Associated List Title | List or library containing the InfoPath form template |
Site URL | URL of the site where the InfoPath form template is present |
Locked Sites
Locked Sites in SharePoint are created when a SharePoint Administrator intends to prevent the site content from being increased or modified. A site is usually locked in preparation for a migration to another environment, or to an archival location.
Considerations
In SharePoint on premise environments, a site could be marked as Unlocked, No Access, or Read-Only. However, the locking behavior is different in SharePoint Online. The Read-Only option has been removed from SharePoint Online requiring administrators to explore new plans about how to manage locked site collections.
Solution
Column | Description |
Site URL | The URL of the locked site |
Non-Default Master Page
A customized Master Page may be used to define the look and feel of all the pages across an entire SharePoint environment, and is usually created to establish the branding or corporate identity.
Considerations
A customized Master Page can cause issues with receiving updates to the user interface in SharePoint Online. In addition, depending on the source environment, moving an on premise custom Master Page to SharePoint Online may not be possible. It is recommended that you plan to manage changes to the end- user experience after the migration.
Solution
Column | Description |
Site URL | URL of the site that contains the non-default master page |
Custom Master Page URL | Server relative path to the non-default master page |
Master Page URL | Server relative path to the default master page |
Secure Store Applications
The Secure Store Service is designed to securely hold data that provides credentials to connect to target applications or external systems, and associate those credentials to a specific identity.
Considerations
This feature exists in SharePoint Online but is traditionally not part of a standard migration and must be configured separately. This is an important feature to be aware of as the target applications or external systems that are referenced, may not be available from SharePoint Online, and at a minimum will require reconfiguration.
Solution
Column | Description |
Application ID | Secure Store application ID |
Name | The name of the Secure Store application. This typically matches the Application ID |
Friendly Name | Display name for the Secure Store Application |
Contact Email | Contact email address associated with the Secure Store Application |
Credential Management URL | URL associated with managing credentials. This is typically not set by the user, but is provided for informational purposes |
Ticket Timeout | Ticket timeout associated with the Secure Store Application |
Type | The type of the Secure Store Application. Values are Group, GroupWithTicketing, Individual and RestrictedGroup |
Web Application Policy
A web application can contain multiple site collections. A Web Application Policy is a comprehensive set of permissions that apply to all users and groups for all site collections in a web application.
Considerations
In SharePoint Online, a comprehensive Web Application Policy is no longer available. As a result, the governance controls put in place from a Web Application Policy perspective must be reevaluated and must be set on every site collection for a SharePoint Online environment.
Solution
Column | Description |
Web Application Name | URL of the site that contains the non-default master page |
Policy User Name | Server relative path to the non-default master page |
Policy Display Name | Server relative path to the default master page |
Policy Role Binding | Permission granted to the user or group in the source through a named role |
Workflow Associations (2013 Style)
SharePoint 2013 introduced the concept of Workflow Manager, allowing for newer-style, advanced SharePoint Designer workflows to be leveraged in SharePoint. These workflow associations can be migrated. However, running instances of workflows present a problem: the instance information cannot be migrated. If you attempt to migrate a running instance, the instance information will be lost.
Considerations
When migrating, it is important to understand where and what these workflow associations are, in order to determine the continuity of workflows at the target.
Solution
Column | Description |
Site URL | URL of the web site that the workflow is associated with |
List Title | Title of the list the workflow is associated with |
Workflow Association Name | Name of the workflow association |
Workflow Name | Name of the workflow |
Running Instances | Number of workflows actively running at the scope |
Scope | The level that the workflow is associated with. The possible values are List, ContentType or Site |
IsReusable | Identifiers which workflows were published as reusable workflows. Values are True or False |
Workflow Running (2013 Style)
When migrating to SharePoint Online, the instance of a running workflow cannot be maintained. This means that any workflows that are actively running should be completed or cancelled prior to migration or they must be restarted at the target.
Considerations
Since running workflows will lose their state information, running workflows will need to be restarted after migration unless they are completed at the source.
Solution
Column | Description |
Workflow Name | Name of the Workflow |
Item URL | URL of the item that is associated to the running workflow. If this is a list item workflow, the URL will point to the list item. If this is a site workflow, the URL will point to the site |
Scope | The level that the workflow is associated with the possible values are List, or Site |
Workflow Initiator | User who started the workflow |
SharePoint Add-ons
SharePoint Add-Ins (formerly SharePoint Apps) are an alternative to Full Trust Code in SharePoint by allowing client-side development with modern browser controls (JavaScript, HTML, etc.).
Considerations
These Add-Ins exist as customizations and will not migrate to SharePoint Online. These Add-Ins must be reconstructed in the SharePoint Online environment.
Solution
Column | Description |
Web URL | URL of the web site hosting the add-in |
App Title | Title of the add-in |
App Source | Location from where the application was installed |
APP ID | ID assigned to the add-in |
Launch URL | URL used to launch the add-in. If the URL is not associated with your SharePoint environment, then the add-in is a provider-hosted ass-in that runs outside of the environment |
Settings Page URL | URL for the settings page associated with an add-in |
Page URL | URL to the page that contains the add-in, if the addin is an app part |
Unsuppoorted Web Templates
Some site definitions such as the Meeting Workspace and Document Workspace, have been discontinued by Microsoft and are no longer available in newer versions of SharePoint, or on Office 365. If you are using any of these site definitions in sites on your current farm, you must choose an alternative site definition that has as much of the layout that the deprecated site definition had as possible on a target site in order to migrate.
These sites can be migrated, but may have to be modified from within SharePoint after the migration to return them to the same layout and functionality as the original site definition. For a full list of discontinued features, see office.microsoft.com.
Custom Web Part Pages
Custom web part pages are pages with a custom layout of web parts that was not available Out of the Box. These custom layouts were typically created either in Visual Studio, or using SharePoint Designer, and do not migrate well to new versions of SharePoint. As a result, you must recreate them in your new SharePoint environment, prior to migrating. If the web parts on these pages are OTB web parts, then once the page has been recreated, the migration will work smoothly.
Files and Folders with Long URLs
SharePoint On-premise and Office 365 impose some limits on the length of URLs. If files and folders exceed this URL limit, then it can cause problems during migration. It is therefore important to know how many Files and Folders exceed the URL limit, so that users can address the issue prior to migration.
File Versions
Having a significant amount of versions of a file can cause performance concerns in a migration effort. It’s important to plan ahead of time to identify the amount of file versions that are relevant to the needs of the business and validate how many of those versions should be migrated to SharePoint Online. Any files with a large amount of versions should be closely analyzed as part of any migration plan.
Large Lists
The recommended limit in SharePoint for single list views is set to 5,000 items. This threshold can be increased in SharePoint, but it will cost users the performance of their environment – furthermore, this limit is a hard limit for Office 365 environments. Therefore, for both a SharePoint 2013, and Office 365 migration, it is vital to know the size of your lists, as lists with 5000 or more items will hinder the progress of your migration. Knowing the size of your lists in advance of said migration, will therefore aid users by notifying them of the lists that need to be split prior to migration.
Large Sites
While content size is not the only factor for migration time and performance, it is certainly a major contributing factor. It’s important to know ahead of time where the largest sites are in the source environment to generate appropriate content reorganization plans and migration time-lines.
Information Rights Management
Information Rights Management is an extra level of security that can be implemented on content at the list and library level in SharePoint. These settings need to be setup and configured at the farm level before being enabled at the list and library level. Due to this scope, configuration of Information Rights Management does not migrate to SharePoint Online. By identifying these lists and libraries ahead of time, it can be determined where this implementation will need to occur post-migration.
Full Trust Code Solutions
While Full Trust Code (FTC) Solutions are useful for deploying custom SharePoint controls in on-premise environments, these types of solutions are not available in SharePoint Online. It is important to identify those deployed elements in the SharePoint environment as alternative options will be needed after migration.
Browser File Handling
Browser File Handling is a setting in SharePoint that determines how restrictive SharePoint will be in regards to opening files within the SharePoint browser. These settings cannot be migrated over to SharePoint Online, so it is important to understand where additional levels of restriction have been put in place on the source.
Thats all folks and its just a question of putting down all the simple details in black and white before jumping on the migration bandwagon.
You nailed it here. Most clients do not understand the architecture behind a migration. Great examples of our challenges. Thanks
You are welcome Chris 🙂
Hi Hammad,
Thank you for the intersting and detailed article.
One note about Site Architecture, I do not see in your article the recent rolled out Hub Site with related new approach of site collection organization. Do you suggest this new way of flat site design/organization architecture (as per MS reccomendations)?
Hi Alessio,
Yes i would recommend the flat architecture as recommended by Microsoft but i am unsure as to how easy it would be. Honestly i haven’t tried it yet and yet to experience it practically.
One of the major issues most of us face is the frequent updates on SP Online from Microsoft which makes migration very challenging.