If you're using a SharePoint product then you've probably got some sites to manage — sites you've created, sites your users have created, and sites other administrators have created. Maybe some of these sites are tracking small projects that will outlive their usefulness in a short amount of time. There might even be more than a few sites that no one uses anymore, and those sites may have content or even site mailboxes that are just taking up space.
Wouldn't it be great if there was a way to apply retention policies to sites in the same way you do with items in your sites? We've got just the thing — Site Policy for SharePoint Server.
Site Policies allow you to create a retention policy that can be applied to a site. Site Policy includes the following options:
If you just want to create a policy for a short-term project (to ensure it is automatically cleaned up when it is not needed), you can create a Site Policy that automatically deletes a site six months after it is created and sends a recurring warning e-mail to the site owners starting three months from the delete date. After that date, the site (and its associated Site Mailbox if there is one) will be deleted automatically by the Expiration Policy timer job unless a site owner manually postpones deletion.
Perhaps you want to put a site collection in read-only mode after a certain time. You can create a Site Policy, for example, that closes a site collection five years after its creation. Upon closure, the site collection can be set to read-only mode. One year following site closure, the entire site collection will be deleted. Once you have created your Site Policy, you can directly apply it to sites by publishing Site Policies from a content type hub to use in all the sites in your farm, or even apply them during site creation time with self-service site creation.
To publish the Site Policies you must first set up Content Type Syndication on a Content Type Hub. Once that is complete, create your Site Policies on the Content Type Hub Site. To the right of your Site Policy list, you’ll see a new Publish Policy column with a link to “Manage publishing for this policy”. Clicking the link will bring you to the publishing page where you can publish (push the Site Policy to all consuming site collections in a read-only state), re-publish (push down changes to previously published Site Policies), or un-publish (leave the published policy on the consuming site collections in an editable state).
If you want users to be able to create their own sites and choose a Site Policy to be applied at creation time, start by setting up Self-Service Site Creation. Once that is done, you can use the Self-Service Site Creation administration page in Central Administration (or Tenant Admin in SharePoint Online under Settings) to choose one of three states for Site Policy: Hidden from users (no Site Policy will be applied), An optional choice (users may apply a Site Policy or none at all), or A required choice (user must choose a Site Policy before the site will be created).
After completing this configuration, users will be presented with a new dialog box on their Self-Service Creation dialog with the published Site Policies available for the site.
If a site is about to be deleted or if the site collection is in read-only mode, an information bar will appear at the top of the site for all users. This way, users can be made aware and have a chance to contact their site administrator in the event they believe the site should not be deleted, be reopened, and so on.
Site Policy also ensures that sites with associated Site Mailboxes are also kept in the same state as the site itself (Closed, Open, or Deleted). Whenever the state of the site changes, a work item is sent to the Site Policy and Exchange Site Mailbox Policy Update Timer Job. By default, this Timer Job will run once per day and update the state of the associated Site Mailbox. There is CSOM (Client Side Object Model) code available to remotely determine the status of the site and change its state. You can find out if the site is closed, apply a Site Policy, manually open the site, and much more. You can also use the Site Policy CSOM to customize the subject and content of the site deletion alert e-mail by inserting the tokens for the site url ("<!--{SiteUrl}-->"), site expiration date ("<!--{SiteDeleteDate}-->"), and (if you have an associated Site Mailbox) the Site Mailbox ("<!--{TeamMailboxID}-->") into the body of the custom e-mail.
Note: To be able to compile and execute the below example on a client machine you will need to install the SharePoint 2013 Client SDK. For more information about the Site Policy class and methods, please see the ProjectPolicy MSDN article.
Example:
using Microsoft.SharePoint.Client;using Microsoft.SharePoint.Client.InformationPolicy;using System;
namespace SitePolicyEmailChanger{ class Program { static void Main(string[] args) { string siteCollectionUrl = ""; string relativeSiteUrl = "";
// Get the site and web info Console.WriteLine("Site Policy E-mail Changer"); Console.WriteLine("Enter the Site Collection URL: "); siteCollectionUrl = Console.ReadLine(); Console.WriteLine("Enter the relative Site URL: "); relativeSiteUrl = Console.ReadLine();
// Return the currently applied Site Policy ClientContext context = new ClientContext(siteCollectionUrl); Site site = context.Site; Web web = site.OpenWeb(relativeSiteUrl); ProjectPolicy policy = ProjectPolicy.GetCurrentlyAppliedProjectPolicyOnWeb(context, web); context.Load(policy, p => p.Name, p => p.Description, p => p.EmailSubject, p => p.EmailBody, p => p.EmailBodyWithTeamMailbox); context.ExecuteQuery();
// Display the current Site Policy properties and pause Console.WriteLine(String.Format("Policy Name is: {0}", policy.Name)); Console.WriteLine(String.Format("Policy Description is: {0}", policy.Description)); Console.WriteLine(String.Format("Policy E-mail Subject is: {0}", policy.EmailSubject)); Console.WriteLine(String.Format("Policy E-mail Body is: {0}", policy.EmailBody)); Console.WriteLine(String.Format("Policy E-mail Body (with Site Mailbox) is: {0}", policy.EmailBodyWithTeamMailbox)); Console.WriteLine(); Console.ReadLine();
// Edit the Site Policy E-mail properties policy.EmailSubject = "Contoso Site Deletion Notice"; policy.EmailBody = "The Contoso site <!--{SiteUrl}--> is set to expire on <!--{SiteDeleteDate}-->. If you have any questions or concerns, please contact your admin."; policy.EmailBodyWithTeamMailbox = "The Contoso site <!--{SiteUrl}--> associated with Site Mailbox <!--{TeamMailboxID}--> is set to expire on <!--{SiteDeleteDate}-->. If you have any questions or concerns, please contact your admin."; policy.SavePolicy(); context.ExecuteQuery();
// Refetch the edited Site Policy from the server policy = ProjectPolicy.GetCurrentlyAppliedProjectPolicyOnWeb(context, web); context.Load(policy, p => p.Name, p => p.Description, p => p.EmailSubject, p => p.EmailBody, p => p.EmailBodyWithTeamMailbox); context.ExecuteQuery();
// Display the new Site Policy properties and pause Console.WriteLine(String.Format("Policy Name is: {0}", policy.Name)); Console.WriteLine(String.Format("Policy Description is: {0}", policy.Description)); Console.WriteLine(String.Format("Policy E-mail Subject is NOW: {0}", policy.EmailSubject)); Console.WriteLine(String.Format("Policy E-mail Body is NOW : {0}", policy.EmailBody)); Console.WriteLine(String.Format("Policy E-mail Body (with Site Mailbox) is NOW: {0}", policy.EmailBodyWithTeamMailbox)); Console.ReadLine(); } }}
Microsoft test lab guides are deliberately written to be independent of how you actually put them together. For example, you can use physical components (computers and switches/hubs), virtual components (virtual machines and virtual networks/switches), or a combination. For virtual components, you can use the virtualization technology of your choice.
Because more of you are now using Hyper-V in Windows Server 2012 as your virtualization technology, there is new guidance on how to set up various test lab environments using Hyper-V Server 2012.
For SharePoint Server 2013, the new Hosting the SharePoint Server 2013 three-tier test lab with Windows Server 2012 Hyper-V article includes diagrams, guidance, and step-by-step procedures that take you through building out the SharePoint Server 2013 three-tier farm test lab environment on a single Windows Server 2012 Hyper-V server.
This article tells you how to turn the conceptual three-tier farm test lab, which looks like this:
into a virtual switch and a set of virtual machines on a Windows Server 2012 Hyper-V server, which looks like this (click on it to see a larger version):
With this new guidance, you can build out this fundamental environment for planning and testing SharePoint Server 2013 features, capabilities, and scenarios, even if you are new to Hyper-V.
For additional test lab guides that use this three-tier farm infrastructure, see SharePoint Server 2013 Test Lab.
For additional information about virtualization for SharePoint 2013, see Plan for on-premises or hosted virtualization in SharePoint 2013.
Enjoy (physically or virtually)!
Joe DaviesPrincipal Writer
This blog post is contributed by SharePoint Technical Writer, Jennifer Bost.
Are you looking for a list of SharePoint 2013 features? Perhaps you’re trying to figure out which SharePoint offering is right for your organization. Do you need SharePoint Foundation, SharePoint Standard, or SharePoint Enterprise Edition?
If this sounds like you, then the SharePoint Online Service Description might be what you’re looking for. Don’t let the name fool you. This article is actually a single source of truth for SharePoint Online feature capabilities, and also for on-premises SharePoint solutions. That way you can compare all of the options available to you.
The SharePoint Online Service Description has been recently updated to reflect the company’s release of SharePoint 2013. The service description includes short, 1-2 sentence descriptions of the features, but if you want to dig deeper and learn more we’ve also included links to the Help content that explores a feature in-depth.
Go ahead and dig into the service description. You’ll find three feature availability tables on the main article that compare Office 365 plans, standalone plans, and on-premises offerings. Click SharePoint feature availability across on-premises solutions to jump directly to that feature table.
Whether you’re printing a single topic or multiple topics, you can always be sure that you’re downloading the most updated information about SharePoint.
1. Open the SharePoint Online Service Description, and then click the printer icon in the top-right corner of the TechNet page.
2. Select Print This Topic or Print Multiple Topics.
3. If you’re printing multiple topics, then click Start. You’ll see a new toolbar appear at the top of every TechNet page. If you find a topic that you want to add to your list of topics to print, click Add This Topic.
4. When you’re ready to print, click Collections <#> Topic(s) to see the list of topics you selected to print.
5. You can drag and drop topics around in the list, if you want a certain topic to go above or below another.
6. When you’re ready to print, click Generate.
Note: At this point, if you’re not already signed in, you’ll need to sign in to TechNet with a Microsoft account, such as your Hotmail, SkyDrive, Xbox, or Outlook.com account.
7. When the PDF document is complete, you’ll see a blue link to Download Your Document.
Now you can save, search, send, and print that PDF document.
If you have comments or questions about the Office 365 Service Descriptions, we'd love to hear from you. Just send your feedback to Office 365 Service Description Feedback. Your comments will help us provide the most accurate content.
Recently, Microsoft released the BI Solution Builder (http://bisolutionbuilder.com), an online tool that you can use to find out what business intelligence capabilities are available to you based on what your organization currently owns. It's quick and easy to use, and it can help you put your BI environment to work in short order.
For example, if your organization is using SharePoint Server 2013 together with Office, the tool can point you to what BI capabilities are available, as shown in Figure 1. You can also preview additional BI capabilities with other Microsoft products that you might not own yet (also shown in Figure 1).
Figure 1. Interactive matrix showing available and desired capabilities
You specify what you own and what you want to do, and the tool takes it from there. At a glance, you can see what’s available, what’s possible, and where to go to learn more. The BI Solution Builder provides you with an easy-to-use report that contains links to additional resources and information, as shown in Figure 2.
Figure 2. Example of a BI Solution Builder report
Wanna learn more?
Check out the Microsoft BI Solution Builder and the following resources:
Enjoy! And don't hesitate to give us your feedback.
Denise Stendera
Writer, Excel Services
The March Public Update (PU) for SharePoint Server 2013 and SharePoint Foundation2013 is available. Here's information to help you install it on SharePoint farms where search components and high availability search topologies are enabled. For servers that include searchcomponents, you have to follow specific steps to ensure that you install the PUcorrectly. For a high availability search topology, you use Windows PowerShellcmdlets to patch a Search service application.
Note: The Server packages for the Feb CU are contained in the March PU and is available for download here:
SharePoint Server 2013: http://support.microsoft.com/kb/2767999
SharePoint Foundation 2013: http://support.microsoft.com/kb/2768000
Install the SharePoint March PU on servers running search components
When you install the update package on servers running search components, you have tofollow these high-level steps:
1) If you are running a mission-critical multiple-server search topology, we recommend that youcomplete the update in a specific sequence that is indicated in the best practices part later in this article.
This will help to minimize query downtime during the update process.
2) For each server running search components, follow these steps:
a. On the server running SharePoint Server 2013, stop the following Windows Services in this order:
SPTimerV4
OSearch15
SPSearchHostController
Note: The reason why you need to stop the SPTimerV4 service first is because the SPTimerV4 service monitors the SPSearchHostController service. The SPTimerV4 service will start the SPSearchHostController service it if it finds that the SPSearchHostController is stopped. Therefore, if the SPTimerV4 service is running after you stop the SPSearchHostController service, the SPTimerV4 service might start the SPSearchHostController without you noticing it.
b. Install the update package on the server by following the instructions that come with the update package.c. Restart the Windows Services in the following order:
Best practices to perform server patching for a high availability search topology by using Windows PowerShell
To minimize the query downtime during the patching process, you divide the servers that host searchcomponents into three groups and patch these server groups in a specific order asdescribed in the procedure later in this section.
Important: The steps in this section apply only to SharePoint Server 2013.
This procedure assumes that you have a system with only one Search service application. If you have multiple Search service applications, you have to consider all the Search service applications when youdetermine the sequence of servers to patch.
To perform server patching on a high availability search topology by using Windows PowerShell.
1. Verify that you have the following memberships and roles:
•securityadmin fixed server role on the SQL Server instance.•db_owner fixed database role on all databases that are to be updated.•Administrators group on the server on which you are running the Windows PowerShell cmdlets.
An administrator can use the Add-SPShellAdmin cmdlet to grant permissions to use SharePoint 2013 cmdlets.
Note: If you do not have permissions, contact your Setup administrator or SQL Server administrator to request permissions. For additional information about Windows PowerShell permissions, see Add-SPShellAdmin
•Start the SharePoint 2013 Management Shell.•For Windows Server 2008 R2:a. On the Start menu, click All Programs, click Microsoft SharePoint 2013 Products, and then click SharePoint 2013 Management Shell.•For Windows Server 2012:◦ On the Start screen, click SharePoint 2013 Management Shell.
If SharePoint 2013 Management Shell is not on the Start screen:•Right-click Computer, click All apps, and then click SharePoint 2013 Management Shell.
For more information about how to interact with Windows Server 2012, see Common Management Tasks and Navigation in Windows Server 2012.
•Assign a variable for the Search service application.
At the Windows PowerShell command prompt, type the following command:
$ssa=Get-SPEnterpriseSearchServiceApplication
4. Determine the server groups for patching. You split the servers associated with the search topologyinto three groups, where there is a checkpoint between each group of servers.
a) To determine the primary search administration component and the serverwhere the component runs, type the following command at the Windows PowerShell command prompt:
Get-SPEnterpriseSearchStatus -SearchApplication $ssa | where { (($_.State-ne "Unknown") -and ($_.Name -match "Admin")) } | ForEach {if (Get-SPEnterpriseSearchStatus -SearchApplication $ssa -Component $_.Name-Primary) { Get-SPEnterpriseSearchTopology -SearchApplication $ssa -active | Get-SPEnterpriseSearchComponent -identity $($_.Name) } }
b) Determine the servers in group 1.
The set of servers must fulfill the following requirements:
•The set must contain one or more, but not all, of the following types of search components:
◦Content processing component◦Query processing component◦Analytics processing component◦Crawl component◦Index component◦The set must contain one or more, but not all, of the index components for each index partition.◦The set must contain the non-primary search administration component
c) Determine the servers in group 2.
This group must contain all remaining servers except the server that hosts the primary search administration component.
d) Group 3 consists of the server that hosts the primary search administration component.
5. Perform the required patching of servers in group 1. See the procedure “Install the SharePoint March PU on servers running search components” earlier in this article.
6. After you complete the patching, wait until all search components are running.
From a Windows PowerShell command prompt, type the following command until the output no longer lists any search components . The command will only list search components that are not in the “Active” state:
Get-SPEnterpriseSearchStatus -SearchApplication $ssa | where {$_.State -ne "Active"} | fl
7. Perform the required patching of servers in group 2. See the procedure “Install the SharePoint March PU on servers running search components” earlier in this article.
8. After you complete the patching, wait until all search components are running.
From a Windows PowerShell command prompt, type the following command until the output no longer lists any search components. The command will only list search components that are not in the “Active” state:
9. Perform the required patching of servers in group 3. See the procedure “Install the SharePoint March PU on servers running search components” earlier in this article.
Note: During this step, you will experience a few minutes of query downtime while a search administration component failover takes place.
10. After you complete the patching, wait until all search components are running.
Any questions, let us know.
Knut Brandrud, Program Manager, Search Team
This is a blog post in the series “How to set up a product-centric website in SharePoint Server 2013”. In this series, I'll use data from a fictitious company called "Contoso" to show you how to use search features to set up a website based on product catalog data.Note: Most of the features described in this series are not available in SharePoint 2013 Online.
For an overview of the blog posts in this series, go to How to set up a product-centric website in SharePoint Server 2013.
Quick overview
As described in previous steps, we created a Publishing Portal Site Collection called Contoso, and also enabled the Products list as a catalog.
We’re now going to connect the publishing site to our catalog. In this blog post, I'll describe how to:
Throughout this stage, we won’t have much clicking to do because a lot of the settings have already been preconfigured with what we specified in Stage 3, How to enable a list as a catalog. However, I’ll be introducing a lot of new concepts throughout this post. Exciting, eh? I’ll be explaining these features as we go along, so, if you haven’t already gotten a cup of your favorite beverage, grab one now!
To help you along, for this blog post, I'll be using these icons.
Start stage 5
Getting to the Catalog Source Settings page
The Catalog Source Settings page is an important page, because this is where you specify how your publishing site should be connected to your catalog. If you have several catalogs on your farm, each catalog will have its own Catalog Source Settings page.
In our scenario, we only have one catalog, the Products catalog, so we want to go to the Catalog Source Settings page for the Products catalog.
Remember, in Stage3, we learned how to enable a list as a catalog, and we set a check box called Enable this library as a catalog? Well, in this step, SharePoint will search for libraries or lists where this check box has been selected.
Our Products list displays as an available catalog. To connect to it, simply click Connect.
Tip: If you click Connect to a catalog and there aren’t any available catalogs, this could be because you haven’t yet crawled the catalog.
Now that we have successfully navigated to the Catalog Source Settings page for our Products catalog, it's time to specify how the catalog should be integrated into our Contoso site.
Specify the settings on the Catalog Source Settings page
This table gives an overview of the settings that we have to specify on the Catalog Source Settings page. If you want to go straight to a subsection, use the "Go to" links.
Specify Catalog Integration
For this setting, you specify how the catalog content should be integrated in your publishing site. Your selection will impact if you have to specify further settings on the Catalog Settings Page.
In the Connection Integration section, keep the setting Integrate the catalog into my site as it is -- selected.
The reason why we're keeping this setting selected, is because we want to use the terms from the Product Hierarchy term set (from our Product Catalog Site Collection) in the navigation of our Contoso site.
By keeping this setting selected, this will also enable us to define user friendly URLs, and have a category page and an item page automatically created for us (I'll describe what a category page and an item page is in more detail later).
Specify the full site navigation
A site that has been created by using the Publishing Portal Site Collection template (which is what we used when we created this site), will by default have Managed navigation selected as its navigation method. Managed navigation is a new navigation method introduced in SharePoint Server 2013, which lets you define and maintain the navigation on your site by using term sets.
To view how the navigation of your site has been set up:
We are now going to build the full site navigation by integrating terms from the Product Hierarchy term set (from the Product Catalog Site Collection) into the Site Navigation term set.
In our scenario, the navigation structure of our Contoso site will be quite simple, as it'll be made up of the terms from the Product Hierarchy term set only.
To specify the full site navigation, we have to specify:
Navigation Hierarchy
You'll notice that one of the settings, Select the column that categorizes items for navigation, already contains information. Do you remember how in Stage 3 we specified Item Category for the Navigation Hierarchy setting, when we enabled a list as a catalog? That setting is automatically carried over to this page, so we will keep the selected Item Category as is.
And, do you remember in Stage 2: Import list content into the Product Catalog Site Collection, that I showed you how the Item Category column is tied to the Product Hierarchy term set? I'm reminding you about this because we're now going to specify from where in the Product Hierarchy term set the catalog navigation should start. Here goes!
Our final Navigation Hierarchy settings will look like this:
Navigation Position
Navigation Position defines where, in the current site navigation, the catalog navigation should be integrated. In other words, where, in the Site Navigation term set, the Product Hierarchy term set should be integrated. As the Contoso site will only contain catalog pages, I keep the setting Add to navigation root selected.
Navigation Pinning
Navigation Pinning determines whether or not changes that are made to the Product Hierarchy term set in the Product Catalog Site Collection should be reflected on your site navigation.
If we decide to make changes to our Product Hierarchy term set, for example by changing the name of a term from “Printers, scanners and fax” to “Printers, scanners & fax”, we want this to be reflected on our site navigation. For this to happen, the Pin terms to site navigation check box should remain selected.
Specify URL details for a product page
When specifying URL details for a product page, you first have to decide which page you want your visitors to land on when they're browsing to a specific product. To do this, you've two options:
We're building a customer-facing website for Contoso, with colorful, attractive pages to showcase our products. We similarly want our pages to have friendly URLs. Therefore, we'll choose the first option.
If we were building an internal company website, where we wanted employees to view the actual list items in our catalog, we'd have chosen the second option.
Important note: When specifying URL settings for a product page, your security settings and site access settings remain the same. Visitors will only see what you've granted them permissions to see.
To specify the URL details for a product page, you have to specify:
Catalog Item URL Behavior
To specify Catalog Item URL Behavior, keep the Make URLs relative to this site setting selected.
By keeping this setting selected, when our Contoso visitors browse for a specific product, they'll be taken directly to a page in the publishing site collection.
Catalog Item URL Format
Catalog Item URL Format defines how to build a friendly URL to the product page. We already specified this in Stage 3, How to enable a list as a catalog, when we selected Catalog Item URL Fields.
In our Contoso scenario, we'll keep the setting Use the default URL format provided by the catalog source selected. This means that the URL to the product page will contain values from the managed properties ProductCatalogGroupNumberOWSTEXT, and ProductCatalogItemNumberOWSTEXT.
(If the manage property names are confusing, take a look at a previous blog where I show you how automatically created properties are named)
Specify a Category Page and an Item Page
When you display information in a catalog format, the layout and structure should be consistent across the catalog. For example, you want to display the image of a product in the top left corner, followed by a table of product specifications, such as the height and color of the product. The same applies to category pages. For example, you want the page for all TVs to have the same layout as the page for all cameras.
To avoid having to create several pages for each product, and several pages for each category, you can use one template page for each. In SharePoint, an Item Page and a Category Page serve this purpose.
In our Contoso website scenario, we'll neither create an Item Page, nor shall we create a Category Page as SharePoint will do this for us automatically.
Here's what our final Catalog Source Settings page will look like:
Click OK, and watch some cool things happen!
What happens when I click the OK button to connect to a catalog
Our Contoso site navigation now includes terms from the Product Hierarchy term set.
If you browse to the “Audio” page, you'll see three MP3 products displayed.
If you browse to the “Computers” page, you'll see three laptop products displayed.
In a later blog post, I'll explain why the correct categorized products “magically” appear when we browse through the different categories.
However, for now, let’s take a look at a specific product.
As you can see, at the moment, it's not exactly pretty to look at, but information about the product is displayed on the page, and there's also a friendly URL.
Also, the terms from the Product Hierarchy term set have been integrated into the Site Navigation term set. If you want to see this in more detail, go to Site settings --> Term store management.
And two new pages have been added to the Pages library. If you want to see this in more detail, go to Site contents --> Pages.
So, a lot of cool things have just happened on our Contoso website. Now it is time to start improving the appearance of our pages.
Next blog article in this seriesStage 6: Upload and apply a new master page to a publishing site
Additional Resources
This is a blog post in the series “How to set up a product-centric website in SharePoint Server 2013”. In this series, I'll use data from a fictitious company called "Contoso" to show you how to use search features to set up a website based on product catalog data.
In Stage 4: Set up search and enable the crawling of your catalog content, I showed you how to set up search and enable crawling of your catalog content. In this blog post, I'll explain what happens to site columns during crawl.
When a catalog is crawled, the catalog content is added to the search index, where the site columns are represented as crawled and managed properties. Now, I just threw a lot of new words at you, so, let me explain more about the search index and crawled and managed properties.
In this blog post, we'll learn:
About the search index
Let's start by going back to our overview diagram.
1. When a content source is crawled, its contents and metadata are added to the search index. In our scenario, that means that the content from the Products catalog is added to the search index.
2. To display content on the publishing portal (the Contoso website), Search Web Parts are used. Search Web Parts contain a query, for example, "show all MP3 players that have the color red" (note: the query is not formulated in such common language, but for now, let's just keep it simple). So when users navigate to a page that contains a Search Web Part, the query for red MP3 players is automatically sent to the search index. The query result is returned from the search index, and all red MP3 players are shown in the Search Web Part on the page.
What is important to understand, is that the content that we add to the search index, determines which search results can be returned when queries are issued from Search Web Parts. Simply put; if the content from our Products catalog isn't added to the search index, we can't display any catalog content on the Contoso website.
About crawled and managed properties
During a crawl, the contents and metadata of the items are represented as crawled properties. In our scenario, items are the site columns and the values that are stored in the Products catalog. The reason you need to know about crawled properties, is because we'll later use crawled properties when configuring refiners.
Even though crawled properties contain values, they are "useless" without a partner. This partner is a managed property. By creating a mapping between a crawled property and a managed property, we'll be able to display content on Our Contoso website.
The reason you need to know about managed properties, is because we'll later use managed properties when configuring queries in Search Web Parts, and when defining how search results should be displayed on a web page.
I'll explain both the use of crawled and managed properties in more detail along with examples in later blog articles. For now, it's important that you understand that we'll use crawled and managed properties, and NOT the site columns from the Products catalog when querying for and displaying content on Our Contoso website.
About automatically created crawled and managed properties
SharePoint comes with a number of default managed properties that are mapped to default crawled properties, for example, “Title”.
In previous versions of SharePoint, whenever a new item was discovered during a crawl, users would have to manually create a new managed property, and map this to the corresponding crawled property.
In SharePoint Server 2013, you can use automatically created crawled and managed properties. They make the lives of catalog owners a lot easier.
When new content is added to a catalog (what we did in Stage 2: Import list content into the Product Catalog Site Collection), a lot of new items will be discovered during a crawl (what we did in Stage 4: Set up search and enable the crawling of your catalog content). To avoid having to create a new managed property, and map this to the corresponding crawled property, SharePoint Server 2013 does this for you. When a catalog's crawled, SharePoint Server 2013 automatically creates a crawled property for each site column in the catalog. SharePoint Server 2013 also automatically creates a managed property for the site column, and adds a mapping between the two.
Important note: Only site columns that contain values automatically become managed properties when they're crawled. Regular columns do not!
So, that is a sweet deal!
However, remember how I mentioned that you will use crawled- and managed properties in later stages when configuring refiners and queries in Search Web Parts? Well, in order to do that, it's important that you understand how the names of these automatically created crawled and managed properties are constructed.
About the naming convention for automatically created crawled and managed properties
The name of an automatically created property is a combination of the site column name, and the site column type. This naming convention is a tricky area to understand, so I'll start with a simple example, with two site columns, and then I'll explain the rules that apply to all site column types.
Naming convention for two site column types
1. In the Products list, we have:
2. During a crawl, a crawled property is automatically created for the site column. The name of this property is generated by removing spaces from the site column name, and adding a prefix. The prefix that is added varies depending on the site column type.So, in this example, we get the following crawled properties:
3. A managed property is then automatically created, which is mapped to the corresponding crawled property. The name of this property is generated by removing spaces from the site column name, and adding a suffix. The suffix that is added varies depending on the site column type. So, in this example, we get the following managed properties:
That was simple, right? However, the naming convention does vary depending on the site column type.
Naming convention for all site column types
For the creation of an automatically created crawled property name, the following apply:
For the creation of an automatically managed property name, the following apply:
If you need more info, there's an overview table with examples for all site column types in the TechNet article Automatically created managed properties in SharePoint 2013.
So, that might not have been as straightforward as our simple example, and there is one exception to the rule…
Naming convention for the default site columns in the Products list
This exception applies to the six site columns that by default are associated with the Products list in the Product Catalog Site Collection, as shown in the table right below:
Now, after all that theory, let's move on and get something concrete done! The real fun will start when I show you how to connect a publishing site to a catalog. Stay tuned :-)
Next blog article in this seriesStage 5: Connect your publishing site to a catalog
Additional resources
This is a blog post in the series “How to set up a product-centric website in SharePoint Server 2013”. In this series, I'll use data from a fictitious company called "Contoso" to show you how to use search features to set up a website based on product catalog data. Note: Most of the features described in this series are not available in SharePoint 2013 Online.
As described in Stage 3: How to enable a list as a catalog, the Products list has now been enabled as a catalog. As we'll be using search technology to retrieve and display content on our publishing site (the Contoso website), we have to crawl the catalog so that its content is added to the search index.
Start stage 4
About crawling
Depending on your permission level, you can start a crawl from two places:
The reason why you can start a crawl from two places is that people working with catalog content (let’s call them content managers) are not likely to have Search service application administration level rights, that is, they don’t have access to Central Administration.
When changes are made to catalog content, it makes sense to want to crawl this content fairly quickly, so that it can be displayed on the publishing site.
Luckily, content managers can make new content available without having to pester Search service application administrators to run new crawls -- but we'll be coming back to how to do this very shortly, as I first want to explain how to start a full crawl in Central Administration.
How to start a full crawl in Central Administration
Before you can start a full crawl in Central Administration, you have to specify which content source should be crawled. When you run a full crawl, all content in the content source is crawled even if that content has already been added to the search index.
For this scenario, we'll crawl the Local SharePoint sites content source.
The status of the crawl is shown in the Status column.
How to enable continuous crawls in Central Administration
You can only start a full crawl manually. Nobody wants the hassle of having to manually start a crawl every time a change is made to their catalog content, as this is neither an efficient nor practical way to work. So, to avoid this overhead, you can simply enable a continuous crawl of your content source that contains the catalog.
Continuous crawls start automatically at set intervals. Any changes that have been made to the catalog since the previous crawl, are picked up by the crawler and added to the search index.
To enable continuous crawls:
How to set continuous crawl interval
The default interval for continuous crawls is 15 minutes. You can set shorter intervals by using PowerShell. The code snippet below sets the continuous crawl interval to 1 minute.
$ssa = Get-SPEnterpriseSearchServiceApplication$ssa.SetProperty("ContinuousCrawlInterval", 1)
So, by enabling continuous crawls, you can avoid a lot of frustration from content managers as they no longer have to wait for Search service application administrators to start a crawl for them. However, for some catalog changes, for example, enabling managed properties as refiners, continuous crawls are not sufficient, and you will need to do a full reindexing of the catalog content. But not to worry. Content managers have no reason for concern, because there is a way for them to initiate a full reindexing of the catalog.
How to initiate a reindexing of the catalog
To mark a catalog for reindexing, here's what to do:
How to view crawl status and schedule for a catalog
You can view the crawl status and schedule for an individual catalog. To do this:
So, all in all, content managers can be happy because their content is added to the search index at short intervals, and Search service application administrators can be happy because they are no longer bothered by content managers constantly asking them to start a crawl.
Next blog article in this seriesFrom site column to managed property - What's up with that?
As described in Stage 2: Import list content into the Product Catalog Site Collection, we've imported content about Contoso's product line into the Products list. To display this product information in our Publishing Portal (the Contoso website), we now have to enable the Products list as a catalog.
These are the steps we'll take to enable a list as a catalog:
Start stage 3
1. On the Products list, from the LIST tab, click List Settings.
On the Settings page, click Catalog Settings.
We'll define several things on the Catalog Settings page. I'm going to break all of this down into individual chunks.
2. For Catalog Sharing Select Enable this Library as a catalog.
By selecting this, we'll be confirming that content from the Products list should be added to the search index.
3. For Anonymous Access, click Enable anonymous access, and then click Make Anonymous.
By doing this, we'll be granting anonymous visitors, that is, visitors who aren't logged on to Contoso's website, access to view content from this list.
Note that we're not granting visitors access to the list itself. All we're doing is granting anonymous visitors access to view the catalog content from the search index. Anonymous visitors will never be able to see the actual Products list.
4. For Navigation Hierarchy (this section shows up after Catalog Item URL in the UI, but I prefer to tell you about this one first), select Item Category.
In my previous blog post, Stage 2: Import list content into the Product Catalog Site Collection, I showed you how the managed metadata column Item Category is tied to the Product Hierarchy term set.
By selecting Item Category here, we're in fact specifying that the navigation on our publishing site (the Contoso website) will be determined by the structure in the Product Hierarchy term set.
In the next screenshot, notice that the structure in the Product Hierarchy term set, matches the navigation on the Contoso website.
The terms from the Product Hierarchy term set will also be used to create a friendly URL for our category pages on the publishing site (the Contoso website). For example, the URL to the page displaying camcorders is http://www.contoso/cameras/camcorders, and the URL to the page displaying camera accessories is http://www.contoso/cameras/camera-accessories.
5. For Catalog Item URL Fields, select the list columns that should be used to create a unique URL to a product. For Contoso, we'll use Group Number and Item Number.
The URL to an individual product will be composed of the terms that we specify in Navigation Hierarchy (previous step), and the values from the fields we specify as Catalog Item URL Fields. When selecting these fields, we should use at least one field that contains a product unique value, because we want to use this unique value in the product URL. By doing this, the URL to the product Fabricam Home Movimaker M300 will be different from the URL to the product Fabricam Home Movimaker M400.
For Contoso, the unique identifier of a product is the value in the Item Number column. We also want to use the value of the Group Number column, so we'll add them both (I'll explain why I also want to use Group Number in a later post).
Our final Catalog Settings page looks like this:
So now that we have set all these specifications, it's time to crawl the catalog.
Next blog article in this seriesStage 4: Set up search and enable crawling of your catalog content
As described in this previous post, a learning roadmap is a way of organizing content (articles, white papers, videos, blog posts, etc.) to provide a customized and optimized learning path for a technology, feature, product, or solution. Starting with prerequisites and then moving on to introductory, intermediate, and advanced learning goals, learning roadmaps enables a novice to ramp up quickly and an experienced technology person to build more expertise in a particular area.
My colleagues on the SharePoint IT pro writing team have been very busy publishing the following additional learning roadmaps:
If you need to technically ramp up in any of these areas, take a look at these articles to understand the prerequisite knowledge and then dive in.
See Learning roadmaps for SharePoint 2013 for the complete list for SharePoint 2013.
See Learning Roadmaps Portal for the complete list across Microsoft products. To create your own learning roadmap, see the Learning Roadmap Template.
Happy learning!
This is a blog post in the series "How to set up a product-centric website in SharePoint Server 2013." In this series, I'll use data from a fictitious company called "Contoso" to show you how to use search features to set up a website based on product catalog data.Note: Most of the features described in this series are not available in SharePoint 2013 Online.
Start stage 2
Once you've set up your Product Catalog Site Collection, as described in Stage 1: Create site collections for cross-site publishing, we'll import content into this site collection. To do this, we'll use PowerShell scripts. Before we start, let's take a look at what's automatically created in a Product Catalog Site Collection.
In our newly created Product Catalog Site Collection, you can see a default list template named Products.
The Products list contains a managed metadata site column named Item Category.
The Item Category site column is associated with the term set named Product Hierarchy.
To import list content into the Product list, we'll use PowerShell scripts that will:
Before we can run the PowerShell scripts, we'll need to prepare the following:
The PowerShell scripts, instructions on how to create the tab delimited text files, and how to modify and use the import scripts so that it fits your catalog data can be found on the TechNet Gallery.
Once we've run the five PowerShell scripts, we get the following:
So, now that we have content in the Products list, the next step is to enable this list as a catalog.
Next blog article in this seriesStage 3: How to enable a list as a catalog
This is a blog post in the series “How to set up a product-centric website in SharePoint Server 2013”. In this series, I'll use data from a fictitious company called "Contoso" to show you how to use search features to set up a website based on product catalog data.Note: most of features described in this series are not available in SharePoint 2013 online.
Start stage 1
When you use cross-site publishing, you use one or more authoring site collections to author and store content, and one or more publishing site collections to show this content.
In our scenario, we'll start by creating a Product Catalog Site Collection. We'll use this site collection to author and store information about the products that Contoso offer, for example, info about the MP3 player "Litware 2G E200", or the Laptop "Adventure Works 15.4W".
Along with this, we'll be creating a Publishing Portal Site Collection. We'll use this site collection to display product info about "Litware 2G E200", "Adventure Works 15.4W" and all the other products that Contoso offer.
Remember though, visitors browsing the Contoso website, which is the publishing portal, will NOT be able to view content in the product catalog! Visitors will only get to see content that has been added to the search index from the product catalog. When visitors browse the Contoso website, search technology displays content from the search index.
So, in the simplest of terms, our architecture will look like this:
Bear with me if this is a bit tricky to follow. I'll soon be using real examples, and it'll all become a lot clearer. But first things first: let's create the site collections.
To create a Product Catalog Site Collection, here's what you should do: Go to Central Administration --> Create site collections, and then enter details for the site collection. Here's what you need to enter:
Take a look at the screen capture below for some more guidance.
Now, to create a Publishing Portal Site Collection, repeat the steps above, but with one difference, from the Publishing tab, choose Publishing Portal. The title of this site collection is Contoso.
Now that we've our site collections, it's time to start adding content.
Next blog article in this seriesStage 2: Import list content into the Product Catalog Site Collection
To build our Contoso website, we'll be using cross-site publishing, a new publishing method that's just been introduced with SharePoint Server 2013. Before we start however, let's get a bit more familiar with how cross-site publishing works.Note: most of features described in this series are not available in SharePoint 2013 online.
What is cross-site publishing?Cross-site publishing's a publishing method. It lets you create and maintain content in one or more authoring site collections, and publish this content across one or more publishing site collections, by using Search Web Parts.
When should you use cross-site publishing?Use cross-site publishing when you want to store and maintain content in one or more authoring site collections and display this content in one or more publishing site collections. Cross-site publishing will make life easy for you as it:
How does cross-site publishing work? Cross-site publishing uses search technology to retrieve content. Here's how it works in four simple steps:
When you decide to change content in an authoring site collection, the changes you make are shown across all publishing site collections that are using that same content.
You can also add search-driven features like faceted navigation, query rules and usage analytics, all of which we'll be talking about soon.
Feeling confused? Don't panic! I will take you through how this works step by step.The first thing we have to do, is to create two site collections.
Next blog article in this seriesStage 1: Create site collections for cross-site publishing.
Blog seriesOn overview of all blog posts in this series can be found here.
In this series of "how to's" blog posts I'll describe how you can use SharePoint Server 2013 to set up a website that is based on product catalog data. I'll show you how to use the cross-site publishing feature, and how you can use SharePoint search features to influence how product data is displayed to visitors on a site. I'll use data from a fictitious company called "Contoso" to show how it all comes together. Contoso is a manufacturer and retailer of technology products and home appliances, and they want to set up a website that focuses on product-centric experiences.
To give you an idea of what we'll be doing, here's a couple of screenshots of what our Contoso website will look like once we're done.
IMPORTANT: The Contoso Electronics material that I'll use throughout this series isn't available for download.
Throughout the next weeks, I'll be publishing individual posts. The targeted publication dates are listed below. I'll add links to the posts as they go live.Note: most of features described in this series are not available in SharePoint 2013 online.
Blog posts in this series:
You can read more about cross-site publishing on the TechNet scenario page Create SharePoint sites by using cross-site publishing.
Community members have noticed the cool new icons that have been appearing in our content. Here is an example:
This new icon set is the result of a huge joint effort by people in the Lync Server, Exchange Server, SharePoint, and Office groups here at Microsoft to support more visual styles of content.
For SharePoint, these new icons are used in the following:
To get these new icons for yourself, see the New Office Visio Stencil. Feel free to use them in your own content, including blog posts, articles, white papers, and videos.
For information about how to import them into Visio, see Import downloaded stencils.
Enjoy,
Samantha Robertson