Are you trying to Migrate SharePoint to Office 365?
Congrats! You are here because you are considering to migrate (all or part of) your on-premises SharePoint to Office 365 and perhaps this is your very first step in getting that process underway. The purpose of this article is to provide some guidance on the various steps involved in migrating from SharePoint on-premise to Office 365 (SharePoint Online). I’ve been through it a few times and thought I could write this blog about my experience with migrations and what I would suggest.
A lot of the migration process/considerations is similar to any content migration, e.g. Migration from File Share, however there are some special considerations that need to be taken into account when migration from SharePoint On-premise to Office 365. This article focuses on those considerations specifically.
If your plan is to actually get the migration process underway and figure it out as you go, then let me tell you that it is not going to be a pleasant ride to say the least.
It is safer and better to identify what elements are difficult or impossible to migrate over and inform your business users as soon as possible and consider options.
If you would like to perform a successful migration and not suffer some of the following then read on:
- Loss of critical data
- User dissatisfaction
- Lack of trust in the new platform (for no fault of its own!)
- Lack of trust in the team entrusted with the migration – this will mean the end to any co-operation you can expect from the users. You WILL need this for effective change management etc.
- Lack of adoption of the new SharePoint Online platform
All of the preceding will of course mean that you are not going to be viewed very fondly by the stakeholders nor will you do your career any favors!
There are several considerations to be made before migrating from SharePoint Server On-Premise to Office 365. This can be broken down into logical phases so that the migration can be performed without causing mayhem in the organization.
The following figure shows the four high level logical phases in carrying out a successful migration. I will cover all the four in this article at a high level.
Any feedback is welcome, please leave a comment below if you have any questions
Analyze
The primary purpose of this phase is to understand what you are dealing with, i.e. the scope of the migration. Effectively, you should be assessing your current SharePoint on-premise environment to understand the volume of content etc. In other words, understand the beast (or maybe not!) that is your current SharePoint On-premise environment.
One of the first steps within this phase is to do a stocktake (inventory) of your current environment. This will significantly influence your migration plan/approach. By the way, please note that an inventory is something that you would do even for migrations that take place from any source to Office 365 and not just from On-premise SharePoint. The inventory can be in the form of an Excel spreadsheet that contains the following info:
- Site Title
- Site URL
- Site Owner(s)
- Size
This master inventory file will be used to manage the migration schedule and also classification of content. In addition, it is also used to validate that the sites have been migrated correctly.
Once the inventory of your current environment is done, the next step is classify the content that you have identified. Classification should be based on the age of content, relevance etc. Depending on the way the content is classified, you can perform what may be considered a simple migration or a complex migration in terms of effort and therefore cost. For example, one of the simplest approaches is to Archive all content, i.e. make the content available in a read only manner to its owners and start fresh in the new O365 environment. This is often not possible and there will always be something that you will need from the current environment in your new environment. You can simply ‘cherry-pick’ this content and migrate it. Conversely, one of the most complex approaches is to mark all content for migration including any custom applications, workflows etc.
Typically, the final approach turns out to be a middle-ground that the key business stakeholders are comfortable with and something that works for your organization.
The following are some of the specific challenges that need to be considered when moving from SharePoint On-premise to Office 365:
- Level of customization, i.e. customization that is beyond Out of the Box (OOTB) such as Farm solutions, Sandbox solutions etc.
Since SharePoint Online does not support ‘Farm’ solutions need to be transformed to use the SP Add-in model. You can also use the SharePoint Framework (SPFx) released in Feb 2017 for client side development of pages/web parts, e.g. if you have a custom web part that has been built and deployed as a farm solution, the migration approach should be to first consider if there are any features inherent to Office 365 that can handle this. If not, then you should look to build that functionality using the SPFx.
Please note that code-based Sandbox solutions have also been deprecated but declarative no code sandbox solutions (NCSS) are still supported. Please refer to the blog here from Jan 2014 for the official statement regarding this.
Timer Jobs and Event Receivers also do not have an equivalent in SharePoint Online. The purpose and solutions for those also need to be rethought. This support article from Microsoft shows the kind of customizations, apps and solutions available in SharePoint Online.
- Workflows and Associated History
Any workflows implemented in the current SharePoint environment will need to be assessed for complexity and perhaps it might be simpler/easier to rebuild them. Workflows are one of the most often used features within a SharePoint environment and therefore it is to be given enough consideration early on so that you can plan your project timeline. It is also important to note that workflows need to complete or be stopped just prior to migration. In-flight workflows do not migrate correctly.
- 3rd party Programs
Please take note of any third party solutions that have been deployed as either Farm solution(s) or Sandbox solution(s). It is important to consider whether the upgrade to SharePoint Online is a native one, i.e. does the solution provider provide an equivalent SharePoint Add-in from the SharePoint Store for instance. If so, you should consider what the migration process is from the vendor and also check licensing and data migration implications. Microsoft also has their own free SharePoint Migration Tool available which could also be a fit for your team.
- InfoPath Forms
Full trust InfoPath forms may have been really cool back in the days of SharePoint 2007 and SharePoint 2010 but it has certainly fallen out of fashion and so it should for a very good reason…Microsoft decided in Jan 2014 that the InfoPath platform will no longer get any updates. InfoPath 2013 is the very last version of InfoPath. It is nevertheless supported till 2023. Please note that browser based InfoPath forms are still very much supported in SharePoint Online.
- Custom Master Pages/Page Layouts
Custom SharePoint Master Pages and page layouts were quite cool and quite simply there were developers making a living out of building these. In SharePoint Online, customising Master pages is a big no-no! The reason for this is that being an Online platform, Microsoft regularly rolls out updates to their default Master pages (named ‘Seattle’ and ‘Oslo’) to improve the experience, page load times etc. So, the fundamental HTML structure of the Master page is regularly evolving. Once you choose to use a custom Master page, you basically miss out on all the goodness of the regular updates by Microsoft. Currently, the recommended options are explained in this blog here. One of the simplest ways is to use the Alternate CSS approach.
- Information Architecture
Information Architecture refers to SharePoint sites, libraries, lists, Content Types, Columns etc. Most (99% if not 100%) of the time you will find that the information that you want to migrate to SP Online from SharePoint on-premise needs to be re-architected. This could be for various reasons such as an inherent Organizational restructure which has resulted in information sitting in a site structure that is no longer relevant. This is if you have designed some of your existing site structure based on the Organizational structure. Tip: When architecting SharePoint solutions try not to tie it too closely to the Organization structure/hierarchy but rather architect it based on functional areas.
- Features available in On-Premise Only
One of the main considerations is to assess the use of features that are available in On-premise only but not in SharePoint Online. As an example, a feature like the Incoming E-mail on a Document Library is not available in SharePoint Online. This is when you take the attitude of “When one door closes another one opens” and look for features that are available in SharePoint Online that might prove to be a workaround. In this instance, you could use this Flow template to overcome this as explained in this article.
- Document Path and Length of URLs
The maximum length of URL paths in SharePoint Online used to be 255. However, you would be pleased to know that a recent announcement was that this is going to be increased to 400!
- My Sites
One of the common challenges is to deal with My Sites Documents and user profile pages. The equivalent functionality in Office 365 is OneDrive for Business and Delve profile pages for each user. OneDrive for Business allows users to store their work related documents and also sync those to local folders. It is important to note that the OneDrive for Business sync client allows for a 2-way sync, i.e. users can interact with their documents in their local OneDrive for Business folder and all their changes will be sync’s online. This is great for user adoption as the user experience will feel very much like using a corporate network share. The new version of OneDrive for Business sync client also has the ability to sync SharePoint document libraries and the most recent development is that OneDrive for Business is going to receive a new feature called Files On-Demand which allows the users to see all of their files/folders online without actually having to sync them locally, i.e. no local storage is used till the file is actually requested and it is downloaded on demand.
- User Profile Mapping
Local user profiles need to be migrated to Office 365. The identity mechanism used by Office 365 is Azure Active Directory (Azure AD). Typically, an on-premise SharePoint Server will be using a local Active Directory. When migrating to Office 365 (SharePoint Online), a tool like Azure AD Connect should be used to sync all the local users into Azure AD. Note that DirSync and Azure AD Sync are deprecated and Azure AD Connect is the recommended way to sync identities from an On-premise directory to Azure AD.
Azure AD Connect can be used to do a lot more than just migrate user profiles into Azure AD. It can be used to setup Password Sync as well. In other words, users will get the ability to use ‘Same Sign-on’, i.e. the password to log on to the corporate machine is the same password to log onto O365. We can go further and even setup Single Sign-On, i.e. the users need not enter credentials when accessing O365. The credentials with which the user is logged onto the machine is the same credential that will be passed onto O365 for automatic login. Implementation of Single Sign On requires the setup of Active Directory Federation Services (ADFS) Server.
There will be cases of disabled/expired accounts which no longer have a corresponding account in Azure AD. A 3rd party tool will typically identify these during migration and the unresolved users can be mapped manually to the desired user account, say perhaps the default account being used to migrate the content.
- Absolute URLs and Broken Links
Please take into account any hyperlinks within your current SharePoint environment that are absolute URLs. When this content is migrated, you inevitably end up with broken links. It is always preferred to use relative URLs within SharePoint. So, when it comes to scenarios like migration etc. you avoid instances of broken links. If you have ended up in a scenario with a lot of broken links, then the QiPoint Broken Link Manager can help!
- Search Settings
It is important to note that a content migration does not carry over search settings such as best bets, query rules, custom result types, result sources etc. This has to be dealt with separately. One of the options is to export the search settings and import it into SharePoint Online.
- Image Renditions
Just like search settings, it is important to note that any image renditions are not carried over. So, these will typically have to be manually created in the target SharePoint Online site. One key consideration here is that image renditions depend on rendition ID to determine which rendition to use. So, it is very important to create the renditions in the target site in the same order as it was created in the source site so that the Rendition IDs match. For example, if Rendition ID 1 in the source site is 1024 x 768 then it is important that in the destination the same rendition holds rendition ID 1 provided that you intend to keep the same set of renditions in the target site.
- BCS/BDC Models
Any existing connections within Business Connectivity Services (BCS) need to be taken account of and an appropriate plan devised when migrating to SharePoint Online. The types of connections used on-premise should be analysed and the plan to achieve equivalent functionality in SharePoint Online need to be devised.
The ‘Analysis’ phase is one of the most important phases of a migration project. Do not skimp on the effort spent in this phase. You will come to regret it later.
Prepare
The primary purpose of this phase is to get ready for the actual migration, i.e. get the ducks in a row.
The following are some of the considerations doing the ‘Prepare’ phase:
- Migration Tools
Depending on the volume and complexity of content, more often than not, you will find that a third party migration tool is required to actually execute the migration. There are several third party tools in the market. Our SharePoint Migration Tool is best suited for small (under 1TB) to medium migrations (under 2TB) to SharePoint Online. There is a direct download link to it here:
Download a SharePoint Migration Tool free (also used by Microsoft, Intel, NASA!)
It also includes other components to perform pre and post SharePoint migration validation reports, as well as fix links and permission comparison reports. It can be installed on Windows 7 and higher! Does not require any Windows or SharePoint Server component.
- Classifying sites
One of the important steps is to ensure that sites are marked for deletion, archiving or migration. This is typically done by providing the inventory spreadsheet generated in the ‘Analyze’ phase to the site owners and requesting that they mark their respective sites they own as follows:
- Deletion – when the content is no longer needed
- Archiving – when the content might be needed but not required actively, i.e. historic content which may be required.
- Migration – when the content will be required for day to day activities or needed as a reference
- Migration Timeline
There is a common misconception that the volume of content determines the timeline to migrate content. In fact, there are various other factors that affect migration timeline and throughput. Some of those factors are latency/bandwidth, SharePoint Online throttling limits, on-premise network performance, number of requests made by any third party migration tool etc. The planned migration dates for the various sites can be set based on this and recorded as a column in the Master spreadsheet.
In addition, there are technical considerations in play too. For example, the use of the migration API where possible can speed up the migration.
Some technical changes like temporarily disabling virus scanning on the migration server can help too as it will speed up the migration.
- Hardware/Configuration Changes
It is good to ensure that any physical/virtual servers are allocated enough resources and changes to network and firewall configurations which would be required are taken into account.
- Selecting a target Office 365 Plan
One of the other important factors is selecting the target Office 365 Service Family/Plan. By far, the most popular service families are the ‘Business’ and ‘Enterprise’ service families. Business service families are suitable for small to medium sized organisations. With the Business service family, an organisation can have a maximum of 300 licensed users. However, with an Enterprise plan, there are no limits to the number of seats that can be purchased. Deciding on an Office 365 plan can prove to be slightly overwhelming if you have not had exposure to Office 365 before. Here is an article that provides a good high level overview of the various plans on offer and some of the considerations before making a decision on the plan to use. Note that it is possible to mix and match plans.
Based on the analysis carried out in the previous phase, it is important to come up with a detailed migration plan to counter each of the item listed in the previous phase including the estimated schedule and timeline. The master spreadsheet should be used to mark each site with a proposed date for migration. This can then be used during the migration phase to record actual migration dates and use it as a project planning artefact. Note that it is important to mark the high visibility sites for thorough checking post migration. It might require several passes to ensure that all the content has come across correctly. It is to be noted that while migration not all of the features in SharePoint On-premise exist in SharePoint Online. Hence, those features should be taken into account and an appropriate migration plan devised.
It is the ‘Analysis’ and ‘Preparation’ phases where you would want to put a lot of effort in to go through a successful migration akin to the concept of “measure twice cut once”.
Migrate
This phase as the name suggests is where the actual migration is carried out.
The content is migrated from SharePoint on-premises to SharePoint Online and time is allowed for the site owners to validate the migration. Once the migration has been validated, the site is deemed migrated and the cut-over to the new site takes place. During cut-over, a banner should be placed on the original (source) site which effectively tells the users to refer to the new site. In addition, the source site should be made read only for a period of time (determined during the ‘Prepare’ phase) following which the source site is no longer available even in ready only mode, i.e. all user rights should be removed. This helps with breaking the dependency on the source site. This process is effectively repeated for all sites and eventually the entire migration should be completed.
Hybrid Scenario
One of the key things to remember is that with an On-premise to SharePoint Online migration, hybrid scenarios are totally feasible, i.e. move selected sites into Office 365 while the other sites are still on-premise. This will cause minimal disruption to the end user and also serve to give the migration team some more time as the migration can be carried out in several staged phases.
FastTrack Centre (FTC)
Microsoft’s FastTrack Centre is a dedicated resource to ensure customer success on the Office 365 platform. Remember, when you succeed Microsoft succeeds 🙂 The benefits offered by FTC have been listed in this article here. The key ones are data migration and adoption guidance with several best practice tools and resources available.
The various tools and resources are available here for customers with less than 50 seats on Office 365. For customers with more than 50 seats, direct remote assistance including joint creation of a success plan is available via the FTC here.
The actual Data Migration service is for customers with more than 150 seats but data migration guidance is available to all customers. As part of the Data Migration service, Exchange Online, SharePoint Online and OneDrive for Business workloads are covered. Here is a list of Microsoft Responsibilities and Your Responsibilities when it comes to the services offered via FTC.
It is important to note that the use of FTC does not have a time limit. It can be used throughout at any stage, i.e. if you have already been on Office 365 for 1 year, you are still eligible for FTC services.
The FTC is not a well-known resource (or at least as popular as it should be for what it offers) and I would strongly recommend you to make contact with the FTC team especially if you have more than 50 seats!
Validate
In this phase, the migration as a whole is validated/confirmed. It is not to be confused with the validation a site owner performs of their individual sites during the ‘Migrate’ phase.
The migration as a whole is validated against the initial master inventory Excel spreadsheet created during the ‘Analyze’ phase. The results of the migration can be recorded in the original inventory master sheets and can be used for reporting. This part of the process is very important to ensure a proper amount of sampling data is used to validate the migration success and avoid negative feedback from users!
Typically I try to have a small team to help with content validation with checklists and ensure different types of content are validated. For example, for a Document Library I will make sure that if it has Managed Metadata Fields, that those values are brought over and I would validate 10-20% of them.
Scripts can be helpful to output reports to filter and sort data for validation as well (for larger lists/data sets).
Examples:
- NULL (values) Validation
- Security Validation
- Lookup list Validation
- etc..
QiPoint also offers a tool to build SharePoint Migration validation reports
Download our SharePoint Migration Tool now ! (also used by Microsoft, Intel, NASA!)
The toolkit can be installed on Windows 7 and higher! It does not require you to install any Windows or SharePoint Server component. Click link above to download it now!
Search functionality will have to be tested to ensure that the correct results are returned as a brand new search index would be created in the SharePoint Online environment. Navigation is another key area that needs to be validated especially if managed navigation is used. It is to be ensured that the navigation points to the correct term set.
Apart from carrying out a technical validation, the business stakeholders should also validate/confirm that they are satisfied, i.e. the migration project as with any other project should be subject to User Acceptance criteria. Buffer in appropriate time for validation! Collaboration with business site owners will be important to ensure they are happy and that you are working through any issues discovered with them. The worst thing is to make them feel like they have no say!
Once the final sign-off is gained, the migration project can be deemed complete and you are well setup to gain even more value out of the Office 365 platform than you could with your old On-Premise environment. Of course, don’t forget to have a post-migration plan, i.e. Administration plan, Governance plan etc.
Congrats again! You are now pretty much at the end of this article and hopefully have a good idea on how to go about your migration project.
Summary
Be sure to install our SharePoint Migration Tool to help with validation reports and moving your content to the cloud.
A successful SharePoint On-premise to Office 365 migration requires careful analysis, planning and preparation. The key is to include both technical and business stakeholders in the process. A Master Inventory sheet will prove very useful for communication, tracking progress and final validation. There are several additional considerations specifically for SharePoint on-premise to Office 365 considerations such as Workflows, InfoPath forms etc. In addition, a hybrid approach can be taken which will allow to migrate to Office 365 progressively. Third party tools can help significantly with the migration process but remedial work will be required regardless of the tool used. Even the best migration tools cannot guarantee that all aspects of migration will be taken care of. Finally, do remember to validate your migration and get acceptance/sign-off from the business.
Additional Resources
- SharePoint 2013 Migration Assessment Tool – https://www.microsoft.com/en-us/download/details.aspx?id=53598
- How Microsoft ran its own Migration – https://www.microsoft.com/itshowcase/Article/Content/691/SharePoint-to-the-cloud-Learn-how-Microsoft-ran-its-own-migration
- What is SharePoint? A Beginner’s Guide to MS SharePoint Software - October 8, 2018
- Beginner’s Guide: Windows PowerShell – How to Use Tutorial for Dummies - October 8, 2018
- Remote PowerShell to Manage SharePoint on-premises - August 14, 2018