I worked with a couple of SharePoint Migration Project i.e. On-Premises to On-Premises & On-Premises to Online using
Manual Approach ( Content DB Attach)
ShareGate Tool
ShareGate Tool based PowerShell scripts.
Manual Approach
In this article, I am going to articulate approach and scenario, where we used SharePoint Online Manual Migration approach.
Scenario: -
Migrate small size of content i.e. List & Library ~ 4-5 GB to SharePoint Online.
Why I chose manual approach?
Tool is really required if we have >25GB of content and another factor like:-
- changes in Application Architecture (Restructure the Content DB).
- Changes in Information Architecture or Schema.
- Version History needs to maintain.
- Metadata need to maintain i.e. Created By, Created, Modified and Modified
- Easy to get Pre & Post Migration reports & Verification.
- Incremental is just configuration away etc.
- Content Size is huge, Easy to schedule a day-night jobs.
Note: - Migration Tool use Content Migration API, which need cloud storage account. It also come up with extra cost along with Tool.
IF all above factors are not so important, we can easily use manual migration instead of tools.
How Manual Migration Done
Save Site as Template is not really possible using below factors:-
· Publishing Site Template.
· Publishing Feature activated in the site.
· Sometime Managed Metadata Column and weightage of list column
2. Save List as Template
This is one of easiest way to backup and restore the content. Even it support lookup column,
If List backup and restoration configured in proper order i.e. First Parent then Child list.
Browse the List -> List Settings -> Save as Template. It will create and store the .STP file in the catalog library.
Another approach to create the STP file is PowerShell.
Both way, we can create the .STP file using Content or without Content.
Copy Data via Access:-
In some case, you have to use Access to move the content to Cloud.
Select Open with Access
Specify the Path with filename or List Name, which create the access database (.accdb)
Two option available:-
- Link to Data on the SharePoint Site
- Export a copy of data
Once you download access database, Open the Database and select the list and Select SharePoint under Move Data Ribbon group. It prompts for destination list.
Once you complete above activity, you content will reside in the SharePoint Online List. It successfully support lookup column also.
Limitation: - If you have lots of view, It doesn’t maintain the sequence of column. Need to do again manually or using PowerShell script.
Copy Data via Excel:-
Use Export to excel, It export all list data into excel.
Below is the example of exports data.
Navigate to SharePoint Online List and click Quick Edit – It allow to copy paste the data from excel to list.
After copy the content, Its look like, At the one time, you can copy paste 500+ items also.
Click on Done and Job Finished.
Library Files:-
File Explorer View or Drag & Drop. But it doesn’t allow more than 100 files at the same time.
Access allows you to copy list over to the cloud. But you can't use it for Libraries.
To copy files, use "Open with Explorer"
To copy files, use "Open with Explorer"
You still can copy these files by dragging and dropping directly in the document library:
When Manual Approach doesn’t suit (i.e. .STP file)
It doesn’t support two level below i.e. Moss2007 or SP2010 to O365. It is possible from SP2013 to O365.
How to set read-only
Once you transferred the data from source to destination, you must make sure that source data will not change. Manual Migration is tedious job and do the incremental is more tedious.
This can be achieved using Break permission inheritance and change to Read. Prioritize the list & library which are not updated frequently also help to avoid incremental for all.
Note:- Version History, All minor version should be published as major or discard.
Summary
If you have customization, you need to think, Can we convert to JS-Framework using REST or Search API, List form level customization using JS-Link.
If left behind customization, up to 4-5 GB content migration, we achieved in 8-12 hours jobs to avoid the incremental approach. To analyze and prepare the scripts and order of list took 2 weeks of time.