Skip to content
This is documentation for version 1.X.X, which may no longer be maintained. Go to the latest version (2.2).

Core features


title: Core features description: The core infrastructure that came with 1.0.0: modules, permissions, notifications, search, cron, queue, update hooks, backups, audit log and the AACP panel.

The 1.0.0 core was designed as an application core on which modules are written. All of the following arrived with the first stable release.

Module system

A module is defined by a module.json manifest, an installer, capability registrations and contribution declarations. The core recognises a module from that manifest, so its pages, permissions and menu entries do not have to be wired up by hand.

Permissions

Authorisation is role and capability based and plugs into Symfony Voters. Protecting a screen or an action means requiring the matching capability.

Notifications

Three parts: a notification-type registry, a channel abstraction and per-user preferences. A module registers a new type; the user picks the channel they want it on.

One search surface that modules join by registering a provider. A module offers its content as a provider instead of writing its own search.

Cron and queue

  • Cron: jobs are declared with the #[CpCronJob] attribute. Virtual cron and a real crontab are both supported.
  • Queue: asynchronous job infrastructure backed by Messenger.

Update hooks

Version-tagged data migrations that run once. A ledger records which ones ran, so repeating an update never runs the same hook twice.

Backups, audit log, performance, cache

Backups, an audit log and performance monitoring. The origin HTML cache keeps rendered public pages.

Multilingual content and interface

Both content and interface are multilingual, and translations are editable from the database.

The AACP administration panel

Users, roles, modules, themes, settings, the security centre and the recovery console in one panel.

cp:doctor

A diagnostics command covering migration state, modules, capabilities, translations, the environment and the security posture.

Last updated: 16.10.2026