Gretyl's Portal

Heretto Help

Show Page Sections

Heretto Portal Search Facets

Search Facets Configuration Overview

Learn how to configure custom portal search facets to refine search results and improve user experience in Heretto Portal by utilizing content attributes and metadata.

A search facet is a specific attribute or characteristic of search results that can be used to filter and refine search results. Facets enable users to narrow down search results based on various categories or criteria, making it easier to find relevant information quickly.

Faceted search is particularly useful because it provides an intuitive way to narrow down large result sets by applying multiple filters simultaneously. This helps users manage the complexity of searching vast amounts of information by breaking it down into manageable, relevant segments.

Heretto Portal has two types of search facets available: facets based on the structure of your main sitemap and facets based on taxonomy metadata.

Sitemap Structure-based Facets

Facets that are automatically added to your portal based on the structure of your main sitemap. For example, if your main sitemap contains six tiles, each for a different product or product group, the search page in your portal automatically includes a search facet group with six search facets, each representing a product or product group. As a result, it is easy to narrow down your search results by subject.

Taxonomy Metadata-based Facets

Facets that can be configured in Heretto CCMS and Heretto Portal environments. This facet type leverages metadata that you assign to files in the CCMS. You can use metadata search facets in both the CCMS and portal. You have full control over which metadata is available as a portal search facet. This approach enables you to create custom search facets designed specifically for your content and audience.

If you work with the Heretto team to design and build Heretto Portal as part of the Portal Branding and Configuration package, we ask which search facets you want and set them up for you. However, even when the Heretto team performs the initial configuration for you, because you may want to make changes over time, it is beneficial for you to know how to manage your search facets.

In this section, we explain how to:

  • Configure search facets
  • Localize search facets that are based on taxonomy metadata
  • Add custom search facets to a portal environment
  • Complete configurations for both the CCMS and portal

Search Facet Configuration Process

Learn how to configure search facets by creating a taxonomy, enabling metadata, assigning it to files, and enabling it as search facets for your portal. You will also learn how to localize your search facets.

This process outlines the necessary steps to configure search facets, including required and optional steps. Unless stated otherwise, all steps are required.

  1. Create a Taxonomy with Search Facets.
  2. Enable Search Facet Taxonomy as Metadata.
  3. Add Search Facet Metadata to Files.
  4. Optional: Send Portal Search Facets for Localization.

    This step is only required if you publish localized content to the portal. If so, ensure your search facets are localized to the same target languages (locale codes) you use to localize your content.

  5. Optional: Add Localized Portal Search Facets to Portal Configuration.

    This step is only required if you publish localized content to the portal.

  6. Enable Metadata as Portal Search Facets.
  7. Optional: Change the Order of Search Facets.

The search results page in your portal now includes additional search facets that anyone with access to your portal can use to refine their search results. Because you configured your search facets in the master branch in Heretto CCMS, currently, your search facets are visible only in the portal environment associated with the master branch.

Push all files you modified from the master branch to other branches associated with your portal environments to ensure your changes are visible there. We recommend using the replace mechanism when pushing your changes. If needed, publish your changes to portal from the Deployments interface.

Create a Taxonomy with Search Facets

Search facets are a finite, controlled set of attributes a user can use to refine their search results in Heretto Portal. To ensure your search facets are organized well and easy to use, you start by organizing them in a taxonomy in Heretto CCMS.

You create a taxonomy for search facets just like any other taxonomy in the CCMS. You can create one or more taxonomy for your search facets. To create a taxonomy, you need to be assigned the Administrator role in the CCMS.

  1. In the Main Menu in the top-left corner, click Taxonomy.
  2. Click New Taxonomy.
  3. Enter a label for the taxonomy.

    The Label field is the name of the taxonomy and is not visible to users outside of this interface. The Name field is used by the CCMS as a unique identifier and is populated automatically. At this point, you can still modify the value in the Name field. Once you save, you can still modify the label but not the name.

  4. Click Save to create the new taxonomy.
  5. Click the taxonomy to add taxonomy terms.
  6. Click the existing term Unnamed 1 and, in the Label field, give it a meaningful name.

    Once configured, the name you give a taxonomy term in the Label field is visible to other users. The Name field is not editable for existing taxonomy terms.

  7. Click Save.
  8. Right-click the renamed term and do any of the following:
    • To create a new, top-level term, select Create Term Below.

    • To create a child term under the existing term, select Create Narrower Term.

  9. Give the new term a meaningful name. Click Save.
  10. Keep adding new terms as needed.
  11. Once you are satisfied, click Save all changes.

You added a taxonomy in the CCMS and populated it with terms. It is not visible anywhere outside of the Taxonomy interface. You are ready to enable the taxonomy as metadata.

Figure 1. A Category taxonomy with terms in the Taxonomy interface
A Category taxonomy with terms in the Taxonomy interface
Enable Search Facet Taxonomy as Metadata

Enable Search Facet Taxonomy as Metadata

With your search facet taxonomy ready in Heretto CCMS, you can now enable it as metadata in the CCMS. As a result, you will be able to assign that metadata to files and search for files in the CCMS.

You enable your search facet taxonomy as metadata just like you would any other taxonomy. To enable a taxonomy as metadata, you need to be assigned the Administrator role in the CCMS.

  1. In the Main Menu in the top-left corner, click Metadata.
  2. In the Category Name field, enter a name for the metadata category.

    If you have a number of metadata categories already present, scroll down to see the Category Name field.

    The metadata category is a grouping for your taxonomies and metadata. You can add one or more taxonomies and metadata within a metadata category. The way you set up your metadata categories in the Metadata interface is also how other users see it in the CCMS.

    adding metadata category
  3. Click Add Category.

    A metadata category section is added.

    new metadata category section
  4. Complete the following fields:
    1. In the Label field, enter a label.

      The value you add in the Label field is visible in the Content Library. The Name field is used as a unique identifier by the CCMS and is populated automatically. At this point, you can still modify the name. Once you save, you can still modify the label but not the name.

    2. In the Type drop-down menu, select Taxonomy.
    3. In the Values field, select a taxonomy structure.

      These are the taxonomy terms you want to associate with your metadata category.

  5. Optional: To enable users to select multiple values, check Allow Multiple Selection.
  6. To use the metadata for search filtering in the Content Library, check Search facet.
  7. To enable the metadata so you can use it for search filtering and add it to files, check Enabled.
  8. To prevent this metadata from being added to selected content types, in the Exclude from Content Type field, choose those content types.
  9. Click Add Field, then Save Changes.

Your metadata category should look similar to this. Note the empty third field (expected).

Figure 2. A metadata category with taxonomy values enabled
A metadata category with taxonomy values enabled
Add Search Facet Metadata to Files

Add Search Facet Metadata to Files

With your taxonomy and metadata configured, you are ready to add metadata to files in Heretto CCMS.

You can add metadata to files individually in the Resource Drawer or to a group of files in a bulk operation. Users assigned the Administrator, Editor/Manager, and Author roles in Heretto CCMS can add metadata to files in the CCMS.

You add search facet metadata to files on the master branch. Once configured, that metadata becomes search facets in the environment that is associated with the master branch. To see search facets in other portal environments, including production, you need to push all your changes from master to branches associated with those portal environments.

  1. In the Content Library, ensure that you are working in the master branch.

Add metadata to files individually

  1. In the Content Library, click a file.
  2. In the right pane, scroll down and select the metadata tag from the available options.
    applying exemplary metadata
  3. Close the Resource Drawer to save the changes.
    closing the Resource Drawer
  4. Repeat these steps for any other file you want to add metadata to.

Add metadata to files in a bulk operation

  1. In the Content Library, select the files, folders, or maps you want to modify.

    To select a range of files and folders, select the first file or folder, press and hold Shift, and select the last file or folder in the range.

  2. Right-click the selection and select Bulk Change > Metadata.
  3. If you don't want to include the dependencies of a given map, like its child topics and submaps, clear the Include dependencies check box.
    Important:

    The Include dependencies option only includes the direct dependencies of the map. It does not include binary files (non-text files like images) present in the map.

  4. If you don't want to change the resource-only files in a map, clear the Include resource-only files check box.
    Tip:

    For example, the resource-only files are your warehouse topics that have the @processing-role="resource-only" attribute assigned to their <topicref> elements. They are appended in a map but are not included in the output.

  5. If you want to include all map dependencies, including its indirect dependencies and binary files (non-text files like images), select the Include all dependencies check box.
  6. Select the check box next to the metadata category you want to modify.
  7. In the Action drop-down menu, select one of the following options:
    OptionDescription
    Add to existingMetadata tags are added to the selected files.

    Existing metadata values remain applied.

    Clear fieldAll metadata tags in the selected files are cleared.
    Replace all withAll metadata tags in the selected files are cleared and replaced with the new tags.
    Find and remove theseSpecified metadata tags are removed from the selected files.
  8. In the Metadata drop-down menu, select the metadata to apply the selected action to.
  9. Click Save.

Your files now have metadata assigned to them. You can view the metadata for a file by clicking the file and scrolling down in the Overview tab of the Resource Drawer. From there, you can also expand the API Info view and click REST URL to view all metadata for a file.

You are now ready to enable the metadata as Heretto Portal search facets. If you localize your content, this is also a good moment to send your search facets for localization.

Send Portal Search Facets for Localization

Send Portal Search Facets for Localization

When publishing localized content to Heretto Portal, ensure that your custom search facets are localized to the same languages (and locale codes) as your content. For example, if you localize your content to German (the de-de locale code), localize your search facet labels to German and associate them with the de-de locale code.

Once configured, when a user switches to German in your portal, both content and search facets are available in German.

  1. Gather all your search facets in the source language in a document that your Localization Services Provider (LSP) accepts.

    For example, your LSP might want to work with a .docx, .xlsx, .txt or a specialized document type.

    You only need to localize the values in the Label field that both the Taxonomy and Metadata interfaces use for your search facets. Ideally, that document reflects the parent-child hierarchy of your search facets present in Heretto CCMS, which might help translators with context.

    1. In the CCMS, go to the Main Menu in the top-left corner and select Metadata.
    2. Scroll down to a metadata category with your search facet configuration.
    3. Copy the relevant value in the Label column and add it to the document you will be sending to your LSP.
      Figure 3. Label column in the Metadata interface
      Layer 1
    4. Click the field for the corresponding Values column and add the selected value along with its children to the document you will be sending to your LSP.
      Figure 4. Values column in the Metadata interface
      Layer 1
  2. Repeat these steps for any other search facets that need to be localized.
  3. Once you add all search facets to the document, send it to your LSP.

Once you get the localized search facets back from your LSP, you can add them to your portal configuration.

Add Localized Portal Search Facets to Portal Configuration

Add Localized Portal Search Facets to Portal Configuration

Learn how to add localized search facets to the portal configuration so that when users switch languages in your portal, search facets are available in the selected language.

Navigate to the config.json file

  1. In the Content Library, ensure that you are working in the master branch and go to your main portal sitemap.
  2. Open the main portal sitemap.
  3. In the map tree pane, click the Gear button and set your options like this:
    1. Set Icons to On.
    2. Set Show Elements to All.
    3. Set Element Names to Full.

    The map tree now shows color-coded elements with full element names. This view enables you to easily identify and modify all elements in your sitemap.

  4. Expand the sitemeta element, right-click the config.json element, and select Show file in Content Library.

Open the config.json file in the Source Editor and find i18n

  1. In the Content Library, right-click the config.json file and select Edit Source.
  2. In the Source Editor, press Ctrl/Cmd > F and search for i18n (internationalization).

    The i18n parameter you are looking for contains the en language code with default portal labels in English.

    "i18n": {
            "en": {
    	    "label.tenant": "[REPLACE]",
                "label.section": "Subject",
                "label.home": "Home",
                "label.sections": "Sections"
            }
        },
  3. Scroll to the end of the en object and paste this code right after the closing bracket of the en object:
    "locale_code": {
    		"metadata_name_value": "localized_label_value",
    		"metadata_name_value_2": "localized_label_value"
    	}
    }
    

    where:

    • locale_code is the code of the target language you translated your content and search facets to. For example, de and de-de are two different codes. The locale code that you configure for search facets needs to match the codes used in your main sitemap and localized content.

    • metadata_name_value is the value present in the Name column of the Metadata interface

    • localized_label_value is the localized search facet that corresponds to the metadata_name_value

    At this point, your i18n parameter should look like this:

    "i18n": {
            "en": {
    	    "label.tenant": "[REPLACE]",
                "label.section": "Subject",
                "label.home": "Home",
                "label.sections": "Sections"
            },
    
    	"locale_code": {
    	    "metadata_name_value": "localized_label_value",
    	    "metadata_name_value_2": "localized_label_value"
    	}
        },
    
    Note:

    The Source Editor automatically validates the .json file. Errors are indicated by a red wavy line. When you hover over it, you get error details. The most common errors in .json files are missing or extra commas at the end of lines. The last line added inside curly brackets ({}) should have no comma at the end.

Add the locale code to config.json

  1. In the config.json file, replace locale_code with the locale code your search facets are translated to.

    The locale code needs to correspond to the locale code you use to localize your content in the CCMS and should be added inside quotation marks (""): "de-de".

    At this point, your i18n parameter should look like this:

    "i18n": {
            "en": {
    	    "label.tenant": "[REPLACE]",
                "label.section": "Subject",
                "label.home": "Home",
                "label.sections": "Sections"
            },
    	"de-de": {
    	    "metadata_name_value": "localized_label_value",
    	    "metadata_name_value_2": "localized_label_value"
    	}
        },

Associate metadata name values (identifiers) with localized labels (search facets) in config.json

  1. Open the CCMS in a new tab or window, and from the Main Menu in the top-left corner select Metadata.
  2. Scroll to a localized metadata and copy the value in the Name column.
    Figure 5. Metadata name value in the Name column
    Layer 1
  3. Go back to the config.json file, and paste the copied value in place of metadata_name_value.

    The pasted value should be added inside quotation marks (""): "Category".

    At this point, your i18n parameter should look like this:

    "i18n": {
            "en": {
    	    "label.tenant": "[REPLACE]",
                "label.section": "Subject",
                "label.home": "Home",
                "label.sections": "Sections"
            },
    	"de-de": {
    	    "Category": "localized_label_value",
    	    "metadata_name_value_2": "localized_label_value"
    	}
        },
  4. In the config.json file, replace localized_label_value with a translation of the label associated with the metadata name value.

    At this point, your i18n parameter should look like this:

    "i18n": {
            "en": {
    	    "label.tenant": "[REPLACE]",
                "label.section": "Subject",
                "label.home": "Home",
                "label.sections": "Sections"
            },
    	"de-de": {
    	    "Category": "Kategorie",
    	    "metadata_name_value_2": "localized_label_value"
    	}
        },
  5. Repeat 9 through 12 for any metadata for this locale (target language). Add more locales as needed. Click Save.

Add localized taxonomy entries (search facets) to config.json

  1. In the config.json file, go to the locale (target language) for which you want to add search facet localizations and add this string to it: "facet.taxonomy_name_value": "localized_label_value".
    "i18n": {
            "en": {
    	    "label.tenant": "[REPLACE]",
                "label.section": "Subject",
                "label.home": "Home",
                "label.sections": "Sections"
            },
    
    	"de-de": {
    	    "Category": "Kategorie",
    	    "metadata_name_value_2": "localized_label_value",
    	    "facet.taxonomy_name_value": "localized_label_value"
    	}
        },
  2. Open the CCMS in a new tab or window, and from the Main Menu in the top-left corner select Taxonomy.
  3. Go to a taxonomy and select the taxonomy term that you want to localize.
  4. Copy the value in the Name field.
    Figure 6. A name value for a taxonomy entry
    Layer 1
  5. In the config.json file, replace taxonomy_name_value with the copied value.

    In our example, replace taxonomy_name_value with user_guide.

    At this point, your i18n parameter should look like this:

    "i18n": {
            "en": {
    	    "label.tenant": "[REPLACE]",
                "label.section": "Subject",
                "label.home": "Home",
                "label.sections": "Sections"
            },
    
    	"de-de": {
    	    "Category": "Kategorie",
    	    "metadata_name_value_2": "localized_label_value",
    	    "facet.user_guide": "localized_label_value"
    	 }
        },
  6. In the config.json file, replace localized_label_value with the translation of the taxonomy term.

    In our example, replace localized_label_value with Benutzerhandbuch.

    At this point, your i18n parameter should look like this:

    "i18n": {
            "en": {
    	    "label.tenant": "[REPLACE]",
                "label.section": "Subject",
                "label.home": "Home",
                "label.sections": "Sections"
            },
    
    	"de-de": {
    	    "Category": "Kategorie",
    	    "facet.user_guide": "Benutzerhandbuch"
    	}
        },
  7. Repeat these actions for any other taxonomy terms. Click Save.
Enable Metadata as Portal Search Facets

Enable Metadata as Portal Search Facets

You enable metadata as portal search facets by modifying the config.json file that your main portal sitemap uses. Portions of this procedure can be completed only by users assigned the Administrator role in Heretto CCMS. We recommend that Administrators complete the entire procedure as it involves working in the Source Editor and requires access to the Administration interface.

Navigate to the config.json file

  1. In the Content Library, ensure that you are working in the master branch and go to your main portal sitemap.
  2. Open the main portal sitemap.
  3. In the map tree pane, click the Gear button and set your options like this:
    1. Set Icons to On.
    2. Set Show Elements to All.
    3. Set Element Names to Full.

    The map tree now shows color-coded elements with full element names. This view enables you to easily identify and modify all elements in your sitemap.

  4. Expand the sitemeta element, right-click the config.json element, and select Show file in Content Library.

Open the config.json file in the Source Editor

  1. In the Content Library, right-click the config.json file and select Edit Source.
  2. In the Source Editor, press Ctrl/Cmd > F and search for facets.

    The facets parameter you are looking for is included in the search parameter.

    "search": {
            "ref": "href",
            "fields": [
                "href",
                "shortDescription",
                "title"
            ],
            "sections": [
                "sitesection"
            ],
            "facets": [
                "Information_Type",
                "Area"
            ]
        },

Populate the facets parameter with metadata Name values

  1. Open the CCMS in a new tab or window, and from the Main Menu in the top-left corner select Metadata.
  2. Scroll to a metadata you want to enable as search facets and copy the value in the Name column.
    Figure 7. Category metadata configured in the Metadata interface
    Layer 1
  3. Go to the config.json file and paste the copied value under the facets parameter.

    By default, the order in which you add the metadata name values to the config.json file defines their order in portal. Child facets grouped under a metadata name value are ordered alphabetically in portal. If name values start with numbers, they are listed first.

    Tip:

    If you want to override the default order of facets, or child facets, see Change the Order of Search Facets

    Important:

    If you need to add multiple name values to the facets parameter, ensure they are separated with a comma like shown in the example. Note that there is no comma after the last parameter value.

    The value Category copied from the Name column is pasted inside quotation marks ("") under the facets parameter.

    "facets": [
                "Category",
                "Area"
            ]
  4. Populate the facets parameter with name values for each metadata you want to enable as a search facet.
  5. Click Save.

If the deployment from the master branch to Heretto Portal uses the active sync deployment type, your facets are visible in the portal environment associated with your master branch instantaneously. If the deployment uses manual deploy, a user assigned the Administrator role in the CCMS needs to publish it to portal from the Deployments interface available under the Main Menu .

If you want to arrange your search facets in a specific, custom order, see Change the Order of Search Facets.

Push all files you modified from the master branch to other branches associated with your portal environments to ensure your changes are visible there. We recommend using the replace mechanism when pushing your changes. If needed, publish your changes to portal from the Deployments interface.

Change the Order of Search Facets

You can rearrange the order of search facets by overriding the default sorting order. This is especially useful if your search facets are based on taxonomies and metadata.

Navigate to the config.json file

  1. Open the main portal sitemap.
  2. In the Content Library, ensure that you are working in the master branch and go to your main portal sitemap.
  3. In the map tree pane, click the Gear button and set your options like this:
    1. Set Icons to On.
    2. Set Show Elements to All.
    3. Set Element Names to Full.

    The map tree now shows color-coded elements with full element names. This view enables you to easily identify and modify all elements in your sitemap.

  4. Expand the sitemeta element, right-click the config.json element, and select Show file in Content Library.

Open the config.json file in the Source Editor

  1. In the Content Library, right-click the config.json file and select Edit Source.
  2. In the Source Editor, press Ctrl/Cmd > F and search for facets.

    The facets parameter you are looking for is included in the search parameter.

    "search": {
            "ref": "href",
            "fields": [
                "href",
                "shortDescription",
                "title"
            ],
            "sections": [
                "sitesection"
            ],
            "facets": [
                "Information_Type",
                "Area"
            ]
        },

Add the facetsAdvancedSettings parameter to the config.json file

  1. If you already have the facets parameter in the search parameter, insert the facetsAdvancedSettings parameter immediately following the facets parameter.

    The facetsAdvancedSettings parameter requires the order parameter. You define the actual order of your facets and child facets there.

    Important:

    Be sure to insert a comma on the square brace that is right before the new facetsAdvancedSettings parameter, as illustrated in the example.

    The facetsAdvancedSettings parameter requires the order parameter. You define the actual order of your facets and child facets there.

    "search": {
            "ref": "href",
            "fields": [
                "href",
                "shortDescription",
                "title"
            ],
            "sections": [
                "sitesection"
            ],
            "facets": [
                "Information_Type",
                "Area"
            ],
    	"facetsAdvancedSettings": {
                 "order":{
                      "Area": [],
                      "Information_Type": [],
                      "Grade_Level": {
                          "grade_1": [],
                          "grade_2": [],
                          "grade_3": [],
                          "grade_4": [],
                          "grade_5": [],
                          "grade_6": [],
                          "grade_7": [],
                          "grade_8": [],
                          "grade_9": [],
                          "grade_10": [],	
                          "grade_11": [],
                          "grade_12": []
                   	  }            
                 }
            }

    In this example, we have changed the order of Area and Information_Type. We have also added a new metadata facet for grade levels. The default sort order for a list such as this would be grade_1, grade_10, grade_11, grade_12, grade_2, and so on. The facetsAdvancedSettings parameter enables sorting the grades by their logical order instead of their name in the CCMS.

  2. Add as many metadata facets to the order parameter as needed.
    Important:

    The facetsAdvancedSettings parameter overrides the facets parameter. If you're using the facetsAdvancedSettings parameter, be sure to also include the configuration that you previously added to the facets parameter.

  3. Be sure to save your changes to the config.json file.

If the deployment from the master branch to Heretto Portal uses the active sync deployment type, your facets are visible in the portal environment associated with your master branch instantaneously. If the deployment uses manual deploy, a user assigned the Administrator role in the CCMS needs to publish it to portal from the Deployments interface available under the Main Menu .

Push all files you modified from the master branch to other branches associated with your portal environments to ensure your changes are visible there. We recommend using the replace mechanism when pushing your changes. If needed, publish your changes to portal from the Deployments interface.