Using Advanced Filtering Options for Courses

Learn how to use advanced filters in your platform

Last Updated

October 27th, 2020

Docebo Module

Learn

Reading Time

6 min

Introduction

You can take advantage of advanced filters to look for courses in internal and external catalogs, and in the My Courses and Learning Plans page, by clicking on Filters on top of the courses list and in the Course Catalogs tab of the Global Search by clicking on Filters, on top of the search results list

This article lists the available advanced filters, provides information on how to configure them and how to send deeplinks to share your filtered results.

Enrollment Status

When this filter is selected, the search results will only include the courses in which the user is not enrolled. The Enrollment Status filter is available for Internal Catalogs, the Catalog Widget and the Course Catalogs tab of the Global Search.

Content Partners

This filter is available only if the Content Partner App is active in your platform, and allows you to select one or more content partners, so that only the courses assigned to the selected partner(s) will be shown as search results. The Content Partners filter is available for Internal and External Catalogs, on the My Courses and Learning Plans page, in the Catalog and My Courses and Learning Plans widgets and in the Global Search (My Courses and Learning Plans, Course Content and Course Catalogs tabs).

Duration

This filter is displayed only when at least one of the courses resulting from the search has a course duration set in the Time Options section of the course Advanced Properties area, Average Time for Course option. Use this filter to look for courses according to their average time for completion. When the Custom Duration option is selected, use the bar shown underneath the filter to select the duration you are interested in.

The Duration filter is available for Internal and External Catalogs, the Catalog Widget and the Course Catalogs tab of the Global Search.

Course Additional Fields

This filter allows you to filter courses according to the course and session additional fields defined in the platform, which are configured to be used as filters. Up to 50 additional filters are available per page, but pay attention to the number of listed filters, as it may make you page messy from an interface perspective.

Course additional fields filters are shown in all catalogs and courses.  Filters will be displayed according to the additional field type:

  • Date. The date selection is displayed with radio buttons allowing you to select a date period or define a searching period.
  • Dropdown. The values defined for the additional field selection are shown in the filter area as checkboxes,  and with the possibility to make multiple selections.
  • Text and Free Text. Depending on the selected option for the Allow filtering by this field parameter in the Field Settings area in the course and session additional field area of the course management, values can be shown as a list, or can be searchable from a free search field.
    When The field’s value will be shown among the available filters when actively used in the LMS option is selected, the values defined for the additional field are shown in the filtering area as multiple choices. Please note that it is not possible to select this option for free text additional fields.
    When The field’s value will be searchable from the “Search Within Results” field option is selected, text values will be searchable from the free search field.
  • Iframe. This filtering area allows you to enter a JSON with the definition of the filter fields to be shown. Iframe filters can either be dropdowns or text fields. Please refer to the section below for some examples on how to configure Iframe additional fields.

Additional Field filters are available for Internal and External Catalogs, on the My Courses and Learning Plans page, in the Catalog and My Courses and Learning Plans widgets and for the Global Search (My Courses and Learning Plans and Course Catalogs tabs).

Configuration Examples for Iframe Course Additional Fields

This section provides you with some examples on how to configure Iframe course additional fields. Let’s assume we have the following JSON structure for the course Getting started with Docebo:

{  
  "internal_code":"2018-01A",
  "internal_status": "approved",
  "publishing_date":"2018-10-01",
  "course_tags":[  
    {  
      "tag":"hr"
    },
    {  
      "tag":"fin"
    },
    {  
      "tag":"ops"
    }
  ],
  "teacher":{  
    "name":"John Doe",
    "email":"john.doe@example.com"
  }
}

Now, use the following JSON filter configuration as Iframe additional field configuration to create:

  • a filter to enable the search of a course_code from the search area.
  • a multiple-choice filter to search for a course according to its internal_status.
  • a date filter to search for the course publishing_date.
  • a multiple-choice filter to search for the course_tags.tag in a JSON array.
  • a filter to search for the teacher.name in a JSON object.
{  
  "filters":[  
    {  
      "filter_name":{  
        "default":"Course Code",
        "italian":"Codice Corso"
      },
      "filter_query_field":"$.internal_code",
      "filter_type":"text"
    },
    {  
      "filter_name":{  
        "default":"Internal Status"
      },
      "filter_query_field":"$.internal_status",
      "filter_type":"dropdown",
      "filter_values":[  
        {  
          "label":"Approved",
          "search_value":"approved"
        },
        {  
          "label":"Expired",
          "search_value":"expired"
        },
        {  
          "label":"Pending",
          "search_value":"pending"
        }
      ]
    },
    {  
      "filter_name":{  
        "default":"Publishing Date"
      },
      "filter_query_field":"$.publishing_date",
      "filter_type":"date"
    },
    {  
      "filter_name":{  
        "default":"Course Tags"
      },
      "filter_query_field":"$.course_tags[*].tag",
      "filter_type":"dropdown",
      "filter_values":[  
        {  
          "label":"HR",
          "search_value":"hr"
        },
        {  
          "label":"Finance",
          "search_value":"fin"
        },
        {  
          "label":"Sales",
          "search_value":"sal"
        },
        {  
          "label":"Marketing",
          "search_value":"mkt"
        },
        {  
          "label":"Operations",
          "search_value":"ops"
        }
      ]
    },
    {  
      "filter_name":{  
        "default":"Teacher"
      },
      "filter_query_field":"$.teacher.name",
      "filter_type":"text"
    }
  ]
}

When configuring a new filter, use the main filters array with the following configurable values:

filter_name

Used to define the filter name. The default key allows you to set the filter name in the platform default language, or to use the language (e.g. Italian, French, Spanish) as the key for the definition of the language translation.

filter_query_field

Used for the definition of the path of the JSON where the search will be executed. Some examples:

  • $.course_code: looks for the course_code value in the JSON root level.
  • $.teacher.name: looks for the name value in the teacher JSON object.
  • $.course_tags[*].tag: looks for the tag value in the course_tags array items.

filter_type

Use one of the following options:

  • text to enable the textual search in Search within results.
  • dropdown to generate a multiple choice filter to search among a list of pre-defined values.
  • date to display a date filter.

filter_values

Available only when the selected filter_type is dropdown, used to define the options for the multiple choice filter. Use label to define the displayed option, and search_value to set the value to be searched in the JSON. As an example, setting label to Operations and search_value to ops will generate a multiple choice filter with a label called Operations searching for ops in your JSON when clicked.

filter_query_join

Available only when the selected filter_type is dropdown, used to set the filter connector behavior as AND or OR when multiple selections are applied within the same filter section. When the filter_type is dropdown and the filter_query_join value is not declared, the filter connector behavior is OR.

When the filter_query_join is set to OR (default value), and the user selects two or more filters, the search results will show the courses complying with at least one of the selected filters. When set to AND, the search results will include the courses complying with all of the selected filters.

When the filter_query_join is set to AND, a tooltip is displayed next to the title of the impacted filters to inform users that only the courses matching all of the selected filter values will be displayed.

Sharing the Link of Your Filtered Results

When you carry out a search on a catalog and filter courses according to your needs, you can send the link of your filtered page to other users, so that you can share your search results with them. As you select filters to look for content in internal and external catalogs or in the Course Catalogs tab of the Global Search,  the URL of the platform changes by adding the selected filters at the end of the link. Once you get to the desired search results, you can copy the link and send it to other users.

Depending on how your Admin configured the platform, you may see the Share this View button in the top right corner of the page. If available, click it to copy the URL of your filtered page in your clipboard, avoiding copy/paste mistakes.

Remember that filtered pages of external catalogs are accessible to everybody, while filtered pages of internal catalogs and global search results can be viewed by logged-in users only. Users that use the link will have full visibility of your filtered page only if they have your same page set in their menu. For example, if you filter a catalog in a Catalog area of your homepage, other users will see your search results only if they have the same page in their platform.

Where Can I Use Advanced Filters?

Advanced filters can be used in the following areas of the platform:

Catalogs and My Courses and Learning Plans widgets

Global Search result page, My Course and Learning Plans and Course Catalogs tabs