Skip to main content
Version: Next

Installation

Bundle Installation

  1. Install the required dependencies:
composer require pimcore/data-quality-management-bundle
  1. Enable the bundle in config/bundles.php:
use Pimcore\Bundle\DataQualityManagementBundle\PimcoreDataQualityManagementBundle;
// ...
return [
// ...
PimcoreDataQualityManagementBundle::class => ['all' => true],
// ...
];
  1. Install the bundle:
bin/console pimcore:bundle:install PimcoreDataQualityManagementBundle

Bundle Configuration

Score calculation runs asynchronously on the Symfony Messenger queue. Once the bundle is installed, saving a Data Object automatically queues its score for recalculation.

Messages are dispatched on the pimcore_data_quality_management transport. Start one or more workers to process it:

bin/console messenger:consume pimcore_data_quality_management

Use a process manager such as Supervisor or systemd to keep the worker running.

For further configuration, see Calculation Rules.

Permissions

The Data Quality Management bundle does not register a permission of its own. Its Pimcore Studio features are gated by two existing Studio Backend permissions, assigned per user or role under System > User & Roles in the Pimcore Studio main navigation:

Permission (key)Required for
Objects (objects)The "Data Quality Details" tab in the object editor, and the Score, Worst Offenders and Rule Violations dashboard widgets.
Classes (classes)The "Recommended Fields" picker in a Data Quality field's class editor configuration.

Both are enforced on the PHP controllers with #[IsGranted], so they protect the API and not just the UI.

Symfony expression validation and the color settings used to render score badges only require a valid Pimcore Studio session; no additional permission applies.

Uninstallation

Uninstalling the bundle only cleans up the bundle_data_quality_management_calculation_queue table, which stores the queue for score recalculation. To also remove the other tables the bundle created (for example translations_dataQualityManagement for translations), do so manually.