Enabling SharePoint 2013 content reuse beyond site collections using Search
One of the questions we are most frequently asked by customers with previous versions of SharePoint is how to access content (library and lists) residing in another site collection. Previously, this could only be achieved by using custom code to surface the data or by bending the principles of information architecture to simplify access to the content!
However, in the latest version of SharePoint Server 2013, the problem of accessing content across site collections is solved through the new cross site collection publishing feature, catalog connections and the re-architected search capabilities. In addition, the managed metadata service now also drives the site navigation elements with more freedom and flexibility.
The aim of this post is to show you how to enable content reuse beyond site collection boundaries and along the way visit some of the new features in the web content management space whilst using the newly available search driven web parts to achieve a more modern web experience.
I always find it useful to show the starting point and the end result to give you a better understanding of what we are trying to achieve. For the purposes of explaining the steps and process I am using a fictitious product catalogue. This concept can also be applied to page libraries, knowledge base, events and much more. So here we go!
The components that make up this solution are listed below:
- Two site collections – An authoring (source) site collection containing source list of products and a publishing (destination) site collection to surface and browse products
- Cross site collection publishing feature – This feature is activated at the source site collection level
- Term Sets – As part of Managed Metadata Service, the terms created here will be used to drive the managed navigation, faceted navigation and search refiners
- Site columns – in particular with metadata field types these will be used via the managed property capability in search
- Content Type – defined as product (Item content type) with our site columns
- Managed Properties – created after search crawl on products list with site columns
- Content by Search Web part
- Pages – Category and Item detail pages
- Managed Navigation – controlled by the Term store from the managed metadata service
- Search Refinement Panel Web Part.
So we will now go through the process of using the above components to get to our end result!
1. Create Source Site for products
For our source site collection (authoring) we create the site. One of the new site templates available in SharePoint 2013 is a Product Site template part of the new Publishing set of templates. Out of the box this site template already comes with the cross site collection publishing feature enabled. Alternatively, you can use any other site templates, making sure to activate the cross site collection feature.
2. Create Term Sets and Terms
As part of Managed Metadata service, we create product related term sets and terms to control our taxonomy. Product Category and Brand were the term sets followed by the terms as shown below. These are critical as these will form our managed navigation and further have access to faceted navigation settings to customise search refiners (see later).
3. Create Site Columns
The product site template already comes with product list (using product content type) and related site columns. The product content type uses the Item content type as its parent. Both Item category and Brand (created by me) site columns are of managed metadata field type and configured through their respective term sets (as shown above). The main reason for having site columns with managed metadata is to enable search service application managed properties and the availability of managed navigation options as we’ll see later.
4. Populating SharePoint list with products
Create the list items either through quick edit mode or through form entry.
5. Sharing the Product List by having catalog-enabled
This part is new for SharePoint 2013. Since we have the cross site collection publishing feature enabled, in the list settings there is an option Catalog Settings available. We are interested in three options:
(a) Checking the Catalog Sharing checkbox.
(b) Selecting ID as our primary key (uniquely identifiable item).
(c) Item Category as our catalog navigation. The option values in the drop down will only appear if the list has site columns with managed metadata as illustrated above.
On the side, there is also an option to allow anonymous search access to this product list for surfacing data to internet sites powered by the SharePoint 2013 platform.
6. Run Full Search Crawl
Within Search Service Application, navigate to the content sources Local SharePoint Sites and start the full crawl. If you haven’t got this part setup then you can find out more here on how to setup content source in search.
7. Setting Search Managed Properties with refine-enabled
Once the search crawl has been run successfully, we now have access to our newly created managed properties (Brand and Item Category) mapped to their respective crawled properties. By default, the refine option for each managed property is set to NO. Therefore, we edit each managed property and change the setting to YES. Remember, these are editable within the Central Administration (Search Administration) user interface. If you access them from site collection search schema these options may be disabled due to permission authorisation levels.
Note: You must run full search crawl again for the changed settings to be effective.
8. Revisiting Product Term Sets to enable faceted navigation
Faceted navigation is a new feature available with term option settings. The faceted navigation tab only appears if its corresponding term set has the option checked.
Here in the faceted navigation option screen, we can now customise refiners which were setup in step 7 above.
9. Provisioning destination publishing site collection
A new SharePoint site collection with publishing template is setup, in which we will surface the products through search index. You can treat this site as a presentation layer or read-only site to display our product catalog.
10 Managing Catalog Connection
In order to surface the products from the source site collection, we will have to setup a catalog connection. This is done by accessing site settings > Site Administration > Manage Catalog Connections. The entries will only appear here if the search crawl is run successfully. We go ahead and connect to our product catalog (the path is for the source site collection). The catalog source settings page requires few options to configure.
It is here we define our controls to set the navigation hierarchy (driven by our term set earlier), friendly URLs and product item URL format.
11. Configuring Category and Item Detail pages
Out of the box two pages are created to display list of items by a specific category and a page to show the product detail. The Category page contains a new search driven web part called Content By Search web part which is similar to the Content Query web part. The main difference being that the content by search web part pulls its content from the Search index. In my opinion, this new development is key to enabling SharePoint 2013 to serve as a powerful platform for managing and surfacing data.
12. Adding Search Refinement Panel web part to category page
To display contextual information such as brand relating to products in a given category, a search refinement panel web part is used targeting the content by search web part.
Hopefully this post has demonstrated how to surface a simple SharePoint list from one site collection into another site collection taking advantage of managed navigation (derived from term store), search service managed properties and search driven web parts presented with decent layout and rich contextual information without writing a single line of code!
This post first appeared here: http://blog.pointbeyond.com/2012/11/09/enabling-sharepoint-2013-content-reuse-beyond-site-collection-through-search/