Time to read: About 7-8 minutes | |
Intended for: Sitecore developers, Senior developers & leads, Technical Architects | |
Key takeaway: Sitecore’s SXA gave our client, Mortenson, the ability to create a unified and responsive search experience for their careers and recruiting business group. |
In this post, I’m going to discuss a use case for building a custom integration of job posting and careers data for our client, Mortenson, using Sitecore Experience Accelerator (SXA). I’ve really enjoyed using the SXA framework in Sitecore projects, as it allows us to solve complex business challenges with a lot of flexibility. The SXA framework builds on Sitecore best practices and enables separation of data from the presentation layer.
For this use case, Mortenson was trying to solve some key challenges with their existing job posting functionality:
- The current job posting area of their site used a third-party vendor, and therefore had a disconnected look and feel.
- The current solution lacked relevant search results, search filtering, and they were unable to control search results using boosting.
- They could not personalize the results page or the job posting pages to the extent they wanted.
Solving the Disconnected Experience using SXA
One of the goals of the engagement with Mortenson was to bring the careers portion of their site into Sitecore version 9.1. The existing careers functionality was provided by a third-party vendor. The careers pages for search had different styling than the other areas of the site, and the job search had different search sites depending on the category of job being searched for. This made for a disconnected user experience. Mortenson wanted to bring all these things back into their control.
We used SXA and many out of the box page content components so that Mortenson could build pages with a consistent look and feel. The great part of SXA, arguably one of the most powerful tools, is rendering variants. Rendering variants allow the presentation of a page to be changed so that the same data can be shown in many ways. A content author or developer can create additional rendering variants for the same data sources without additional code effort. Rendering variants allowed Mortenson to adhere to their design goals with minimal development effort.
The other challenge of the user experience of the third-party pages was mobile design. SXA helped resolve that issues because it is responsive out of the box. Mortenson is using Bootstrap 4 for their mobile framework. (Other options are Grid 960 and Foundation. You can also use Bootstrap 3 if you needed the older version of Bootstrap for some reason). All the responsive functionality is configurable using rendering parameters and component data. This empowers the authors and editors to change the aspects of the mobile experience without increasing development costs.
Enabling search to filter results in a way the business can control
Enhancing the search functionality of the careers area of the site is probably the highest priority for this engagement. Rather than continue to provide search on the existing vendor’s platform, we’re going to integrate with the vendor’s job API to bring the job search capability into Sitecore using SXA. The API integration is one of the few custom development needs for the project.
To get started, we used all out of the box SXA components for search pages. SXA provides a Search Box, Search Results, Drop Down Filter, and Load More components to build the page. Let that sink in: We built a custom job search solution using out of the box components, and data sources, provided by Sitecore SXA! That is pretty remarkable.
I did say I’d give you more details about how we did it, so let’s keep going!
To view the final result of our effort with Mortenson, please visit https://www.mortenson.com/careers.
Solution details
To start building our search data, we needed to create a few custom templates. These custom templates will be used as part of the filtering we’ll be able to do on the jobs. These custom templates also inherit from a base template that defines our job post data and metadata fields for the job posts.
Now that we have our data templates, we can use the API to create our job post items that are stored and indexed in Sitecore. We decided to use the out of the box SXA index. The job items can be indexed without any additional modifications.
We do have custom facets we needed to use on the search page, but because SXA template fields are indexed, we didn’t have to change the index to get access to these fields. There were a couple fields that we had to create and add to our index so that custom business rules could be indexed as fields on our job posts. This is normal and is the same process for non-SXA sites.
All that was left is to wire up the data to the SXA components. Once the pieces were wired up, the search page began serving relevant, filterable results based on the job data we pulled in from Mortenson’s existing vendor API.
Giving the Power of Personalization to the Business
The goal of building the custom data templates was to allow filtering on relevant job data for Mortenson’s applicants. But in addition to filtering, they had many personalization goals. Mortenson wanted to be able to use Sitecore to personalize their careers pages and–more specifically–the job posts.
As part of the personalization effort, Mortenson identified several tags they wanted to use so that they could personalize job pages. SXA has tags built into its data templates. We created data items that are applied to the job posts when they are imported from the third-party API. This allows Mortenson’s content editors and authors to create partial and page designs that can be personalized based on those tags.
We worked with the business to create Sitecore rules that are used to boost job results based on search criteria used on the search page and what terms are in specific fields in a job post or its metadata field. The metadata field was very important to Mortenson because it allowed them the flexibility to boost jobs with specific keywords to get the jobs that are most important higher visibility.
And there it is…
To summarize, SXA gave Mortenson the ability to create a unified and responsive search experience for their careers and recruiting business group. Rendering variants provided very flexible page layouts for the same job data. This allows them to maximize their investment with minimal custom development. The data templates and fields we created allow them to personalize job results and job posts to meet business needs without needing a custom developed search solution.
To view the final result of our effort with Mortenson, please visit https://www.mortenson.com/careers.
I hope that this has given you a good look at how powerful SXA can be. You can change SXA to fit even the most custom requirements. If you’d like to talk more about SXA or topics in this post, please get in touch.