This is part 2 of a multi-part series on configuring Cross-Site publishing in SharePoint Online.
- Let’s Play Ball! XSP in SPO [Part 1]
- Let’s Play Ball! XSP in SPO [Part 2]
- Let’s Play Ball! XSP in SPO[Part 3]
Note: at the time of this writing, Cross-site Publishing is available in the Education, E3, E4, and E5 plans of Office 365.
Continuing with our example of building a Baseball Player Catalog, it’s now time to build out the Information Architecture on the authoring site collection. We want the managed properties to be automatically created when we crawl the content so we will create site columns for our list. Also, we will be storing 3 “types” of content in our list: players, coaches and front-office staff. Each of these will become a content type.
This example demonstrates you can have multiple content types in a list published as a catalog. The only requirement is the content types in the list ALL must share the same managed metadata site column to define the navigation hierarchy on consuming sites.
STEP 1: In the authoring site collection, create the site columns. For our example, here are the site columns we create:
The key site column to note above is TeamCategory. This is the column that will be used to drive navigation on consuming sites and will be referenced when publishing the list as a catalog. It is associated to the TeamRoster term set we defined in Part 1 of this blog series. Pictured below.
STEP 2: In the authoring site collection, create the site content types. For our example, we will create a base content type called TeamBase based on the item content type to include the common site columns. We’ll then create 3 child content types that inherit from TeamBase for each of: Player, Coach, and Front-Office Staff.
The TeamBase content type has the required Managed Metadata site column, TeamCategory. This means all child content types will inherit this site column. This is important for defining the navigation later on.
Here are the site columns associated with each of the 4 content types:
- TeamBase: Title, TeamCategory
- Player: TeamPosition, PlayerNumber, College, PlayerAge, PlayerBio, TeamPic
- Coach: TeamPosition, DateAppointed, TeamPic
- Front Office Staff: TeamPosition
STEP 3: In the authoring site collection, create a custom list and allow for the inclusion of additional content types (List Settings…Advanced Settings…Allow management of content types). Associate the 3 child content types (Player, Coach, Front Office Staff) for the player catalog as follows:
STEP 4: Add content into your list. This means adding all players, coaches, and front office staff as items into the list in their respective content types.
This is a key advantage of cross-site publishing. This is where content authors will go to keep the items for the player catalog up-to-date. It’s a simple SharePoint list and is easy for content authors to maintain. They never have to go to any of the consuming sites. This separates the catalog content from the look and feel of the player catalog shown to end-users on the consuming site.
STEP 5: Publish Baseball list as a Catalog
The list will now be published as a catalog. To do this select List Settings…Catalog Settings. The settings I’ve used for the Player Catalog are shown below.
- select the Enable this library as a catalog checkbox
- select Enable anonymous access (this allows users on any consuming sites to be able to view the content on this catalog in the authoring site – explicit permission DOES NOT need to be granted)
- select the ID property as a Catalog Item URL field. This will be added as a unique token to the end of the friendly URL and will be used to identify an item. (You could also include other properties here if you wanted to refine by them. For example, we could include College or PlayerAge if we wanted to additionally filter on those properties)
- for Navigation Hierarchy select the managed metadata column you’ve identified with the TeamRoster term set. This will generate the navigation on all connected sites.
STEP 6: Crawl Content
This is SharePoint Online so you know the drill…you need to wait for a full crawl. Although you can request a re-index of the list by going into List Settings…Advanced Settings and select the Re-index this list option, this only guarantees this list will be re-indexed on the next full crawl.
When the content is crawled, the managed properties will be automatically created from the site columns you had created. It has been my experience in SharePoint Online, however, that some of the required options on the category managed property are NOT configured so I usually go in and ensure these settings are made. I have had success with these settings on the managed metadata category property:
Note: if you make any changes to managed properties, a full crawl is required for the changes to take effect.
In the next post in this series, we’ll connect to the published catalog from the Players site collection (consuming site) and customize the search results.