Skip to main content

Posts

Showing posts from 2013

Navigation Settings in SharePoint 2013 Site Definitions

Who likes creating SharePoint site definitions from scratch? Well, it's not my favorite part of the SharePoint development either. An initially good idea of setting up your whole site through an XML file, received implementation and support far from being perfect. That quickly lead developers to look for alternative ways of defining and provisioning sites, primarily through the SharePoint API. A simple ONET.XML with beefy code-packed features became de-facto standard. What was supposed to be a template became compiled code. I was hoping SharePoint 2013 would at least attempt to do something about it… Tasked with creating a few publishing portal site definitions, I was unpleasantly surprised to find out that any attempt to use my new site definition to provision a site collection root results in both Global and Current Navigation switched to "Managed Navigation" mode, while I needed it to stay in the good old "Structural Navigation" one. This mode is new to Sh

Distributed Cache and SharePoint 2013

We all know that in version 15 SharePoint is now integrated with AppFabric's distributed cache. There's a Distributed Cache service running on each SharePoint server (with exception of the database ones), AppFabric cache is now configured by SharePoint installation routine, and finally there is a new namespace in SharePoint API: Microsoft.SharePoint.DistributedCaching.Utilities.   You could definitely use AppFabric's cache with SharePoint 2010, as long as you create a wrapper class that takes care of cache configuration, cluster and endpoints instances, etc. However, now that the AppFabric's cache is integrated, you would probably expect something as simple as SPDistributedCache.Get(cacheKey). Well, even a quick look at the poorly-documented Microsoft.SharePoint.DistributedCaching.Utilities  classes tells you this is still far from being true. Essentially the only benefit you currently get from this API is ability to access the distributed cache configuration, and us

SharePoint 2013 and "search scopes"

While SharePoint 2013 introduced some undeniably handy features in the content discovery department, some of the old functionality has changed so much that you'll have to forget many of the design tricks that worked in 2007 and 2010.  One of such pain points is deprecating search scopes in SharePoint 2013. The requirement Let's start with a trivial situation. You have a requirement that states: "A user should be able to perform different types of search from any page/sub site on the portal by selecting a type of search and specifying keyword(s)". This would be considered an out-of-box functionality in 2007/2010: you just enable search scopes dropdown (considering the search box control is already in the master page), and define scopes. Piece of cake! Well, not so much in 2013.   The problem The thing is - there's no search scopes in SharePoint 2013. OK, to be exact - there's no user-definable search scopes, as we still have a couple of built-in