Blog

May 17
Migrating SharePoint Online Websites

​If you're familiar with SharePoint site templates, you know you can usually create a template from your website, export the resulting file, move it to another server, import it and create a new site from it.  You can also backup a site and import it, but you have to make sure that the services that are active on the source farm are also active on the destination farm.

SharePoint Online, a component of Office 365, does not allow one to take either of these approaches.

 

In fact, with SharePoint Online, you are on your own when it comes to migrating sites.  I found this out when my team built our new company website in a preview subscription of Office 365 in order to utilize the new publishing features in SharePoint 2013.  Our 'production' subscription to Office 365 had not been upgraded to SharePoint 2013 at the time, and we wanted the new site to be ready to go when the upgrade occured.

Well, we were upgraded on May 8th, and we immediately discovered that we were a little bit stranded with our website.  Here's how we dealt with the situation:

STEP 1: I had been testing out a tool called ShareGate (http://en.share-gate.com/).  It is a handy tool for SharePoint administrators that includes the ability to copy constructs and data from one SharePoint instance to another.  It turns out, the company that offers this tool is working on a site to site copy function, but it isn't available yet.  I used ShareGate to migrate most of the libraries and lists from our dev site to our production site. 

STEP 2: Although we were able to move some custom content types using ShareGate, we had one that we use extensively for publishing pages (it extends the type to include some additional fields), and although it was copied over, it wasn't "registered" properly to be used.  It turned out that we had to set up all of the relationships in order for our custom page layouts to be able to use this content type.

STEP 3: I then used SharePoint Designer to copy over the publishing pages.  Unfortunately, I found that the cool new menu for editing SEO properties as well as the one for editing navigation properties were not available for the copied pages.  I had to create new pages using the Page/New button on the toolbar in order for the pages to be created correctly.  I was then able to copy over the content of the pages pretty easily.

May 07
Scaling in Azure

How does scaling work in Windows Azure?  It is simple, and you can manage it manually or you can automate it.  It all starts with your stateless application.

Your application must be stateless, otherwise a user's experience cannot span multiple virtual machines.  If you are using session state, then you can store it in SQL Server to render your application stateless.

Next, you'll deploy your application to the platform, at which time you need to decide what SIZE of virtual machine it should run on.  This determines the amount of processor power and memory available to the app for each load balanced instance.  You also have to determine the number of instances to run initially.  The number can be 1, although in order to benefit from Microsoft's SLAs you'll need to run at least 2 instances.  This ensures that your app keeps running even when Microsoft temporarily disables one of the instances for maintenance purposes.

Once deployed, you can manually modify the number of running instances at any time.  Depending on your subscription plan, you'll have a limit of the number of instances that can be set. You designated the number and click ok.  Boom.  That's all you do.

If you need a more sophisticated, automated scalability plan, there is a codeplex project with the code you can add to your solution to implement that.