Trials and Tribulations: Migrating My Demos Site to Office365
Over a year ago, I built myself a virtual machine in VMWare Workstation so that I could hack around with it. I’ve used it for some client development, but mostly it’s where I work on the demos I use when I speak at events.
Recently, when FPWeb decided to get out of the Exchange hosting business (I was sad to leave them – they are awesome to work with) I set up an Office365 account with Microsoft, at first just for Exchange. Not only did I feel that it was a good value, I also wanted to be able to eat some of the dog food that I talk about all the time. I like Exchange over plain old free POP or IMAP email services because I get the same view on all of my devices; the synching provides just the right solution for me and I’m willing to pay for it. (No free ride for us Microsoft MVPs, sadly.)
Office365 is pretty cool to work with. It’s got a little bit too much of a system administrator feeling, but not nearly as much as I had worried about. The menus and pages are cleanly laid out (more of that fresh Metro UI-ish goodness, though I’m sure we’ll all be tired of it in due course) and generally pretty easy to figure out. It may be that’s because I know the underlying products reasonably well, but it’s certainly a giant leap forward from what Microsoft has done with admin interfaces in the past. I don’t think that the average small company person could figure out how to use it all, but it suits me just fine.
Now that I’ve got things set up, I wanted to port my demo stuff to SharePoint Online from my VM. The VM works just fine, but porting is a useful exercise, plus I would like to move my Sympraxis Consulting Internet site to SharePoint Online at Office365 at some point, so this is a good first step. (I still have my Sympraxis site hosted with FPWeb in WSS 3.0, believe it or not. It’s good enough for now, frankly.)
It seemed as though this should be a fairly easy process. I’ve got a few sites in a separate Site Collection for the demos, and all I thought I’d need to do is to save them each as a Site Template (actually, a Solution – the Save “Site as Template” item wording doesn’t match the gallery name that it ends up in – the Solution Gallery) and then rehydrate it in SharePoint Online. The way I work in SharePoint’s Middle Tier, I don’t need to activate any wacky features, so how hard could it be?
I already had a Solution saved for my Middle Tier site, so I uploaded that to the Solution Gallery in SharePoint Online and activated it with no problem.
It can be pretty easy to forget to activate the Solution, so I’ve highlighted the button above.
Once the Solution was activated, I went to create a new site with it.
Hey, this was going well. It was really easy!
WHAM! The easy stage was over.
OK, so somehow I’ve got a feature activated in my VM that isn’t activated in my SharePoint Online site. No big deal, right? I can just go and find the {b5934f65-
a844-4e67-82e5-92f66aafe912} feature and activate it for SharePoint Online. But what the heck is the {b5934f65- a844-4e67-82e5-92f66aafe912} feature?
I Bingled the GUID (see my post on using OneNote to get the text from a screen grab for a tip – for some reason you can’t copy the text in the error to the clipboard) and found the answer on Ian Morrish‘s excellent WSSDEMO site.
Well, not the actual answer, but something sort of informative. Since the DisplayName is ReviewWordflowsSPD and the Title1 is Routing Workflows – SharePoint 2010, I could reasonably assume that it had something to do with workflows. I compared the two environments and realized that I needed to activate the Wordflows (Aggregated set of out-of-box workflow features provided by SharePoint) Site Collection Feature:
Well, maybe this wouldn’t be so bad, after all, I thought. I activated the feature and went to create the site again. WHAM! Out of the fast lane again.
This is where I got a little annoyed and tweeted:
Moving existing sites to #Office365 not easy. Feature GUIDs will be my undoing. Looks like af6d9aec-7c38-4dda-997f-cc1ddbb87c92 isn't there.
— Marc D Anderson (@sympmarc) January 10, 2012
and then later
No end user should ever have to look at a GUID or figure out what it means. What's so wrong with words?
— Marc D Anderson (@sympmarc) January 10, 2012
So far, I haven’t been able to figure out what the {af6d9aec-7c38-4dda-997f-cc1ddbb87c92} feature is. The hits I get by searching tell me things about the Help Desk Template from the Fantastic (not so much) 40 templates, but I’ve never had that in any of my environments. One of the hits I got from searching was right back on my own blog (always a delicious irony).
So I’m stuck, and there’s no obvious way to figure out what that feature actually is. The point is that the GUID is pretty uninformative. SharePoint shouldn’t give me such unactionable, vague information. Even if I can find the GUID written up somewhere (as in Ian’s helpful site above), it’s not always obvious what to do with the information.
I’ve talked to quite a few people about the fact that I think one of the critical success factors for Office365 will be portability. What I was trying to do was pretty basic. I wanted to understand how Office365 might work for me if I wanted to use it for hosting my stuff. We all need to be able to move content in and out of The Cloud at will.
This is probably the first thing that any large enterprise would want to do as well. “Hey, let’s get Sandie down in the SharePoint admin pit to copy some of our typical sites over to SharePoint Online and see how they work.” At least, that’s what I’d do if I were a CIO thinking about moving some of my stuff to The Cloud. I’d want to see how easy it was to do something basic. Poor Sandie probably doesn’t have much of a chance of completing the task, though. As CIO, I’d want to know that I can *reasonably* easily move my stuff into the Cloud and back again. This would give me a comfortable feeling that I could trust Office365 with my stuff and not worry about changing my mind (or having my business requirements change it for me) down the road.
I’m pretty sure that I’m going to work out my little problem with good old {af6d9aec-7c38-4dda-997f-cc1ddbb87c92} – after all, I can hit up some of the best SharePoint minds on the planet through the MVP network – but I’m not so sure that Sandie and her CIO will get past these types of things as they look at using Office365. My suggestion to the Microsoft folks is to come up with some really brain dead easy tools to facilitate this sort of thing. (I know for a fact that my friends at MetaVis have a great toolset to enable this, but should I need to work that hard?)
Even better: stop putting GUIDs in front of end users and expecting them to know what to do with them.
<UPDATE dateTime=”2012-02-06″>
I did solve this issue, and you can read all about it in my follow up post.
</UPDATE>
I was able to find your sneaky feature in my development lab with a bit of PowerShell:
Get-SPFeature `
| Where-Object { $_.Id -eq “af6d9aec-7c38-4dda-997f-ccddbb87c92” } `
| Format-List
Once I knew the name (“WACustomReports”) I checked the \Template\Features folder for more info. Since the feature is a site-scoped hidden feature, I knew it was activated by something else, so I checked the other “WA…” features and found an activation dependency on the farm-scoped feature “WAEnterpriseFeatureStapler” that auto-activates this on all sites.
You are correct that this is not a feature that is available on Office 365 SharePoint Online.
Chris:
Thanks a lot for the detective work. Poor Sandie probably doesn’t have access to a SharePoint MCM, though.
IMO, this is too hard. Sure, consultants like you and I get work out of this complexity, but it’s unnecessary.
M.
I hear ya – totally agree. We know that Microsoft loves Guids and crappy error messages, but they outdid themselves with SharePoint. It really is the pinnacle of lousy UX in so many ways :)
What you gotta love about this one, is that the feature is not even visible to fix from the UI since it is a hidden feature. Poor Sandie doesn’t have a prayer :)
I feel Sandie’s pain, as it is my own. This is one which can’t be solved without server access and Powershell or some other tool. Luckily I can trash my own VM however I want.
M.
Hi M,
Nice post and it gives me a deja vu :-). During one of the USPJ courses I also ran into this issue with one of your ‘middle tier development’ stp’s. Of course, this was on a VM so finally I got things working. I also tried moving it into an O365 environment. What did the trick for me, was cleaning up the original .stp. The features you are mentioning in your blog which weren’t activated or cannot be activated, I removed them (or de-activated) them from the original .stp, without breaking any functionallity. So when you try this a couple of times, you will finally succeed in moving your sites to Office 365. So bottom line, Remove the features which are causing the problems without breaking core SharePoint functionality and then move them to Office 365.
Peter:
I think I remember when this happened to you. but this time it’s happening to *me*, damn it! My last recourse will be to surgically cut out the feature from the WSP, if I can’t so it any “normal” way.
M.
Hi Marc,
so Chris bet me with posting the Feature name for {af6d9aec-7c38-4dda-997f-ccddbb87c92}. I encountered the same problem as you before and thus learned already that it’s the Web Analytics.
Haven’t found a solution for that problem, but didn’t play around for too long with it. My initial idea was to remove the reference from my solution package from my environment, but while that proved easier than I though, repackaging the stuff into a solution file was something I didn’t achieve. Too difficult for me (at least within the short timeframe that I tried it), also too difficult for poor Sandie.
Totally agree with you that this is not how it should be. Transferring solutions from “regular” SharePoint to SPO should be easy (and possible), and if there are errors they should say a bit more
Generally, when it comes to finding a Feature name for a given GUID, I always check the following site first, lists most (all?) features and their GUIDs from SP2010:
http://blogs.msdn.com/b/mcsnoiwb/archive/2010/01/07/features-and-their-guid-s-in-sp2010.aspx
Rene:
Poor, poor Sandie.
Usually searching for the GUID with Bing or Google (sometimes I find I need to switch between the two to be successful) will find me *something* useful. The af6d9aec-7c38-4dda-997f-ccddbb87c92 GUID seems to be an outlier, and I don’t even see it on the link you gave. But it’s out there. I’m off to excise it from my VM with Powershell, or maybe a large sledge hammer.
M.
I had a similar problem delivering a Site Template .WSP to a client. In the end I did indeed have to break the .WSP apart and remove all the references to the features and then rebuild the .WSP. That is a pain I would not inflict on anyone if I can help it!
GUIDS…blecch. Odd that there’s a dearth of information on that particular one, as I’m sure many others have attempted what you were trying to do. Maybe MSFT is banking on the bulk of its O365 customers being new to SharePoint?