What Have We Got?
In the previous article, we discussed the methodology we used to get from SharePoint 2007 to SharePoint 2013, which was using a mirror. The mirror became an exact copy of our SharePoint 2007 site, but in a SharePoint 2013 farm. The content in the mirror was continuously updated so that once we were ready to go live, we backed up the DEV instance of SharePoint and restored it to our Production instance of SharePoint. We also highlighted the fact that ShareGate was integral to our process and success.Knowing the methodology was only the first step; before we could take any others, we needed to know what we actually had to migrate.
Taking Stock
A SharePoint farm with 60 sites also means a lot of lists and libraries. We knew that it would take months to get the mirror ready; all the while, the site would still be in use - meaning the inventory was dynamic. Lists could come and go, columns could be added to a library, views could change, and workflows could be added. It quickly became evident that a spreadsheet was not the way to go for taking inventory and tracking progress.Being a DBA, and being a huge fan of SQL Server Reporting Services (SSRS) and SQL Server Integration Services (SSIS), it seemed only logical that creating some tools for our own use using technology we were already familiar with would be a tremendous benefit.
PowerShell is Your Friend
With 60 sites worth of lists and libraries, we didn't want to manually gather and review all that information. Though PowerShell support for SharePoint 2007 doesn't come close to what SharePoint 2013 offers, it's good enough to create scripts that extract all the information you need to create a site inventory - so we created scripts to give us the following for all of our site collections:- Sites
- Site permissions
- Groups and group members
- Libraries and lists
- Library and list content types
- Library and list columns
- Library and list pages
- Library and list permissions
- Library and list event receivers
- Library and list workflows
- Library and list sizes
Since we ran the PowerShell inventory scripts once a week, a key part of making this method of inventorying effective was the ability to know when things changed; if our site inventory determined a list changed after it was added to the mirror, we had to review our migration script to ensure the changes were properly captured. Given the size of our farm, the small pool of users permitted to change list definitions, and the fact that our SharePoint 207 site architecture didn't change that frequently this was a fairly minor effort.
What to Inventory
Aside from the data we gathered via PowerShell, we also had to gather information related to the following:- SSRS Reports
- Custom code (custom event receivers and webparts)
- InfoPath forms
- 3rd-party solutions
- SSIS packages
While ShareGate can migrate InfoPath forms, the forms themselves still require some attention - even if the SharePoint 2007 and 2013 library URL's are the same, InfoPath relies on list GUIDS - so an InfoPath form will not migrate directly without modification. We read a lot of articles and postings related to InfoPath and SharePoint trying to answer the question "can I use InfoPath 2007 forms on SharePoint 2013?" We tried for ourselves and learned the answer is "yes, but." We were tied to the SharePoint 2007 forms client both before and after the migration (and were unable to migrate any of our forms to InfoPath Forms Services due to using digital signatures), and we learned that:
- When creating a data connection to a SharePoint 2013 list or library in a form that will open in InfoPath 2007 client, the connection must be modified in InfoPath 2007
- Editing anything other than a data connection in a form that will open in InfoPath 2007 client can be accomplished in InfoPath 2007 or InfoPath 2013
No comments:
Post a Comment