Adding and Managing Extensions

An indexing pipeline extension (IPE) is a Python script used to customize the way one or more sources index content (see Indexing Pipeline Extension Overview).

An indexing pipeline extension can be associated with more than one source. Therefore, you should be aware that modifying an existing indexing pipeline extension can impact many sources across your Coveo Cloud organization.

The following sections describe the actions that you can perform on the Extensions page.

Add or Edit an Extension

Before you can apply an indexing pipeline extension to a source, you must first add it to your Coveo Cloud organization. Once you created the extension, you can always edit its configuration.

To create an extension, access the Extensions page and then, in the Add an Extension panel, click Add Extension.

If the Add Extension button is grayed and unresponsive, you do not have all of the required privileges to perform this action.

Inspect Impacted Item Logs

You can review the logs for the items impacted by an extension. On the Extensions page, select the desired extension, and then, in the More menu, click Inspect impacted items. You will be redirected to the Log Browser page, in which only the items modified by the selected extension are displayed (see Review Item Logs).

Delete an Existing Extension

Delete old unused or deprecated indexing pipeline extensions.

  1. On the Extensions page, optionally filter extensions, and then select the extension that you want to delete.

  2. Before deleting the extension, verify if the extension is used by one or more sources:

    1. In the Action bar, select More > Additional information.

    2. In the Additional Information: [ExtensionName] panel, click Used by to expand the list of source names that are using the extension.

    3. When the extension is used, validate if it is OK to delete it.

    You cannot delete an extension that is used by one or more sources. You get an error message when trying to do so. You must first detach the extension from the source(s) (see Applying an Extension to a Source).

  3. In the Action bar:

    1. Click More, and then select Delete.

    2. At the Are you sure? prompt, click Delete.

Manage Other Extension Versions

Each time you edit and save an extension, a new version of this extension is created and saved. Each extension version has a versionId GUID (and a last modification date/time) allowing you to uniquely identify the version. You can see the list of existing versions for a given extension and even edit them, allowing you for example to create a new latest version from an older one.

The extension versions do not record changes to the Name and Description parameters.

  1. On the Extensions page, optionally filter extensions, and then select the extension for which you want to see versions.

  2. In the Action bar, select More > Manage versions.

  3. In the [ExtensionName]: Versions panel, you can:

    • Review the list of existing versions for this extension.

    • Get the Version Id GUID and see the Last update date.

    • Edit a version:

      1. Double-click a version or click a version, and then in the Action bar, click Edit.

      2. In the Edit an Extension: [ExtensionName] edit the extension (see Add or Edit an Indexing Pipeline Extension).

      When you save the modified extension, a new version is created that becomes the current latest version that will automatically be used with sources to which the extension is applied without a specified version (see Applying an Extension to a Source).

Get Extension Execution and Usage Information

You can get more details on a given extension execution over the last 24 hours and usage from the Additional Information: [ExtensionName] panel.

  1. On the Extensions page, optionally filter extensions, and then select the extension for which you want to see more information.

  2. In the Action bar, click Usage Statistics.

  3. In the Usage Statistics: [ExtensionName] panel, you can see the following information:

    • Creation date

      Date and time at which the extension was created.

    • Execution time status

      Same as on the Extensions page (see Execution Time Status).

    • Time out status

      Same as on the Extensions page (see Time Out Status).

    • Daily statistics

      Extension execution statistics (for all items from all sources to which the extension is applied) processed over the last 24 hours.

      • Average duration in seconds

      • Number of errors

        Number of extension executions for which the script returned an exception.

      • Number of executions

        Total number of executions for all items from all sources to which the extension is applied.

      • Number of skips

        Total number of executions for which the extension was not executed either because:

        • The extension condition was evaluated as false.

        • The extension timed out.

        • The extension is disabled.

      • Number of timeouts

        Total number of extension executions that reached the maximum execution time (default of 5 seconds).

    • Used by the following sources

      Click the Used by the following sources bar to expand the section and see the names of sources to which this extension is applied.

      You can apply an extension to a source or detach it from the source (see Applying an Extension to a Source).

Review the Activity Regarding Extensions

On the Extensions page, in the right section of the page header, click the Activity icon (ac8-icon-clock) (see Review Events Related to Specific Coveo Cloud Administration Console Resources).

If the Activity icon is grayed and unresponsive, you do not have all of the required privileges to perform this action.

Reference

The body of the Extensions page is essentially a table listing all the extensions that are defined in your Coveo organization.

Here are the details about each column of the table:

  • Name

    • The extension Name as entered in the Add/Edit an Extension: [ExtensionName] panel.

    • The automatically generated extension ID that never changes, expressed in the form:

      [organizationId]-[extensionGUID]

      The version ID is used to uniquely identify an extension.

  • Description

    • The extension Description as entered in the Add/Edit an Extension: [ExtensionName] panel.

    • The automatically generated current latest version ID (see Manage Other Extension Versions), expressed in the form:

      [extensionVersionGUID]

  • Execution Time Status

    The indicator presents the worst average extension execution time state, taking into account all items processed by the extension over the last 24 hours or over the last 5 minutes. The state is relative to the allowed maximum execution time (default of 5 seconds).

    Use this indicator to identify extensions that tend to take too long to execute and see how you can optimize the code efficiency.

    The possible values are:

    • Good - Green indicator

      Significantly below the maximum execution time.

    • Warning - Yellow indicator

      Getting closer to the maximum execution time.

    • Problematic - Red indicator

      Dangerously close to the maximum execution time.

    If the column is empty, it means the information is unavailable at the moment.

  • Time Out Status

    An extension times out when its execution time reaches the maximum value (default of 5 seconds), in which case the extension stage is skipped. There are no extension execution retries.

    The indicator presents the worst average time out status, taking into account all items processed by the extension over the last 24 hours or over the last 5 minutes. The state is based on the ratio of timed out over the total number of extension executions.

    Use this indicator to identify extensions that could soon be disabled by Coveo when they too often take too long to execute, and proactively optimize the code efficiency.

    • Unknown - Grey indicator

      No time out status is available.

    • Good - Green indicator

      Acceptable time out ratio.

    • Warning - Yellow indicator

      Significant time out ratio.

    • Problematic - Red indicator

      Severe time out ratio.

  • Version

    • Date and time at which the extension version was created.

    • Version ID

Required Privileges

The following table indicates the privileges required to view or edit elements of the Extensions page and associated panels (see Privilege Management and Privilege Reference).

Action Service - Domain Required access level
View

Content - Extensions

Content - Sources

Organization - Activities

View
Edit

Organization - Activities

View

Content - Extensions

Content -Sources

Edit