What’s New for IT Pro in SharePoint 2013 – Major Architectural Investments

Ever since Microsoft has released Public Beta of SharePoint 2013 in July 2012, many of us are really interested in some of the major investments in Apps Model, Social workload, Search workload, WCM workload, Office Web Apps, Sharing Model, and new developer APIs for CSOM and REST based interfaces. All of these features itself would make a great case for upgrading your current SharePoint 201o environments to SharePoint 2013. But, I have been really impressed with some of the key new investments and underlying architectural improvements for IT Pro in SharePoint 2013.

Every new release Microsoft takes huge leap towards making SharePoint as one of the most robust enterprise level products out there for IT Pros. In 2007, it was Shared Services Provider. In 2010, there were Service Applications Framework, SAML Claims Support, and Remote Blob Storage. In 2013, there are impressive list of new features which got mixed responses from seasoned SharePoint professionals.

Microsoft recently released refreshed version of TechNet IT Pro Ignite Videos for SharePoint 2013 RTM. Last winter and this spring, as I was reviewing Preview version of these videos along with SPC12 videos, I had posted various articles for What’s New in CSOM and REST API, What’s New in SocialWhat’s New in Office Web Apps, and What’s New in WCM for SharePoint 2013. It seems like with refreshed version of TechNet Videos, it would be nice to post some of my new favorite investments for IT Pros.

Here are the highlights of major IT Pro investments and architectural improvements in SharePoint 2013.

Request Management

  • Disabled by default
  • Request Management is implemented as a service instance named “Request Management”. There is no associated service application.
  • The Request Management service instance should be provisioned on every Web Server in the farm. That is, every machine that runs the SharePoint Foundation Web Application Service (SPFWA), Request Management is scoped and configured on a per Web Application basis, for each Web Application configured, there is a Request Manager. The Request Manager runs within SPFWA under SPRequestModule.
  • It is a Reverse Proxy implemented in SharePoint 2013.  It is defined by the SPRoutingReverseProxy class.  Request Management is implemented in the Http Module of SharePoint -Microsoft.SharePoint.ApplicationRuntime.SPRequestModule.
  • Request Management manages routing requests based on rules and health, Prioritizes and routes incoming requests at application level to healthy machines, routes requests for specific types like search, block requests or send request to another farm or specific server in farm
  • It’s not replacing load-balancer, trying to solve load-balancer problem of routing route requests despite web server health, it sits behind load balancer in HTTP request management
  • Resources

Distributed Cache

  • Enabled by default
  • Distributed Cache is implemented as a service instance named “Distributed Cache”. There is no associated service application. It is based on Windows Server AppFabric Cache (configured as windows service called Appfabric Caching Service), runs on all web and application servers by default where SharePoint bits are installed
  • Leveraged by Authentication Token, Task Aggregations & Work Management Service, and Social feed caching, SharePoint 2013 is so dependent on Distributed Cache that it is virtually not recommended to disable Distributed Cache.
  • Redundancy is complicated, timer job needs to run to repopulate cached content
  • You must use SharePoint shipped “Velocity” version of cache engine, You can’t independently upgrade it, Cloud based cache services like Windows Azure Cache is not supported at this time, only local cache hosts can be used
  • Resources

Shredded Storage

Licensing Model

  • Introduced flexibility on licensing model, this is based on similar model designed in SharePoint Online
  • Licenses and licenses check are per user, no longer per farm. it means, you can two different users in same farm, same web app, same site collection with 2 different licenses for 2 different user experience based on license
  • Licensing enforcement is applied to web parts, web part gallery, web templates, document libraries
  • Requires Claims Auth – claims token contains licensing info, Uses claims architecture to determine licenses structure e.g. assign enterprise CAL to AD group
  • Allows you to reduce licensing cost and able to turn on & off features based on licensing in single farm
  • Licensing Enforcement and Assignment accessible through PowerShell, Enables licensing attributes to AD security groups e.g. Enterprise CAL Users, Standard CAL Users, Office Web Apps Users AD Groups can be mapped to specific licensing CALs, This would enable mixing multiple CALs in same environment
  • Resources

Minimal Download Strategy

  • Enabled by default, MDS is SharePoint feature and scoped at the web level, Can be disabled on per SPWeb level, just set SPWeb.EnableMinimalDownload to 0
  • The Minimal Download Strategy is by default enabled on Team sites, Community sites and a few others in SharePoint 2013. Once this feature enabled, all pages for that site is rendered “through” the /_layouts/15/start.aspx page
  • Provides an new smooth navigation framework on client side, significantly improves page load performance and user perception, downloads only delta between page requests
  • OOB master pages, quick launch control, XSLT list view supports MDS, Chrome/master page area should stay static while content flickers while refreshing page, Custom controls & master pages needs to support framework
  • The MDS is not enabled on publishing sites and not compatible with publishing sites. If you enable publishing features, you don’t have to worry about MDS.
  • MDS not supported in Sandbox Web Parts
  • MDS may have adverse performance implications if some of custom coded web parts is not adhere MDS architecture.
  • Resources

Upgrade and Site Provisioning

  • System Notifications
    • Upgrading SP2010 to SP2013 shows System Status Notifications
    • Available during upgrade, read-only mode, and scheduled maintenance
    • Enables customizable integrated system status notifications
  • Improvement on Upgrade Architecture
    • Separation of Schema and Site Collection Upgrade
    • IT admins upgrades schema when they attach databases – SP2013 still runs with SP2010 experience at this stage
    • Deferred Site Collection – Anything site collection and below will be upgraded later in deferred site collection upgrade step, Once site collections are upgraded, SP2013 will run with SP2013 user experience
    • You can’t force both schema & site collection upgrade in 1 step, it has to be done separately, site collection upgrade can be done by end user or automated with PowerShell
    • SP2013 has all the SP2010 bits required to run SP2010 user experience
  • Site Collection Health Checks
    • Rule-based health checks and validation
    • Site collection level scoped tool
    • Helps addressing post-upgrade issues – missing features & templates, known issues etc.
    • Exposed to site collection administrators via site collection settings page, cmdlets for farm administrators
    • Prevents upgrade if blocking issues detected
    • Runs automatically before site collection version to version upgrade, does not run before any built to build upgrade
  • Evaluation Site Collection
    • Allows site collection admins to preview SP2013 without upgrading production site collection
    • Requesting evaluation site collection triggers “Create Upgrade Evaluation Site Collections” timer job which typically runs once a day by default
    • Enabled through a copy of production site collection, causes no read-only outage as source is snapshot
    • Takes advantage of SQL snapshots when available, uses site collection backup process if SQL snapshots are not supported
    • Available only in SQL Enterprise and SQL Developer editions
    • By default, they runs only for 30 days
  • Upgrade Throttling
    • By default, only 5 concurrent web apps and 10 concurrent content databases can be upgraded. You can change this setting for faster hardware, you can trigger 10 web apps upgrade from 2 WFES (5 web apps per 1 WFE and 10 max content databases)
  • Site Provisioning
    • Supports both SP2010 and SP2013 Site provisioning using both central admin or PowerShell, Allows users to choose experience version while selecting site collection template
    • In SP2010 backward compatibility modes, only SP2010 site templates available, all the new SP2013 features like news feed, new performance improvements like MDS are not available in SP2010 mode
  • Self-Service Site Creation
    • Enabled custom forms that should be used to create a new site, form can be in same web app or entirely in different web app even in different farm
    • Enables choice between new site collection or new sub site creation
    • Settings are scoped at the web application level
    • Allows users to select information management policies like retention policies, auditing policies etc. while creating sites or site collections, decide these policies during your internal governance framework

Service Applications

  • Review this article for recommended locations for Service Applications – http://technet.microsoft.com/en-us/library/jj219591.aspx
  • Same service application framework as SP2010, You still have service applications, proxies, proxy groups, instances, databases, and federation support
  • Service Federation -  Any farm can publish, as a general rule, as long as service application has database, it can be federated, LAN Federation supported in BCS, Managed Metadata, Search, Secure Store, Machine Translation, and User Profile, WAN Federation supported in Search, Managed Metadata, and User Profile. BDC is supported but you shouldn’t do it, Machine Translation and Secure Store not supported in WAN
  • Access Services
    • Use Access 2013 to create SharePoint Apps
    • Supported only on SQL Server 2012
    • Recommendation is to use dedicated SQL instance for Access services database backend
    • SQL will hate you – It uses SQL Authentication, It uses Named Pipes, Each app creates its own database
  • App Management Service
  • Business Connectivity Services
    • Added OData Support, Now we have BDC Connections support for OData, WCF, SQL Server, and .NET assemblies
    • Added support for SharePoint Apps and new App-Scoped BDC models
  • Machine Translation Service
    • Provides programmatically translate sites, documents, pages from one language to another
    • Provides automatic translation of content using cloud based free MS translator solution, Needs Microsoft account to sign up, Supports word, HTML, and TXT
    • Cloud based machine translation service based on WAS architecture
    • Supports sync, async, and streaming data access process
    • Full extensible – full trust solutions, CSOM and REST support
  • Managed Metadata Service
    • Creation and configuration is same
    • Managed Metadata driven Navigation & WCM Integration
  • Office Web Applications
    • No longer service application, separated into new server product
    • Provides services to multiple SharePoint farms, exchange, Lync, Url accessible file servers, or 3rd party document stores
    • Improved WAC Urls – No longer very long complex URLs for sharing, Append ?Web=1 to display documents in web apps
    • Office web apps can’t be installed on SharePoint box, it’s blocked on SharePoint server
  • PowerPoint Automation Service
    • Similar service as Word Automation Service
    • Programmatically converts PPTXs to HTML, Image, or PDF read only format or Converts old PPT to PPTX
  • Search
    • Creation and configuration is same but underlying architecture is vastly different, runs six noderunner.exe with heavy dependency on RAM usage, changes how you architect your application tier
    • FAST and Enterprise Search is unified, Same UI but FAST is no longer separate product
    • Additional crawling option – continuous crawl
  • Subscription Setting Service
    • Used to manage only for multi-tenant,  Now handles App Management
  • User Profile Service, User Profile Sync Service, My Sites, and Sky Drive Pro
  • Web Analytics
    • No longer service application, new analytics platform based on search platform
    • Based on views, click through in search relevance, Use this popularity info to populate views through the Content By Search or Search Results web part e.g. Popular Communities etc.
    • Extensible for 3rd parties to build into the platform
  • Work Management Service
    • It’s task aggregation across work management systems like SharePoint, exchange, project, or Lync
    • Aggregate tasks from all SharePoint sites to your my site – My Tasks list
Posted in SP2013 Admin | Leave a comment

What’s New with SharePoint 2013 WCM – Major Improvements and Features

Microsoft has taken a huge leap in WCM space with SharePoint 2013. Microsoft recently released refreshed version of TechNet IT Pro Ignite Videos for SharePoint 2013 RTM. Last winter and this spring, as I was reviewing Preview version of these videos along with SPC12 videos, I had posted article for What’s New in CSOM and REST API, What’s New in Social, and What’s New in Office Web Apps for SharePoint 2013.

I had also taken various notes for another major investments like IT Pro and WCM features. As I was reviewing refreshed material, I thought it would be great to post my notes here on my blog for others to enjoy.

Having said that, here are major highlights of new investments & features introduced in SharePoint 2013

Easy content authoring and management

  • Variations and Content Translation using Machine Translation Service
  • Rich Text Editing Usability especially clean copy-paste

Cross-site Publishing

  • Author content in multiple site collections and aggregate that using content by search web part across site collections, web applications, or even farms
  • Different than traditional content deployment approach, instead it uses Search as opposed to export-import methods, works with non-publishing content as well
  • Driven by managed metadata – tagging of content enables reuse through search
  • Requires planning – location of authoring & publishing sites,
    location of asset libraries, search settings, security & permissions, managed metadata etc.
  • Pattern – Authoring.contoso.com (en-us) -> Translate -> Authoring.contoso.com (Fr-fr) -> Search Index Crawl -> Contoso.com shows data using Content By Search web part

Catalog enabled libraries

  • Requires cross-site collection publishing feature – enabled by default on the product catalog site template, can be turned on using PowerShell on other site templates
  • Can be created from pages libraries, document libraries, asset libraries, or lists
  • Requires at least one single-valued managed metadata column
  • Only HTML & text content is indexed by default, documents-images-videos are considered as BLOBs
  • Requires an incremental crawl to be discoverable as a catalog, New result source is added with the query isolating items from the catalog
  • Catalog connection is link to search index based on managed metadata indexed terms
  • Use CSWP or managed navigation to reuse content from catalogs
  • You can use catalog-enabled sites for scenarios such as content repository, knowledge base, or product catalog

 Content By Search Web Part

  • Similar to content by query web part but search index based and cross-site collection support
  • New presentation template model for easy content presentation using HTML display templates, not XSLT based
  • Easy editors like query helpers as web part editors for defining planned query and previewing results

Managed Navigation

  • Drive your navigation and URLs based on term store hierarchies
  • Clean friendly URLs created for each page for actual end users, friendly URLs uses term store hierarchies
  • Pages are added for terms & term set added to navigation
  • Pages are based on category page definition, category pages are page layouts, new category pages can be created and designated for use with specific terms in the term store
  • Provides dynamic topic pages capability for minimizing amount of physical pages for catalog type sites. e.g. same page renders different experiences unlike in SP2010, you have to create different pages with same page layout

Refiners and Managed Metadata driven faced navigation

  • Define refiners for catalog content drill down in catalog driven scenarios
  • Provides easy filtering capabilities for catalog information
  • Content editors can define which managed properties are available as refinements
  • UI rendering can be customized for each refiner
  • Different data types have different rendering options

Search Engine Optimization Improvements

  • Numerous improvements in site and page level
  • Clean friendly URLs, no “pages” in URL
  • No Home Page redirects to /pages/default.aspx, no HTTP 302 redirection
  • Country code top level domains (e.g. .com, .mx, .fr etc.)
  • XML sitemaps – automatically generates robots.txt for external search engine crawler
  • SEO properties for meta description, browser title, and meta keywords
  • Webmaster tools integration

Variations and Multi-lingual enhancements

  • Support for automated or manual translations in variations
  • Supports both content (pages, documents etc.) and terms in term set
  • You can manually export the XLIFF file or send cloud based machine translation service for automated translations

Image Renditions

  • Image transformation dynamically in SharePoint, great for large images to optimize page load
  • OOB four image rendition templates available , every image has 4 renditions by default
  • Thumbnails are actual thumbnails
  • Resizing will resize actual image, not only it’s presentation
  • Takes advantage of blob caching, blob cache configuration is required at the web application level, image renditions are cached when image is first accessed
  • While adding images on WCM publishing pages, you can select different renditions for select image

Video and Embedding Improvements

  • Enable easy enterprise podcast scenarios
  • Embed video to any content page including internet videos like YouTube
  • Thumbnail generation, any image from video
  • Renditions also supported for videos, different than image renditions, each rendition is separate asset, allows different codex-format-bitrate-resolution of same video
  • External video support to store
  • Multiple encoding for single video
  • Video player is HTML 5, no longer Silverlight by default, it will fall back to Silverlight with older version of browser like IE 8 or earlier

Usage Analytics

  • Built to scale from group up
  • Analytics changed to be search driven – based on usage counts, click through, and item relationships
  • Personalized search queries based on user or usage analytics data e.g. recommended for you
  • Includes preconfigured Content By Search web part e.g. Top Pages

Design Manager and general rendering changes

  • Empowering web designers, completely revamped CSS classes
  • Web parts rendering with DIVs, not tables
  • Site design and branding based on standards like HTML5, CSS, and JS using their preferred tools like Dreamweaver
  • Design manager to assist with templates, modifying master pages on fly, and export-import design package from 1 site to another

Device based rendering – Channels

  • Target different designs based on user agent string for different devices
  • Different channels defined at the SPWeb level
  • Define channels for single devices or group of devices
  • Assign alternate “Master Pages” per channel
  • Selectively include or exclude portion of page layouts per channel
  • Preview while designing and authoring
    • Specific control to define mobile rendering areas in content, if you want to use same master page for multiple devices
    • By default, It will fall back to browser device channel if it can’t find any specific device channel implementation, you can also define default device channel

Additional Resources

Posted in SP2013 General | 2 Comments

Problem Enabling Hyper-V on Hardware running Windows 8 Enterprise

Are you planning to install Hyper-V on your Windows 8 Pro or Windows 8 Enterprise desktop and use for your SharePoint virtualization technology? If you are, you may want to ensure your CPU and hardware supports some of the basic requirements for Hyper-V before it’s too late. As a SharePoint 2013 VM builder, you may be more focused on the RAM requirements but CPU requirements are equally valid if you are planning to use Hyper-V for your virtualization technology.

I have recently tried to activate Hyper-V role on my Windows 8 Enterprise desktop and ran into issue of Hyper-V manager couldn’t connect to local host. As I tried to force local connection, I was welcomed by very criptive message – An error occurred while attempting to connect to server. Check that the virtual machine management service is running and that you are authorized to connect to the server – Hyper-V has not been installed on computer.

Hyper-V Manager Blank

This has definitely pointed me in the right direction. As I looked further in the Windows Feature On or Off program, “Hyper-V Platform” was grayed out. It means, Hyper-V wasn’t installed on my host machine. This is such a weird situation.

Hyper-V Grayed Out

Being new to Hyper-V installation process, quick “Google” brought me to multiple places and all of them pointed to check my computer System Info to see if Hyper-V can be supported by my hardware and CPU. According to reference article, Hyper-V requires SLAT (Second Level Address Translation) feature of CPU. Every Intel Core i3, i5 and i7 CPU supports SLAT but my current laptop’s Core 2 Duo CPU doesn’t support it. That tells me why I couldn’t install Hyper-V role on my laptop hardware.

To verify if you can install Hyper-V on the desktop, all the four options in Hyper-V requirements in the System Info should be Yes.

Hyper-V systeminfo commandSystem Info

Hyper-V Requirements-systeminfo

Here are the basic hardware requirements to run Hyper-V role on the Windows 8 Host servers.

  • Windows 8 Pro or Windows 8 Enterprise, 64 bit version
  • CPU should support Second Level Address Translation (SLAT)
  • At minimum 4G RAM
  • Update BIOS and enable virtualization.

Having said that, please beware before buying new laptop or aftermarket laptop and check basic hardware requirements for Hyper-V to run Hyper-V virtualization feature on windows 8 desktops or laptops.

Resources

Posted in Hyper-V | 1 Comment

New Best Practices for SharePoint 2013 Farm Design – Streamlined Topology

Microsoft has just released “Streamlined Topology for SharePoint 2013”, new way to build & configure SharePoint 2013 farm. It’s really nice to see official documentation on new approach which I had first heard at SPC12 during SPC119 “Designing Your SharePoint Server 2013 Enterprise Deployment” Session. In that session Luca Bandinelli delivered prescriptive guidance to build SharePoint 2013 On-Premises farm similar to SharePoint Online based on Microsoft’s lessons learned and best practices while maintaining and building their own SharePoint online data centers.

As far as Physical Topology, We have three tiered approach since MOSS 2007 days. In MOSS 2007, we had Web Tier, Application Tier (Central Admin, Shared Service Providers – Search, Excel, Profile Import), and Database Tier. In SharePoint 2010, there wasn’t much changed and we had almost same 3-tier topology (except Application Tier dedicated for Service Applications instead of SSP) but dedicated servers can be added in application tiers for high preformat service applications like Search or PerformancePoint etc.

With SharePoint 2013, we had lot more service applications and many of these service applications can be grouped in similar groups either based on their CPU and RAM needs or either based on their latency, throughput, or workloads/resource utilization to optimize system resources and maximize performance for users. Even though we can get away with traditional 3-tier topology approach in SharePoint 2013, there are some new services may require additional tier and dedicated attention on Application tier. All the windows & WCF services can be divided into – very low, low, and high tolerant latency and this may require us dividing up application tier in multiple tiers for each type of latency tolerant service applications.

As shown in the diagram below, Microsoft provides us alternative farm design topology by redefining traditional web and application tier into multiple tiers.

SP2013 Traditional to Streamlined Model

SP2013 Server Roles

  • Traditional web tier is redefined as Caching and Request Processing tier which would group similar web front end servers for end user request processing along with new service applications like Request Management and Distributed Cache which would require very low latency but very high throughout. Request Management is disabled by default and Distributed Cache is enabled by default. Since Request Manager is CPU intensive and Distributed Cache is memory intensive, both of these services can share same server without any major performance hit.
  • Traditional Application tier is divided into two optimized tiers – Front End Servers and Batch Processing Servers.
    • Front-End Servers would group similar service applications which would serve user requests with low latency, low resource utilization, and optimized for faster performance and response time. Services like Central Administration, Managed Metadata, User Profile, App Management, Search Query Role, and Business Data Connectivity are ideal for Front End Servers.
    • Batch Processing Servers would group similar service applications which would typically require long running back ground processes, high latency, and high resource utilization, and optimized for higher workload by maximizing system resources. Services like User Profile Sync, Work Management, Search Crawl and Index Role, Workflow, Machine Translation etc. are ideal for Batch Processing Servers. For large scale farms, Batch processing tier can be divided further into specialized load servers for services like Search, PerformancePoint, or Excel Services which can cause high spikes in performance during peak time.
    • Database tier stays same in both traditional and streamlined model. These servers can be either clustered, mirrored, or configured with Always On.

Ok, So, What’s your take on this new Model..

Having said that, my take on this new approach is what I used to say while designing SharePoint 2010 topologies. Even though you would ideally love to plan for 4-5 tier topology, it may not be possible in real world due to possible hardware funding issues. You are looking at nearly 10 high performing virtual machines or physical hardware, which may be daunting to get through budget approval  process.

Depending on your situation, number of users, and size of farm, you may get away with running traditional three tiered approach as long as they have enough hardware resources like RAM and CPU allocated. With the traditional 3-tier approach, you can run Distributed Cache and Request Management on Web Servers, Central Admin and all the Service applications in Application tier as initial farm design and plan to scale out or add more dedicated servers for specific workloads like Search as needed.

Resources

Posted in SP2013 Admin | Leave a comment

Applying new look & theme on My blog

I have been using Andrea09 word press theme for a while (almost two years) and finally, I have decided to change look & feel to more contemporary theme “Twenty Ten” with lots of white background & large fonts in the spirit of SharePoint 2013.

One of the reasons why I had stayed with Andrea09 theme was real estate it provided me for my content. I have been posting many step by step articles and Andrea09 theme was very useful displaying large screenshots across full width on the browser.

Andrea

For a while, I felt there was too much going on in the old theme with main blog’s small font content surrounded with lots of links & gray background. Although I may miss wider real estate with new theme, I am expecting new theme will provide me better control over content and presentation with focus more on content than page layout.

Twenty Ten

Please note that all the content has been same. I may have to revisit some of the old blogs to ensure images are trimmed down to new theme’s width.

Thanks for staying with me while I am making this change. Let me know what you think!!!

Posted in Uncategorized | 4 Comments

Locating SharePoint Prerequisite Installer Log Files

Sometimes it’s important to see what happens under the cover especially if things fail or curious to learn while running installer programs. I have needed to perform exact same tasks during my recent SharePoint Prerequisite Installer run and check logs to see what Preinstaller does and where it downloads all SharePoint pre-requisites software from.

Microsoft has introduced SharePoint Pre-requisites installer in SharePoint 2010 and it’s one of those tools that help you prepare SharePoint servers for SharePoint installation either offline or online by directly downloading prerequisites from Microsoft download center.

To get access of Prerequisite Installer logs, simply type cd %temp% and look for the PrerequisiteInstaller.*.log files. SharePoint spits out these logs at C:\Users\<User>\AppData\Local\Temp directory.

Preinstaller Log location

Simple tip but hard to remember!!! :)

Posted in SP2010 Admin General, SP2013 Admin | Leave a comment

Step by Step Case Study – No Code Policy Center for SharePoint 2010 On-Premises

Please note that this article applies to SharePoint 2010 On-premises. Architecture discussed in this article won’t supported in the SharePoint 2010 Online but it can be easily adapted in the SharePoint 2013 Online with new support for custom managed properties. Although architecture discussed in this article can be easily applied in SharePoint 2013 On-Premises, there is better option with Cross-Site Publishing and Content by Search with the Enterprise CALs.

Last October I had demonstrated No-code Search solution at SharePoint Fest Chicago to build corporate knowledge center showcasing how you can rollup policy documents from different departments designed as Site Collections from your organizations to centralized location in SharePoint 2010 On-Premises farm. I had promised attendees that I will post detailed blog entry on how to build no-code Policy Center and architecture behind it. Although it took me almost 6 months to complete, I really hope it’s not too late.

Here is the detailed step by step blog entry on how to design policy center. Alternatively you can download 50 page visual case study from sky drive.

Purpose

The goal of this article is to demonstrate step by step no-code solution to build corporate policy center in SharePoint 2010 on-premises environment using SharePoint 2010 Enterprise Search, Managed Metadata, and Enterprise Content Type features.

Whole premise of this sample case study is to show case how easily you can build very complex knowledge center or centralized policy center by standardizing policy documents definition using enterprise content type across all departments in organization, allowing business users to tag documents using managed metadata, and surface & rollup policy documents using SharePoint 2010 Enterprise search technologies to the centralized policy center.

Solution Requirements

An Organization would like to build corporate policy center rolling up all the published policies from the different organization departments.

1_Policy Center Information Architecture

High level architecture and requirements of “Centralized Policy Center” are as following

  • Corporate Policy Center conceptually represented as a Centralized solution and hosted on the root site collection. All the department policies made available to the centralized location for employees to consume.
  • Policies will be available in a read-only view on the Centralized Policy Center for employees.
  • Each department Policy library is hosted at the top level site of department site collection.
  • Policies are created by departments and published by members of department steering committee to the policy center. Optionally it can be approved by department steering committee and allow members of departments to publish policies.
  • Document-specific Metadata drives policy search as well as the various views & categorization of policies. Some of the metadata are – Effective Date, Department Name, and Applicable To

Final Solution Preview

Final Corporate No-code policy center would look like as below. Although this site or screen is not branded, it provides much cleaner view and allows users to filter policies based on refiners. By default, when user visits this page, it would show all the policies across all the departments. User can use refiners to further filter policies by department or audience it’s applicable to.

2_Corporate Policy Center

Technical Architecture

As many of you know, having decentralized authoring/hosting of Policy documents in different department site collections like HR, Legal, IT and serving those documents as centralized policy center is one of the most common pattern required by Corporate Intranet. Typically in large organizations, corporate SharePoint intranet information architecture consists of various site collections for each departments like HR, IT, Legal, or Finance.

Here are the major approaches of traditional data access methodologies and their limitations in SharePoint 2010. You can also refer my article and presentation – SharePoint 2010 Data Querying Options – Server OM vs. Client OM vs. REST vs. LINQ vs. Search API and ChDevSPUG SP2010 Developer Introductory Presentation on Slideshare

3_SharePoint standard APIs

  • Server Side APIs
    • SPList, SPQuery, and SPDataQuery
    • LINQ to SharePoint
  • Client Side and Remote APIs
    • CSOM and REST APIs
    • SOAP APIs and WCF Services
  • Limitations
    • Targeted at List or Library
    • Scoped at the Site or Site Collection
    • 5000 List Items threshold
    • CSOM has slow performance over the network
    • Data Aggregation and Rollup would require complex custom programming

One of the biggest challenges in SharePoint 2010 is rolling up documents across multiple site collection using SharePoint APIs. Many of the OOB SharePoint APIs like SPDataQuery or Content Query Web Part are great rolling up information at the site collection level but things get grim as soon as you have requirements to roll up information across site collections. Although there are third party content query web part available from Lighting Tools to rollup information across site collections, there isn’t much options except Search.

Historically Enterprise Search has been one of the most overlooked feature for SharePoint data access method. Since Search crawls every dark corner of your SharePoint farm, conceptually Search Index has all the data you are looking for across multiple site collections and using Search API seems like no-brainer solution to rollup information across multiple site collections. This article will follow Search philosophy to rollup policies from different department site collections to centralized location as Policy Search center. Unlike SharePoint API options, Search would also allow you to design your solutions with No-Code approach and can rely only on browser customizations.

4_Search Architecture

Some of the major benefits and limitations of Search as Data access method are below:

  • Major Benefits
    • Perfect for Data Rollups and Data Aggregations across Cross-farm, Cross-Web Application, or Cross-Site Collection
    • Can query across large data corpuses (because it query against index)
    • Queries are fast even with large data corpuses (because it query against index)
    • Most scalable data access solution out there, All other techniques are mostly SQL-based (because it query against index)
  • Major Limitations
    • Content needs to be in the indexed (dependency), Avoid this option if real time data access are requirements
    • Requires advanced search service administration and configuration (dependency)
    • Improve search by tagging with metadata (to be effective)

Policy Center Detailed Architecture

Niks Policy Center is designed with no-code solution methodologies of SharePoint 2010. With the technologies like Enterprise Content Types, Managed Metadata, Document Libraries, Enterprise Search, and Out of box Search web parts, policy center not only allows departments to post policies in secure document libraries defined with enterprise level policy content types but also allows them to tag mandatory information to allow search to roll up policies at the centralized location.

One key thing is to keep in mind that Policies available at the centralized location would be dependent on Search crawl frequency. Plan to configure incremental crawl more frequently in SharePoint 2010 Enterprise Search Administration every few hours to ensure the freshness of policy center documents are available at the centralized location.

Here is the detailed Policy Center Architecture:

5_Policy Center Architecture

Detailed description & data flow described in above diagram for Policy center architecture are as below

  • “Company Policy” Content Type defines the structure of department policy document libraries. This content type consists of two managed metadata fields – Policy Department and Applicable To, which would allow users to tag documents with proper categories while uploading policies
  • Department Policy Document Libraries designed to use “Company Policy” Content Type which would allow department steering committee to upload policies as policy content type
  • Department steering committee will upload Policy documents as “Company Policy” content type and tag policies to specific Department and other metadata
  • Enterprise Search crawls department policy document libraries and make policy center data available through search interface
  • Enterprise Search crawls “Company Policy” content type associated with policy documents and make it available through search interface, This would allow us to search policies based on Company Policy content type
  • Enterprise Search crawls Policy managed metadata from term store associated with the policy documents and make it available through search interface, This would allow us to search policies based on Policy Managed metadata
  • Centralized Policy center home page displays list of all the company policies through Search web parts. This page consists of two major search web parts – Core Search Results web part and Refiners web part. Core Search results web part is configured to filter all the policies for “Company Policy” content type. Refiners in the refiner’s web part would further filter search results in Core Results web part based on user selection. E.g. if user selects “Policy Department = HR”, it would further refine Core Search Results with managed metadata = HR

Implementing Solution – High level script to build Policy Center

Here are the high level steps to implement no-code policy center solution using SharePoint 2010 technologies like Enterprise Content Type, Content Type Hub, and Enterprise Search. Please download visual case study from my sky drive for detailed visual step by step guide.

Pre-requisites

  • Activate Search Service and Search Service Application
  • Activate Managed Metadata Service and Content Type Hub
    • Activate Managed Metadata Service and Managed Metadata Service Application
    • Provision Content Type Hub Site Collection at http://sp2010vm/sites/cthub using Team Site Template to define Enterprise Content Type architecture
    • Configure Managed Metadata Service to use cthub as Content Type Hub

Design Data Source Architecture – Policy Content Type

  • Create Content Site Collections – Three site collections based on team site – HR, Legal, IT
  • Add New Terms in Term Store – New Group – Corporate, New Term Sets – Department and Employee Groups
  • Define Enterprise Content Type in Content Type Hub
    • Create Content Type – Company Policy in the Content Type Hub
    • Add Columns
      • Title (Required)
      • Description (Optional)
      • Effective Date (Optional – Date and Time)
      • Policy Type (Required – Choice – Corporate, Department)
      • Policy Department (Required – Managed Metadata – Department)
      • Applicable To (Optional – Managed Metadata – Employee Groups)
  • Publish Content Type from the Content Type Hub – Company Policy Content Type
  • Consume Content Types from Content Type Hub in three main site collections – HR, Legal, and IT
  • Run timer job – Content Type Hub, Content Type Hub Subscriber to publish content types right away
  • Create new document library – Policies and Apply Company Content Type as Content Type in all three site collections
  • Upload Sample Policies on all three site collections document libraries

Design Data Query Architecture – Search for Policies

  • Crawl Content from Search – Full Crawl on the default content source
  • Verify searching Policies from the Search Index from Search Center
    • Using word – policies, it should return everything including policy documents & document libraries
    • Using content type – ContentType:”Company Policy” – it should return all the policies, no doc libraries
    • Using content type and search – ContentType:”Company Policy” AND Site:”sp2010vm/sites/IT” – it should return only IT policies
  • Ensure Crawl Properties are included in the Index
    • Effective Date (found 1)
      • ows_Effective_x0020_Date(Date and Time), No Mapping
    • Policy Type (Found 1)
      • ows_Policy_x0020_Type(Text), No Mapping
    • Policy Department (Found 3)
      • ows_Policy_x0020_Department(Text), No Mapping
      • ows_taxId_Policy_x0020_Department(Text), owstaxIdPolicyx0020Department
      • Policy Department(Text), No Mapping
    • Applicable To (Found 3)
      • Applicable To(Text), No Mapping
      • ows_Applicable_x0020_To, No Mapping
      • ows_taxId_Applicable_x0020_To(Text), owstaxIdApplicablex0020To
  • Run Full crawl on default content source to populate crawl properties and default managed properties
  • Create Managed Properties for Custom Columns and map managed metadata properties to text crawled properties – Select all the check boxes – Allow this property to be used in scopes, Reduce storage requirements for text properties by using a hash for comparison, and Add managed property to custom results set retrieved on each query
    • EffectiveDate – ows_Effective_x0020_Date, Date Time
    • PolicyType – ows_Policy_x0020_Type, Text
    • PolicyDepartment – ows_Policy_x0020_Department, Text, Multiple Values
    • ApplicableTo – ows_Applicable_x0020_To, Text, Multiple Values
  • Run Full Crawl on default content source to populate managed properties
  • Verify searching Policies from the Search Index by managed properties – ApplicableTo:”Contractors” or PolicyDepartment:IT, it should return results

Design final Solution – Centralized Policy Center

  • Configure Corporate Policy Center to demonstrate rollup across multiple site collections
    • Policy Center view is made of 4 search web parts – Refiner Panel, Search Statistics, Search Core Results, and Search Paging Web Parts.
    • Add Refiner Panel and configure properties to return specific categories
    • Add Search Statistics Web Part – No Settings changed
    • Add Core Results Web Part and configure properties with updated XSL for simplified UI – Set Append to Text Query – ContentType:”Company Policy”
    • Add Search Paging Web Part – No Settings changed

Enjoy!!!!!

Posted in SP2010 General | Leave a comment