Showing posts with label codeplex. Show all posts
Showing posts with label codeplex. Show all posts

Friday, March 28, 2014

SharePoint 2010 Deferred site collection upgrade with custom SharePoint solutions


We have been struggling with this concept for a while, being an ISV with many customers who use our products on SharePoint 2007 and 2010 and are interested in upgrading to SharePoint 2013, but using the deferred site collection upgrade approach.
You see, in this approach you upgrade to a SharePoint 2013 farm but still run your 2010 sites in SharePoint 2010 user interface, while allowing site owners to gradually upgrade to 2013 interface gradually.
The problem this poses for us was simple: which version of my solution do I install on that hybrid farm?
SharePoint 2010 solution will work on the 2010 experience sites, but will not work on those that were already upgraded to 2013 or on new sites created in 2013 experience.

SharePoint 2013 solution will work on the upgraded sites or new sites, but not on sites still using the 2010 user interface.

First try (didn't work)

Installing both versions seemed to be the solution, but we had a few issues with that approach:
1. Our 2010 and 2013 WSP solutions have the same solution ID, thus cannot be installed on the same farm at the same time
2. Both 2010 and 2013 WSP packages contain the same DLLs assemblies, and so if we retract one – it will remove the shared DLLs and break the other. So, when upgrade is done and we want to remove the 2010 package it will break the 2013 package.

Working approach

After working closely with the good people at Microsoft, we run some tests and come to the following procedure that would work for us (and possible for everyone in this situation):
1. Install the 2013 solution
2. Create a new package that adds 2010 backward compatibility (called “2010 BC”) that installs only the needed resources and use it during the deferred site collection upgrade period
3. Once that period is over and everything was upgraded – remove the “2010 BC” package *

This approach seems to be working great on our testing, but we still had the 2 issues to deal with (DLLs and solution ID) and I didn’t want to burden our R&D with maintaining and producing another package for every product.

Tools of trade

So, I am happy to share with you a new codeplex project I just released for this purpose:
“WSP REpackage tool” found here: https://wsprp.codeplex.com/
image
image
This tool will take your existing 2010 solution package, and repackage it as a new WSP file with a new solution ID and without the assemblies inside. This new package will be the “2010 BC” package that  you can safely install on your SharePoint 2013 farm along with the SharePoint 2013 solution to be able to support both 2013 native sites and upgraded sites that still use 2010 user interface.
I hope this tool helps you guys support this great new upgrade experience for SharePoint, I am happy to announce KWizCom products were tested and now support the deferred site collection upgrade also using our Web Installer experience that allows you to directly download and install our products and (now) add support for 2010 BC sites with just a few clicks (tool available here: ClickOnce installer)
If you have thoughts, comments please feel free to either comment here or on the discussion in the codeplex project.
I would love to hear what you think about this tool and this upgrade approach in general.
Shai.

* Very important edit note: after discussing with Microsoft, if you retract the 2010BC solution or the 2013 solution using the central administration - even though these solutions now do not share the same solution ID and are set to different versions of SharePoint, they will remove each other's files from both SharePoint root folders (14 and 15). This is a know issue, and MS advised me that the only supported way to retract packages is by using PowerShell with the correct -CompatibilityLevel version flag. http://technet.microsoft.com/en-us/library/ff607873(v=office.15).aspx So please be advised.

Tuesday, October 26, 2010

Site Navigation Tree Web Part goes on codeplex

Finally got the time to put this nice free webpart on codeplex.

We had it on our site as a free download, but now you can get the source code as well!

It also features a very cool, fast and simple tree controls - one of the first tree controls I ever written that use pure ASP.NET - no AJAX or any other framework needed!

http://ssnt.codeplex.com/

Let me know if you like it,
Next - I have to release our "feature visibility" feature (dumb name :) ) - which is a farm feature that allows you to show/hide certain features on specific web applications, site collection or sites.

Again - this one is shipped free with our wiki plus solution and it is about time it will go on codeplex!