Tuesday, May 13, 2014

MVP Consumer Camp

clip_image002

I wanted to let everyone know about a great event that Microsoft is organizing at the Microsoft Store at Square One Shopping Centre in Mississauga – the first Canadian MVP Consumer Camp on Thursday, May 29th from 4pm to 9pm. I will try to be there with my fellow MVPs answering tech questions, showing off demos and the unique features of Microsoft devices. There will be prize draws, Q&A sessions, snacks and refreshments. 

MVPs are recognized exceptional, independent community leaders who share their passion, technical expertise, and real-world knowledge of Microsoft products with others. We speak at events, answer questions online, and have awesome technical blogs!  I will be there with quite a few MVPs from across Canada!

For those of you who haven’t been to a Microsoft Store yet, they are amazing!  They have a huge selection of the latest products and gadgets with experts who can answer all of your questions.  If you can’t make the event, definitely try to drop in to a store to try the latest Xbox game, check out Windows 8.1 and its great touch features or to buy the latest and greatest Windows Phone.  The Nokia Lumia 1020 has an unbelievable camera by the way ;)

Do you have any questions about Surface, Windows, Office, Windows Phone or Xbox?  Do you want to learn about how to get the most out of your gadgets?  There will be an MVP there who can provide answers! Hope to see you there!

Register here!

clip_image003

clip_image005

Tuesday, May 6, 2014

New / Edit form loads but not responding for 10 seconds

Ok, something we have been struggling with for months and drove many of us at KWizCom a bit crazy…

It is hard to explain, so I’ll try my best:

In our internal portal, we are using SharePoint 2010.

In our current bug tracking list, we use a SharePoint list similar to the issue tracking, every time to click on a new item or edit item – the page loads quickly enough, but it is stuck and not responding for up to 10 seconds sometimes.

After 10 seconds, the page completes loading, rich texts load their toolbar, and the ribbon starts working.

We have over 4000 items in that list, and the problem just becomes more and more of an issue as the list grows.

After a lot of trial and error, I finally managed to pin point the code that makes the browser stuck:

It is a javascript file called “groupeditempicker.js”, and more specifically, a function called “GipInitializeGroup”.

After a little research, I realized this code is a part of the SharePoint out of the box multi-lookup column picker (the left-right-boxes like we call it), which was looking up items from the current list as related issues.

Once I converted this lookup into our Cascading Lookup with “edit on demand” flag, which was designed to work on large list lookups – the problem was solved immediately.

Not sure how many people out there will encounter this issue, and from them how many will find this post – bug if you did, leave me a comment! I am curious to know if it was just us.

Happy SharePointing,

Shai.

Edit: A link to KWizCom cascading lookup product. This product can show multi - lookup as a grid control with paging and checkboxes, and supports a mode we call "edit by request" which means if you edit the item - this field will display the view mode of the current value. If you want to modify it, you have to click on the edit button to change it into edit mode. This feature is very useful for huge lookup lists that you do not modify every time. Cascading lookup page

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.