Introduction | Yext Hitchhikers Platform

Overview

Upgrading the theme and SDK versions of your Search experience built on the Hitchhiker Theme allows you to take advantage of new features and bug fixes released by our Product team. This guide walks through the detailed steps of how to upgrade to the latest version. To learn more about what a theme upgrade is and what it does conceptually, check out the Upgrade the Theme and SDK module.

The Search Jambo Repository is built in such a way that the theme is self-contained, so updating the theme is just a matter of updating the files in the themes/answers-hitchhiker-theme folder in the Search frontend Code Editor.

Generally, we recommend upgrading to take advantage of new features as they’re released. If you’re not interested in the new features in a major or minor release, you can also choose to skip it.

Steps to Upgrade the Theme and SDK

At a high level, the steps to upgrading your theme are:

  1. Create a branch to do the theme upgrade on.
  2. Prep for the theme upgrade. Review the changelog for each version from the current version to the latest version. Then make any necessary changes.
  3. Upgrade the theme. Run the Tools > Jambo Commands > Upgrade Theme command for the system to upgrade the files in the theme folder.
  4. Reconcile any previously overridden files and add new features.
  5. QA your site via Live Preview and compare to your current site to see if there are any unwanted changes.
  6. Commit your changes, merge into the master branch, and push to Production. Then you’re done!

Are you unsure about a particular step in the upgrade instructions, or need some clarification about how a new feature will impact your current experience? The Community is a great place to ask these questions, whether that’s commenting on the release post or writing a new one yourself!

Legacy Theme Upgrades

If it’s been a while since you’ve upgraded the theme of your Search experience (or if you’ve never upgraded the theme version), you’ll likely be jumping across many versions at once. In this case, instead of doing a theme upgrade, we recommend you rebuild your Search frontend altogether. This will be a quicker and less tedious process than checking for breaking changes in each version between your current version and the latest one.

This process will retain the domain and Yext Pages site currently in use, and will not break your site if it is already live.

To rebuild your site, follow the directions in the Rebuild Your Site step. We recommend you do this if you are starting with theme version 1.10 or earlier, though you may take this approach in other cases as well.

Custom Work

Consideration Before Beginning: If custom work was previously done on your Search experience by a developer, this could potentially be a more complex theme upgrade. If possible, you should reach out to the developer to upgrade.

Custom work refers to any forked files outside of standard customizations we walk through in the Core Frontend modules, such as adding cards and pages. Remember that breaking changes can occur when you upgrade the theme if top-level files are outdated and are not compatible with new theme files, so you’ll want to check any custom work carefully.

One way to identify custom work is to see if your experience has top-level files that are not included in an out-of-the-box experience. You’ll notice many of the theme files and folders don’t exist at the top-level, outside of the theme. To see this, browse through the theme folder on the left of your Code Editor. Here are some common files and folders that may indicate custom work if you see that they exist outside of the theme:

  • Any files in the partials directory (which typically only has a blank .gitkeep file)
  • Any files in the static/js directory (which typically only contains a blank formatters-custom.js file for you to write custom formatters in)
  • Any files in the layouts directory (which typically only contains blank files for footer.hbs, header.hbs, and headIncludes.hbs - a common file that could have been forked is html.hbs)
  • A script folder (a common file that could have been forked is core.hbs)
  • A templates folder
  • A theme-components folder
  • A universalsectiontemplates folder