Installation
Bundle Installation
- Install the required dependencies:
composer require pimcore/data-quality-management-bundle
- Enable the bundle in
config/bundles.php:
use Pimcore\Bundle\DataQualityManagementBundle\PimcoreDataQualityManagementBundle;
// ...
return [
// ...
PimcoreDataQualityManagementBundle::class => ['all' => true],
// ...
];
- 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.