Sharing the experience search

Search sharing-the-experience.blogspot.com
Showing posts with label Migration. Show all posts
Showing posts with label Migration. Show all posts

Wednesday, October 9, 2013

SharePoint Online manual migration: Managed Metadata issues

I have just finished SharePoint Online manual migration. And this post is all about migration Term Store and the managed metadata columns.

So, you have got a term set on-prem.

How do you migrate the term set to SharePoint Online? 

In case of migration to SharePoint Online manually, the only option you left with - is Import CSV file of term set to the destination - SPOnline.

The provided PowerShell script exports the term site into CSV file on-prem in order to import it in SharePoint Online.

The pitfall of importing CSV file , you can't specify child-parent relationship between term sets.

Another issue that I have discovered that there is no way to copy over Keywords, since it's a system term set. So, in case you need them from on-prem either you should re-type them manually or (much better option) a buy a 3rd party tool for SharePoint migration.

And finally, the BIG ISSUE of manual migration of managed metadata:

Imported terms will get a different GUID than terms on-prem. That means, every list that has managed metadata  after migration should be updated manually with valid imported term.

To sum up, if you have used Taxonomy, Folksonomy extensively in your on-prem, the best approach to migrate is to use 3rd party tools for SharePoint migration

SharePoint Online migration: Manual migration. Why, How?

I have just finished manual migration SharePoint on-prem to SharePoint Online.

And this post is about:
 - Why I chose manual migration?
 - How is it done?


Just to make sure that you are aware of Supported Migration scenarios, let me post this link for you - Migrate to Office 365 – Supported Migration Scenarios. This blog is obviously to support 3d party tool for migration, in this case - Sharegate. I am not related to this product in any ways, moreover I have never used it. But I like how the author presents the information regarding SPOnline migration simply and clear.

So, Why I chose manual migration?

I took some time to analyze leaders in 3rd part tools for SharePoint Migration , and came up with impression that it's worth the money if content is bigger than 50 Gb. In my case, it wasn't.
So, I have decided to do a manual migration.

NOTE: MANUAL MIGRATION WILL REPLACE CREATED BY|MODIFIED BY as well as CREATED DATE|MODIFIED DATE with the user who is doing migration and date will be set as current date when migration is done.
In case you have to preserve these metadata, you need to to use 3rd party migration tools.

How is manual  migration done?

You have several options here, depending what you want to copy over.
The fastest and easiest way is:

 1.  Save site as a site template. 


   This way you can copy the entire site with content (if you set the option  "Include content").

You can't save site template if:
 - In the site Publishing feature is activated;
 - If list is to large to save as a template (The size of a template cannot exceed 52428800 bytes.)
 - Sometimes lookup, managed metadata columns prevent from saving the site as a site template.

2.  Save list as a list template

In case site template wont' work out. You can create a blank site in SharePoint Online, and than transfer content list by list.

The easy way to transfer list - is via List template with content.  (List- Settings -> save as a template)
This way you can save list as well as library.

You can't save list template if:
- The list is too large to save as a template. The size of a template cannot exceed 52428800 bytes.
 - The list has a lookup or metadata columns

Special case: How to save Wiki as a list template:
There is no option "save as a template" under Wiki library settings. BUT, you can save Wiki as a template.
You can do that via SharePoint designer. Open the site in SharePoint Designer, select wiki library and in the panel above you will find the option "save as a template"

3. Copy data via Access
   In some cases, you have to use Access to bring the data over into the cloud. You can find "Open with Access" in the list menu.
You have 2 options how you can link data in the Access:
 - Link to data;
 - Export.

How to choose over another?

You don't need to write back to source (on-prem), plus sometimes you want to transfer managed metadata, user, lookup columns. This is a perfect candidate for Export.
The export will convert managed metadata, user, lookup into text fields.

In contrary, most of the time, for destination, "Link to data" brings the best result. 

How to migrate lookup, user, managed metadata columns?

Before migrating list with the lookup, you have to create a list for the lookup value in the destination site.
Then you can create a destination list with the lookup and link the list to Access. Meanwhile you copy data of the source list to Acces, the lookup values are converted to text value.
Then copy data from the source table to the destination table.
After the data are copied over via Access, update the lookup column in Quick Edit mode in the list
Quick edit allows you update manually Managed Metadata and User columns pretty fast.

Here are the cases when I use Access:

 - Copy Links list;

 - Export from the source a list with a user column.

 - Export from the source a list with a lookup. 

-  Export from the source a list with a managed metadata column.

4. Copy files via Explorer
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"


Exception: Files large than 50 Mb while copying give error "The file size exceeds the limit allowed and cannot be saved"


You still can copy these files by dragging and dropping directly in the document library:






Special bonus: How to set read-only on list?
And this tip is kind of obvious, but I want to share it anyway to complete the picture of manual migration.

Once you have transferred the data from the source, you want to make sure that the source data will not be changed. The manual migration is tedious, so you want to  limit incremental update as much as possible.
First of course, you want to make sure that you start with the data that are not updated frequently. This way the chances that anybody noticed that the list\site is read-only are really low.
To set the list\libraries\site read-only, break the permission inheritance and change the permission to "Read"

Summary:

The described manual migration steps are exactly what I did to migrate the portal.

Please note, that if you have customization, you need to figure out whether you want to leave it behind, if no, would be possible to convert it to the sandbox solution?
In my case, I have got rid of all customization before the actual migration back in the migration from SP2010 to SP2013 on-prem. This way I have prepared the farm in advance.

To migrate 4 Gb of the content of 16 subsites (1 site collection, with no user site collection content migration) took 80 hours - 2 weeks of solo work.

Welcome to the cloud! Once you have done it, find a new job)


Monday, October 7, 2013

SharePoint Online migration: a quick analysis of 3rd party tools for migration

Recently I have finished manual migration to SharePoint Online. 


And this a quick post is my first glance analysis of leading 3rd party tools for migration:
Note: I am not affiliated to any 3rd party SharePoint migration tools. This analysis done in order to choose (if necessary) tools for my migrations projects.

1. Quest Migration Suite for SharePoint - Quest’s Migration Suite for SharePoint is the complete solution for simplifying SharePoint migrations whether to SharePoint on-premises or SharePoint Online. It virtually eliminates the risks of downtime and data loss. With a single, agentless tool requiring just one install, you can seamlessly move your entire SharePoint environment, as well as Microsoft Exchange Public Folders, and Windows files, to on-premises versions of SharePoint, SharePoint Online, or a hybrid of the two. And if you decide to wait to migrate to SharePoint Online down the road, you’ll already have a tool in place to proceed immediately.

   I used the trial version to trim the content before the actual migration. 

Pro:  I liked the easy installation and easy manipulation with SP objects. I have used extensively In-place tagging. I love that they offer a trial version with full functionality. The only limit is the expiration date. 

Cons: UI is ugly. 

 Price: Unknown.

   I haven't tried it, but I have seen a live demonstration and got a chance to ask questions.

Pro:  The product has a feature of comparison of the objects and manipulation (Incrementation update\migrate capabilities)
It seems that it is more robust than Quest.
I like that they have online version ( for SPOnline farms) of their product for control and governance - ControlPoint.

Cons: I haven't got a price sheet after presentation. The whole deal with hiding price is a big annoyance.

 Price: Unknown.

    I haven't tried it, but I have seen a live demonstration and got a change to ask questions.

 Pro: A BIG BIG PRO - THE TRUST. AvePoint VP - Jeremy Thake. He is a well known expert in SharePoint world and has  lots of intelligent and hot topic articles on SharePoint. Because of his involvement in the product I feel a huge inclination to trust these guys.
Prices are not hidden.

Cons: The concept of DocAve 6 Platform is complicated in my opinion. I couldn't figured out which product do I need for migration until I have seen a live presentation.

Price: Content Manager - 995 per SP server (web-front, app server)

Thursday, October 3, 2013

SharePoint 2013: Architectural changes. Pain Points

As I have launched a migration project to SharePoint 2013, I have started analyzing the architectural changes in SharePoint 2013 farm and other related products.

My goal is to migrate SharePoint 2010 with Project Server 2010 to SharePoint 2013 with Project Server 2013.

Here is my earliest discoveries:

1. Hardware recommendations differ for SharePoint 2013 and for Project Server 2013. But Project Server lives inside the SP Farm.
For small SP farm, you have to have around 12 Gb for Front End and 8 Gb for SQL.
But in case you want to include Project Server in the farm, MS recommends 16Gb for Front End and 16 Gb for Sql.
NOTE: This 16 Gb recommendation doesn't cover additional need for memory by other SP services:
The minimum hardware requirements in this section are recommended in which only the required services to run Project Server 2013 are enabled. Be aware that enabling additional SharePoint Server 2013 features in the farm may require more resources. 
So, it seems like MS intends to sale lots of  Azure VM services!
At this moment, I am struggling to find on-prem VMs for a new demanding farm. Realistically, I will not get more than 10 GB RAM for SP+Project Server 2013.


PAINT POINT: You have to boost hardware not only for SP2013 ,but for Project Sever 2013 accommodation.


2.Office Web Apps server (or OWA farm) should be installed on dedicated server (NOT ON THE SP SERVER).
 And by the way, have you acquainted with PowerShell? OWA Sever doesn't have UI to set settings, you have to use PowerShell 3.0.
  Once you have installed OWA farm (server) , you have to bind (SPWopiBinding) SP to it.

Now, think twice in case of migration.
Not only you have to boost hardware for serves, you have to find an additional server in order to have Office Web Apps. In SP2010 Office Web Apps product was supposed to be installed on the SP server.

PAINT POINT: You have to find an additional server for OWA to provide  functionality that was  "hardware-strain" free in the previous SP version.

3. Web analytics services are removed from Sp2013 as a separate services. Now it's a part of Search Service.
When you upgrade to SharePoint 2013, do not attach and upgrade the databases that contain the data from Web Analytics in SharePoint Server 2010. We recommend that you turn off Web Analytics in the SharePoint Server 2010 environment before you copy the content databases that you want to upgrade to SharePoint 2013.
PAINT POINT: Web analytics are best service to clean your farm before you go to SharePoint 2013. It allows you find unused spwebs. But you have to turn the service off when you want to copy your content db for test upgrade. So, you need to clean the environment (with help of Web analytics) before even your first test upgrade.

4. A new Access Service requires SQL 2012.

 In case you want\or have to provide Access Service in your SP 2013 Farm, you have point the service to SQL 2012 Server.

PAINT POINT: For Access Service you have to have SQL 2012. So if you have planned to stick with SQL 2008, make sure you don't need to have Access Service. In case you need it you have 2 choices: 1. Have 2012 SQL server installed at the first place, or 2. extend you farm and include additional 2012 SQL server to accommodate Access Service Application.

Monday, March 25, 2013

SharePoint 2010 to 2013 Upgrade: Service Accounts

As you may know there is no in-place upgrade for SharePoint 2013.
You have to build a new SP2013 farm and then bring your content from SP2010 over.

One of the first steps of the upgrade is to plan service accounts that you will use in the new SP2013 farm.
Here is an excellent article by Todd Klindt that will help you with that: Service Account Suggestions for SharePoint 2013

And another excellent and short list of recommended service accounts by Margriet Bruggeman: SharePoint 2013 Best Practices: Service Accounts

Here is an original recommendation from Microsoft:
 Initial deployment administrative and service accounts in SharePoint 2013
 Plan for administrative and service accounts in SharePoint 2013

And a final touch: How to create a SharePoint 2010 admin account and stop using sp_farm

Thursday, March 21, 2013

SharePoint 2010: Confirm site use and deletion. How to restore Site Collection ?

One big part of  the migration to a new version of SharePoint is a preparation phase.
This phase emphasizes cleaning or pruning the environment before moving content database (  in case of SharePoint 2013 Upgrade you don't have in-place upgrade option) to a new version.

I recommend to clean from top to bottom.
First, identify unused web applications. (SP Migration: Phase I "Cleaning". Unused web applications )
Then check unused site collections.
At this step, I recommend to make use of "Confirm site use and deletion"




Of course, you can still use this option even you are not planning the upgrade but still feel urge to get of rid of "dead" structure and content.

I found a useful article that explain in detail how this feature works - A Closer Look At “Site use confirmation and deletion”…
As this post mentioned, it's good to know that :
As of the June 2012 CU for SharePoint 2010, the Dead Site Delete timer job now calls proc_DeleteSiteAsync which is explained below - this is good news, and now means that sites deleted by site use conformation and deletion will be subject to the site Recycle Bin.
Let's explore June 2012 CU (build 14.0.6123.5002):
It has resolved issue 2598348 Description of the SharePoint Foundation 2010 hotfix package (Wss-x-none.msp): July 2, 2012

From http://support.microsoft.com/kb/2598348
If a site is deleted by a dead site delete timer job, the site is deleted permanently. Instead, the site should be sent to the Site Collection Recycle Bin.

So, based on this knowledge you can now check 'Automatically delete the site collection if use is not confirmed' with less struggles in your mind.

And btw, Where is Site Collection bin? Here is the asnwer:
SharePoint 2010: SP1 Site Collection Recycle Bin (en-US)

SharePoint 2010 to 2013 Upgrade: Phase I "Cleaning". Unused web applications

As you may know Microsoft recommends to clean the farm first before migrating to a new version of SharePoint. (Clean up an environment before an upgrade to SharePoint 2013)
For my migration story SharePoint 2007 to SharePoint 2010, please refer to "SharePoint 2007 to 2010 Upgrade" online project

Now, I m in the process of migration SharePoint 2010 to SharePoint 2013.

I recommend to start cleaning from top to bottom.

First, check unused web applications

Web analytics reports are really good help for that.
It shows you: Total Number of Page Views, Total Number of Daily Unique Visitors.
Based on that information, it's fairly easy to find abandoned web applications.
So, next step is to stop the related application pool and notify users.

Wednesday, March 6, 2013

SharePoint 2010 to 2013 Upgrade: How to migrate SP2010 to SP2013. List of useful articles

I have just started to prepare for full-blown migration to SP2013.


From simple to complicated scenarios and thoughts:
 Simple one:
Step-by-step instruction on SP upgrade:

What if you need to upgrade SP2007 to 2013?
You have to upgrade SP2007 to SP2010 first then.


Here is my findings so far:
 1. In SharePoint Server 2013, the In-place Upgrade approach is now unavailable for upgrading from prior versions of SharePoint products.
 But instead, you will get a set of "yummies" like:
  • Deferred Site Collection Upgrade
  • Site Collection Health Checks
  • Evaluation Site Collections
SharePoint Server 2013 focuses on improving your upgrade options while providing support for the upgrade approach designed to be the most resilient: the Database Attach approach.


 2. SP2010 farm solution will run on SP2013.
But in case you want them make better, read on:
Upgrading a custom application to SharePoint 2013



 3. You can upgrade site collection by site collection:
Get-SPSite -ContentDatabase WSS_Content -Limit All | Upgrade-SPSite –VersionUpgrade
 4. A content database upgraded to SharePoint 2013 is capable of supporting both backward compatible SharePoint 2010 and SharePoint 2013 mode site collections

More on this:

Want to get a deep understanding of the Upgrade?

A good slide from one of the modules above on "how to proceed with upgrade to SP2013":


Craving for complication? and you want to deploy your farm solution in 14 and 15 mode?:
Read this:


Friday, September 14, 2012

Term store migration to another farm

Your task is to migrate a content db to another farm. For this you can refer to the post How restore a SharePoint 2010 content database on the different farm

But in case you have managed metadata column somewhere in your web application, you will soon discover that they lost related term set which is expected.

The term store is not stored in the content database. It's a responsibility of the Managed Metadata Service.

You question - how can I migrate term store from one farm to another?

Here is what I found useful to read and use:

Migrating managed metadata term sets to another farm on another domain - the article clearly explains what happens with metadata value in the columns when you restore content db on the another farm. Essentially, you will not loose metadata value in the lists, but you can't use it further until you migrate related term store.

Article also provides a means to migrate your term set and how do you reconnect the term store to the content via PowerShell - http://sptermstoreutilities.codeplex.com/


Here is my 2 cents in it:

Instead of using http://metadataexportsps.codeplex.com/ for UI export\import of term store, you can use a PowerShell from Laponte - a PowerShell SharePoint guru - Exporting and Importing SharePoint 2010 Terms. The navigation on his blog  is a little bit confusing - the extended powershell comands are bundled in one Lapointe.SharePoint2010.Automation.wsp on http://blog.falchionconsulting.com/index.php/downloads/

In case you want to know how to use PowerShell in SharePoint -Simple concept: How to use SharePoint cmdlets in PowerShell ISE


ATTENTION:
If you have reused terms in the termset, make sure the order in the export file the following:
Parent, then Child
In this example, the term set Customers reuse terms from the first level of the term set Projects. In the initial file that I have exported, the customer set goes first before the project.
If I try to export this file via Import-SPTerms , I will get an error.
I need to change the order of the terms beforehand and them import the file.


P.S.

For SPOnline migration I believe you have only one option is to export via csv . I wonder what about exporting reused terms. I can't see the int csv file to specify it....