Quality gates represent an achieved stage of a project or asset maturity. The defined stages that comprise the complete project implementation and asset lifecycle can be represented in quality gate sequence.


Prerequisites

Quality gates are built from individual checks if an asset property or asset relation exists, or has a defined value. These checks are called completeness checks. Before you build quality gates and quality gate sequences, you must configure the completeness checks that you want to use. For more information, see Configure completeness checks.

Introduction

The basis of the automated quality management in censhare consists of completeness checks. A completeness check performs a single check on an asset property or on an asset relation. The result of a completeness check is a boolean (true/false). You can assign completeness checks to an asset type and visualize the result a live report widget.

Instead of assigning completeness checks directly to an asset type, quality gates and quality gate sequences allow you to set up a quality management with defined stages of maturity and in a defined order.

A quality gate represents a defined stage or level of maturity. A quality gate comprises a set of completeness checks that must be true to achieve the quality gate.

A quality gate sequence comprises multiple quality gates that can only be achieved in the defined order (sequence). This means, the nth quality gate must be achieved (all completeness checks true) before the n+1st quality gate can be achieved, even if the completeness checks that comprise the n+1st quality gate are all true.

Usage

The following table shows a simple quality gate sequence for product assets:

Stage

Quality gate

Assigned completeness checks

1

IDs completed

  • Order number

  • Category assigned

2

Classified

  • GTIN code (Global Trade Item Number)

  • EAN code (International Article Number)

  • Mandatory properties of assigned categories

3

Content completed

  • Image assigned

  • Description

4

Translated

  • Description translated

  • Text properties translated


Key concept

Quality gate sequence, quality gates and completeness checks are stored in the following asset structure:

Asset structure of a quality check: (1) Quality gate sequence asset, (2) Quality gate asset, (3) Completeness check asset, (4) Reference to a Quality gate asset, (5) Reference to a Completeness check asset.

Quality gates are required when you want to structure your quality check: Define a sequence or get an overview about the status of your quality checks.

The "Achieved quality gate" is the highest-level quality gate of a sequence that was achieved. For Product assets, censhare calculates this information automatically or triggered by a user action.

You can use quality checks for all asset types. The calculation of the Achieved quality gate is only available for Product asset types.

censhare uses the "Quality check" widget to show the sequence of quality gates included in the quality check. A graphical overview reports all quality gates that are defined for an asset type. 

For each quality gate, censhare counts all assets that achieved this quality level. You can list all assets of an achieved quality gate. censhare provides this overview in an own asset page for the following asset types:

  • Article

  • Product and Product output

  • Project campaign

Quality gate sequence

In the Quality gate sequence asset, you assign Quality gate assets. The assignment is stored as asset reference in the Quality gate sequence. The order in wthich you assign the Quality gates also defines the sequence in which the Quality gate levels have to be achieved.  

You have to define a filter for a Quality gate sequence. It determines the asset types for which the Quality gate asset is applied. 

If no filter is defined, the Quality gate sequence asset is applied to all asset types. This might influence the performance of your system.

You can add one or more asset-type filters. To each asset-type filter, you can add one or more MIME type filters. Alternatively, you can define more complex filters using XPATH expressions.

Quality gates

In a Quality gate asset, you assign all Completeness check assets that have to be passed in order to achieve this quality level. The Quality gate asset stores the assigned completeness checks as asset references.

As in Quality gate sequences and Completeness checks, you can define asset-type filters, MIME-type filters or XPath filters for a Quality gate asset.

If you do not assign at least one Completeness check asset to a Quality gate asset, this quality gate level is always "true" or "done". Although this is not intended for most cases, you can use an empty Quality gate to state that an asset is created. 

For example, this can be useful to search for product assets that just have been created without entering any further data. If there is a quality overview page for an asset type, you can see how many assets just have been created.

Working with filters

Completeness checks, quality gates and quality gate sequence form the asset structure of a quality check. Filters in each quality check asset define whether the complete sequence or parts of it (a quality gate or completeness check) are only applied to certain asset types.

If you are working with a quality check structure, you first define for which assets the Quality gate sequence asset is applied to. The filters you set here, must also be applied to all Quality gate assets that you assign to the Quality gate sequence asset. Likewise, you have to set the filters for all Completeness check assets that you assign to a Quality gate asset in this structure.

For example, you want to apply a quality gate structure to Product assets. In this case, the filters in the Quality gate sequence asset, all Quality gate, and Completeness check assets of this structure must match the "Product" asset type. Otherwise, the completeness checks are not applied.

Quality gates, that are assigned to the same Quality gate sequence, can have filters for different sub-types. For example, you create a quality gate sequence for clothes. In this sequence, you can assign special quality gates for trousers, shirts, dresses, and others.

To set these filters, use an appropriate asset property, for example the product category. Use an XPath expression that checks if the product asset has a reference that points to the "Trousers" product category. Add this XPath expression as well to all Completeness check assets of this Quality gate asset. Otherwise, the completeness checks are not applied for this quality gate.

Likewise, you can configure completeness checks that are not applied to all assets that match a certain quality gate. To do so, set additional filters in this Completeness check asset that match only the desired subset of assets.

Filter examples

This simple example filters all "Product" assets. Check for asset-type IDs in the "Asset types" table in the censhare Admin Client. Enter the asset type ID: 

Asset type filter: "product."
CODE

For each asset-type filter, you can define one or more MIME type filters. Check for MIME-type IDs in the "MIME types" table in the censhare Admin Client. For example, define the MIME type "MPEG-4" in Video assets:

Asset type filter: "video." Mime type filter: "video/mp4"
CODE

The following example uses an XPATH filter that checks if a task is assigned to a product. Only if this condition is true, the check is applied. To create this filter, you have to check whether a "Task" relation exists in a Product asset. You have to define two filters:

  • Set the asset type filter:

    product.
    CODE
  • Set the XPATH filter:

    exists(asset/child_asset_rel[@key='user.task.'])
    CODE

Achieved quality gate

If a Quality gate sequence applies to an asset, censhare checks in the assigned order which quality gate is asset achieved. The “Quality gate achieved” represents the highest quality level of an asset.

When censhare has calculated the achieved quality gate an asset, it stores the result in the "Achieved quality gate" property of this asset. The value is the resource key of the achieved Quality gate asset.

There are a manual and an automatic server action to do the calculation:

Users can select one or more asset of a supported asset type in the censhare Client and execute the manual server action. By default, both server actions are disabled. 

Show results in a widget

The "Quality check" widget shows the current state of the applied quality gate sequence. By default, the "Quality check" widget is placed on Product asset pages. If desired, you can add it to other asset types. For more information, see Display quality gates in a widget .

Create a quality gate sequence

  1. Create a new "Module/Quality gate sequence" type asset in censhare Web and open it.

  2. Go to the Properties widget on the Overview tab and edit it.

  3. Enter the ID of the desired asset type in the "Asset type filter" field. 

  4. If needed, enter the ID of the desired MIME type in the "MIME type filter" field.

  5. To add other MIME types, click the Plus icon below the "MIME type filter" field.

  6.  To add other MIME types, click the Plus icon below the "MIME type filter" field.

  7. If needed, enter the desired XPATH expression in the "Asset filter (XPath)" field.

  8. To add another XPATH expression, click the Plus icon below the "Asset filter (XPath)" field.

  9. To add quality gates, go the "Quality gates" widget.

  10. Click the "Add relation" icon and select the desired Quality gate asset.

  11.  Add more Quality gate assets if needed.

  12. Use the "Move up" and "Move down" buttons to arrange the quality gates in the desired sequence.

Create quality gates

  1. Create a new "Module/Quality gate" type asset in censhare Web and open it.

  2. To add filters, proceed as described above.

  3. To add a completess check to the quality gate, go to the "Completeness checks" widget.

  4. Click the "Add relation" icon and select the desired Completeness check asset.

  5. Add more Completeness check assets if needed.

Configure server actions

Configure Quality gate update

  1. Open the censhare Admin Client and go to "Configuration/Modules/Quality Gates".

  2. Open the "Quality Gate Update" server action.

  3. Check Enabled in the "General setup" section.

  4. Save your entry.

  5. Update the server configuration.

  6. Synchronize any remote servers.

Configure Quality gate update (automatic)

  1. Open the censhare Admin Client and go to "Configuration/Modules/Quality Gates"

  2. Open the "Quality Gate Update (automatic)" server action.

  3. Select "Enabled" checkbox.

  4. Configure the asset automation.

  5. Update the server configuration.

  6. Synchronize any remote servers.

Display quality gates in a widget

This task is only required, if the asset type, for which you defined a quality gate sequence, does not have the default Quality check widget.

Select widget

  1. Change into the Developer mode.

  2. Open the desired tab on an asset page of the desired asset type.

  3. Select "Add widget type" from the asset page menu.

  4. Search for "Live report" and select the entry in the list.

Configure widget

  1. Click the "Transformation" button to configure the widget.

  2. In the "Live report" section, select "Quality check - Template" in the "Template" field.

  3. Select "Quality check - Query" in the "Query" field.

  4. Select "Quality check - Transformation" in the "Transformation" field.

Result

You have set up a quality gate sequence and added quality gates to it. In each Quality gate asset, you assigned the desired completeness checks. In each quality gate sequence, quality gate and completeness check you have set the respective filters. In each completeness check, an XPath or XSLT logic is configured. The server actions to update the achieved quality gate are enabled and configured.