SharePoint 2013 introduces the new SharePoint App model that essentially replaces the sandbox model of solution development. Apps are self contained and easily deployable even more so than sandbox solutions ever were in SharePoint 2010. Microsoft recommends to use apps rather than farm solutions whenever you can. Apps have the following advantages over farm solutions:

  • They provide users with the easiest discovery, purchase, and installation process.
  • They provide administrators with the safest SharePoint extensions.
  • They provide you with the simplest marketing and sales system based on a Microsoft-provided online app store.
  • They maximize your flexibility in developing future upgrades.
  • They maximize your ability to leverage your existing non-SharePoint programming skills.
  • They integrate cloud-based resources in smoother and more flexible ways.
  • They enable your extension to have permissions that are distinct from the permissions of the user who is running the app.
  • They enable you to use cross-platform standards, including HTML, REST, OData, JavaScript, and OAuth.
  • They enable you to leverage the SharePoint cross-domain JavaScript library to access SharePoint data. Alternatively, you can use a Microsoft-provided secure token service that is OAuth-compliant.
  • They can extend SharePoint Online websites as well as on-premises SharePoint websites.

Of course, farm solutions are still required in some instances where you need to run code on the server directly. The app model does not allow running code on the Server object model but uses the following APIs to access SharePoint:

  • SharePoint REST/OData service to access SharePoint sites, lists, and other data.
  • SharePoint JavaScript, Silverlight, or .NET Framework client object models.
  • On Windows Phones, you can use the SharePoint Windows Phone object model. 

The general guide is that farm solutions are still used for administrative type solutions that would deploy timer jobs, central administration features, PowerShell commands, etc. anything that would be of WebApplication, Farm, or Site Collection scoped. A guiding principle being that apps are for end-users and farm solutions for administrators.




SharePoint 2013 finally released yesterday as a technical preview. This article is based on the July 2012 technical preview release and this functionality could change before final release.

SharePoint 2013 now blends the old search components with the FAST search components into one standard product. About 80% of FAST Search was embedded in the SharePoint Search platform, representing the most used features of FAST Search. *Update* The Standard CAL of SharePoint only integrates a subset of the FAST search features (Thanks to Niraj for pointing this out)*

The following diagram illustrates the new search server logical architecture:

The architecture of the search service breaks down in the following components:

Crawl Component:

The crawl role is responsible for crawling content sources but not to parse the actual documents. It delivers crawled content and its associated metadata to the content processing component

Content Processing Component:

Processes the crawled items and feeds these items to the index component. The processing happens through Format Handlers, it transforms the crawled items into artifacts that can be included in the search index after parsing the content and mapping the properties. This component also performs linguistic processing at index time to detect language and extract entities. It writes information about links and URLs to the Link Database directly and also generates phonetic name variations to help with people search result efficiency. iFilters are sill useful in content processing and is the method to extend parsing capabilities.
Analytics Component:

 Tracks crawled content and how users interact with the search results. It replaces the Web Analytics service form SharePoint 2010 to track usage of site content, passing this information back to the Content Processing Component to add to the search index, improving search relevance.

Index Component:

Accepts operations from both the content processing component by storing results of the item parsing in the index files, and from the query processing component by providing result sets. It is in charge of managing the indexed content when the architecture is changed by the search administration component.

Query Processing Component:

The query processing component receives a query from the end user, performs analysis,  linguistic processing like word breaking, stemming, query spellchecking, thesaurus, attempts to optimize precision, recall and relevancy. This optimized query is sent to the index component, and the returned result set is again processed further before being sent back to the search front-end.

Search Administration Component:

Runs a number of system processes required for search and is responsible for search provisioning and topology changes. The Search Administration component coordinates each of the listed search components on this page.
The following diagrams illustrate the Small, Medium and Large server examples presented by Microsoft, offering a capacity of 10 million items, 40 million items and 100 million items respectively.


Reference material:



The long awaited next version of SharePoint is finally out in Customer Preview. Microsoft seems to be heavily pushing the Office 365 platform to rapidly enable customers to test the new platform. Of course I find it better to get the full version on my hardware so here are the links to both the SharePoint 2013 (.img) installation download and the Office 2013 offline (.msi) inastallation download:

Expect more posts in the near future now that the NDA is lifted on SharePoint 2013.

I’ve been in the RDP program for a while, hence the limited blogging here. Now that the gates are open, more will be posted here. Stay tuned!

Requirements for SharePoint 2013:

Software Requirements

Windows Server 2008 R2 Service Pack 1 or Windows 8 Server


  • Windows Identity Foundation v1.1
  • Microsoft Information Protection and Control Client
  • Microsoft WCF Data Services
  • Windows Management Framework 3.0
  • Application Server Role
  • Web Server (IIS) Role
  • Microsoft .NET Framework 4.0
  • Update for the .NET Framework 4 (KB2468871)
  • Microsoft SQL Server 2008 Native Client
  • Windows Identity Foundation (KB974405)
  • Microsoft Sync Framework Runtime v1.0 (x64)
  • Windows Server AppFabric

Database Servers

Microsoft SQL Server 2008 R2 (Service Pack 1) 64bit or Microsoft SQL Server 2012 (64bit)


I have been preparing the next release of my re-usable VM for SharePoint 2010 development that is used by all the developers at Orangutech. I decided to add a few extensions that would make development tasks easier and found quite a few interesting ones so I figured I would list them here. Hope you will find these useful in enhancing your productivity.

Here are the extensions:

Visual Studio 2010 SharePoint Power Tools
Templates and extensions that provide a sandboxed Visual Web Part together with enhanced support for sandboxed compilation to help you develop SharePoint solutions even more productively.
Mavention SharePoint Assets Minifier
Installs custom tools for minifying SharePoint assets such as JavaScript and CSS files.
CKS – Development Tools Edition (Server)
The SharePoint 2010 Visual Studio 2010 Extensions project (CKSDEV) is a collection of Visual Studio templates, Server Explorer extensions and tools providing accelerated SharePoint 2010 development based on Microsoft’s new SharePoint 2010 development tools.
Free Taxonomy Editor For SharePoint
Dotspine provides you a graphic modeler to easily design and populate taxonomy tree. Then you can export them as XML files to be proceeded by PowerShell and target SharePoint 2010.
Provides enhanced IntelliSense support for the Collaborative Application Markup Language (CAML) used by SharePoint.
SharePoint Timer Job Item
A SharePoint project item for creating timer jobs that have an associated configuration screen in Central Administration
The MP.SPDevExt Visual Studio 2010 Extensions project is a collection of Visual Studio item templates used to expedite the SharePoint 2010 development. It contains following item templates: Custom Field Type, Sandbox Solution Validator and Sandbox Workflow Action
Silverlight SharePoint Web Parts
An extension for adding Silverlight web parts to SharePoint features.
Visual Studio 2010 Productivity Power Tools
(Not specifically SharePoint) A set of extensions to Visual Studio Professional (and above) which improves developer productivity.
Web Standards Update for Microsoft Visual Studio 2010 SP1 (CSS3, HTML5)
(Not specifically SharePoint) Adds CSS3 support and updates the HTML5 intellisense and validation including new JavaScript API’s
LINQ to SharePoint DSL Extension for Visual Studio 2010
This new feature is an extension to Visual Studio for modeling LINQ to SharePoint entities directly in VS2010. With this tool, it’s become possible to add a new kind of item in a VS project, that we name a LINQ to SharePoint schema.
(Not specifically SharePoint) CodeMaid is an open source Visual Studio extension to cleanup, dig through and simplify our C#, C++, XAML, XML, ASP, HTML, CSS and JavaScript coding.
Imtech Create Page Layout Content Type Extension
Installs a Content Type Extension that allows you to generate a Page Layout from an existing Content Type.
PowerCommands for Visual Studio 2010
(Not specifically SharePoint) PowerCommands 1.0 is a set of useful extensions for the Visual Studio 2010 IDE.