Skip to main content

← CMS integration overview

Ibexa DXP

The Parity Symfony bundle connects Ibexa DXP 4.6+ to Parity's CMS APIs for on-demand checks and publish-driven scans. Complete the Parity-side setup (CMS Integration API key, Internal Site ID, allowed domains) before installing the bundle.

Requirements

  • Ibexa DXP 4.6+, PHP 8.1+
  • Symfony 5.4, 6.4 (LTS), or 7.0
  • Composer 2.x
  • Outbound HTTPS from Ibexa to your Parity API origin
  • Inbound HTTPS from Parity workers to your public staging or preview URLs (see overview)

Installation

  1. Install the bundle with Composer (or from the path / VCS URL your team uses for the proprietary package).composer require parity/ibexa-bundle
  2. Register ParityIbexaBundle in config/bundles.php.
  3. Add config/packages/parity.yaml (or equivalent) with environment variables for API base, site ID, and API key.PARITY_API_BASE, PARITY_SITE_ID, PARITY_API_KEY
  4. Headless front ends: set the headless frontend base URL in Parity site settings and in bundle config so scan URLs are built from the public url_alias path plus your staging origin. Coupled Ibexa can omit the headless base when Ibexa serves the page directly.
  5. Install assets and clear Symfony / Ibexa cache after config changes.bin/console assets:install
  6. If your project ships a verify command, run it to confirm API credentials and reachability.bin/console parity:verify

API contract (reference)

On-demand checks use POST {api_base}/api/v1/sites/{siteId}/cms-check with header Authorization: Bearer <api_key> and JSON body { "url": "<preview-or-staging-url>" }. Async publish flows use the cms-scan endpoints documented in your OpenAPI draft at /api/docs.

More detail

Scaffold and wiring notes live alongside the bundle in cms-plugins/ibexa/parity-bundle/. For implementation-level behavior (quotas, mapping, security), see spec 24-cms-integration.md.