If you are using the Activation module, please see the Activation Tools app page instead.

Accessible in Tools > Publishing tools, this app is installed by the Publishing module and has two subapps:

  • Tools allows you to generate a new public key and clean the mgnlSystem workspace.
  • Monitor allows you to monitor publishing details. 

    • Overview: Number of publishing and unpublishing requests, errors, committed and rollbacked transactions, content size and time needed for publication.

    • Publishing requests per workspace: Number of publication items per workspace.
    • Public instance response: Maximum, minimum and average response time for each subscriber.
    • Publishing log: Details of each publication. Can be filtered by user.
    • Error log: Publishing error log.


See Activation security for more information about using the Publishing Tools app.


The Publishing Tools app is based on the small app concept and installed by the Publishing module. Access to the app is restricted to the superuser role in the app configuration and app launcher layout configuration.

The app's configuration is bootstraped from a YAML file at /publishing-app/apps/publishing.yaml :

Publishing Tools app's YAML configuration file
appClass: info.magnolia.publishing.app.PublishingBaseApp
name: publishing
    label: Tools
    subAppClass: info.magnolia.publishing.app.PublishingMainSubApp
    class: info.magnolia.ui.api.app.SubAppDescriptor
    label: Monitor
    subAppClass: info.magnolia.publishing.app.monitor.PublishingMonitorSubApp
    class: info.magnolia.ui.api.app.SubAppDescriptor
    superuser: superuser

You can access and modify the configuration via the Resource Files app or decorate the configuration from another module.

Publishing log storage

Publishing logs are stored in memory through MemoryPublishingStorage , which is registered in the configuration at Configuration > /modules/publishing-core/config/publishingLogStorage .

You can customize the storage by extending the MemoryPublishingStorage interface.

Node nameValue










#trackbackRdf ($trackbackUtils.getContentIdentifier($page) $page.title $trackbackUtils.getPingUrl($page))