PHPackages                             diversworld/contao-editorial-workflow - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. diversworld/contao-editorial-workflow

ActiveContao-bundle[Utility &amp; Helpers](/categories/utility)

diversworld/contao-editorial-workflow
=====================================

Contao Editorial Workflow The Contao Editorial Workflow bundle adds a structured content approval process to Contao CMS. Editors can create and modify content in a draft state, submit it for review, and track its approval status. Reviewers and publisher

1.2.3(1mo ago)341↓85.7%GPL-3.0-or-laterPHPPHP ^8.2CI failing

Since Jun 5Pushed 1mo agoCompare

[ Source](https://github.com/diversworld/contao-editorial-workflow)[ Packagist](https://packagist.org/packages/diversworld/contao-editorial-workflow)[ RSS](/packages/diversworld-contao-editorial-workflow/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (3)Dependencies (10)Versions (14)Used By (0)

[![Latest Version on Packagist](https://camo.githubusercontent.com/bb469bee0f21c2cb8aa8336d0f78c4c995c9d4261766be5045bc1d2a89c89b3f/687474703a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f646976657273776f726c642f636f6e74616f2d656469746f7269616c2d776f726b666c6f772e7376673f7374796c653d666c6174)](https://packagist.org/packages/diversworld/contao-editorial-workflow)[![Dynamic JSON Badge](https://camo.githubusercontent.com/e068812866cbda2e0cbc50635b6c4aa8982adaaf88889f70918d224e10719253/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f64796e616d69632f6a736f6e3f75726c3d68747470732533412532462532467261772e67697468756275736572636f6e74656e742e636f6d253246646976657273776f726c64253246636f6e74616f2d656469746f7269616c2d776f726b666c6f772532466d61696e253246636f6d706f7365722e6a736f6e2671756572793d2532342e72657175697265253542253232636f6e74616f253246636f72652d62756e646c65253232253544266c6162656c3d436f6e74616f25323056657273696f6e)](https://camo.githubusercontent.com/e068812866cbda2e0cbc50635b6c4aa8982adaaf88889f70918d224e10719253/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f64796e616d69632f6a736f6e3f75726c3d68747470732533412532462532467261772e67697468756275736572636f6e74656e742e636f6d253246646976657273776f726c64253246636f6e74616f2d656469746f7269616c2d776f726b666c6f772532466d61696e253246636f6d706f7365722e6a736f6e2671756572793d2532342e72657175697265253542253232636f6e74616f253246636f72652d62756e646c65253232253544266c6162656c3d436f6e74616f25323056657273696f6e)[![Installations via composer per month](https://camo.githubusercontent.com/f27d7745ba0a407900f655eb4fe868698e07591b7ef1802debbfbbc02aa8e369/687474703a2f2f696d672e736869656c64732e696f2f7061636b61676973742f646d2f646976657273776f726c642f636f6e74616f2d656469746f7269616c2d776f726b666c6f772e7376673f7374796c653d666c6174)](https://packagist.org/packages/diversworld/contao-editorial-workflow)[![Installations via composer total](https://camo.githubusercontent.com/0e73682f81c9c0aa5adee6728cb14457a1f9068f2df04a52ce588aa9710d4114/687474703a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f646976657273776f726c642f636f6e74616f2d656469746f7269616c2d776f726b666c6f772e7376673f7374796c653d666c6174)](https://packagist.org/packages/diversworld/contao-editorial-workflow)[![Packagist License](https://camo.githubusercontent.com/1b1a753c5c81be059f78f6ace05f29be3c078f1b0aed2b1c385a5d0ba4497f1a/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f646976657273776f726c642f636f6e74616f2d656469746f7269616c2d776f726b666c6f77)](https://camo.githubusercontent.com/1b1a753c5c81be059f78f6ace05f29be3c078f1b0aed2b1c385a5d0ba4497f1a/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f646976657273776f726c642f636f6e74616f2d656469746f7269616c2d776f726b666c6f77)

[![Diversworld](docs/dw-logo-k.png "Diversworld Logo")](docs/dw-logo-k.png)

Contao Editorial Workflow
=========================

[](#contao-editorial-workflow)

Dieses Modul erweitert Contao um einen strukturierten Redaktions- und Freigabeprozess für Inhalte. Es ermöglicht die Umsetzung des Vier-Augen-Prinzips und stellt sicher, dass Änderungen an Inhalten vor der Veröffentlichung geprüft und freigegeben werden.

Funktionen
----------

[](#funktionen)

- **Workflow-Status**: Unterstützung verschiedener Status (Entwurf, In Prüfung, Freigegeben, Abgelehnt, Veröffentlicht, Archiviert).
- **Vier-Augen-Prinzip**: Optionale Prüfung durch eine zweite Instanz.
- **Protokollierung**: Revisionssichere Historie aller Statusänderungen und Kommentare in der `tl_editorial_workflow_log`.
- **Kommentarfunktion**: Review-Hinweise und Begründungen für Statusänderungen direkt am Inhalt.
- **Dashboard**: Übersicht ausstehender Prüfungen im Backend.

Unterstützte Inhalte
--------------------

[](#unterstützte-inhalte)

Das Modul integriert sich generisch in folgende Contao-Tabellen:

- Seiten (`tl_page`)
- Artikel (`tl_article`)
- Nachrichten (`tl_news`)
- Events (`tl_calendar_events`)
- Newsletter (`tl_newsletter`)
- FAQ (`tl_faq`)

Technische Anforderungen
------------------------

[](#technische-anforderungen)

- Contao 5.x
- PHP 8.1+
- Symfony Security Bundle

Installation
------------

[](#installation)

1. Installation via Composer: ```
    composer require diversworld/contao-editorial-workflow
    ```
2. Contao Installtool aufrufen oder Datenbank via Manager aktualisieren.

Aktivierung und Nutzung
-----------------------

[](#aktivierung-und-nutzung)

Um das Modul erfolgreich zu nutzen, sind folgende Schritte erforderlich:

### 1. Installation und Datenbank-Update

[](#1-installation-und-datenbank-update)

Nach der Installation via Composer müssen die Datenbankfelder angelegt werden. Dies kann über das **Contao Installtool**oder den **Contao Manager** erfolgen. Es werden Felder in den Tabellen der unterstützten Inhaltstypen sowie die neue Tabelle `tl_editorial_workflow_log` für die Historie erstellt.

### 2. Konfiguration (Optional)

[](#2-konfiguration-optional)

Standardmäßig ist das Modul für alle unterstützten Tabellen aktiv und das Vier-Augen-Prinzip ist eingeschaltet. Falls gewünscht, kann dies in der `config/config.yaml` angepasst werden:

```
# config/config.yaml
diversworld_contao_editorial_workflow:
  four_eyes_principle: true  # Autoren dürfen eigene Änderungen nicht selbst freigeben
  enabled_tables: # Nur für diese Tabellen aktivieren
    - tl_page
    - tl_article
    - tl_news
```

### 3. Rollen und Berechtigungen vergeben

[](#3-rollen-und-berechtigungen-vergeben)

Die Steuerung des Workflows erfolgt über das Contao-Berechtigungssystem. Editieren Sie eine **Benutzergruppe** oder einen **Benutzer** und vergeben Sie folgende Berechtigungen:

1. **Erlaubte Felder**: Aktivieren Sie unter "Erlaubte Felder" für jede genutzte Tabelle (z.B. `tl_news`, `tl_page`) die Felder `workflow_status` und `workflow_comment`. *Hinweis: Benutzer mit den Rollen "Prüfer" oder "Publisher" sehen die Felder automatisch, auch wenn diese nicht explizit freigeschaltet wurden.*
2. **Workflow-Berechtigungen**: Wählen Sie die entsprechenden Rollen aus:
    - **Prüfer (Reviewer)**: Darf Inhalte auf "Freigegeben" oder "Abgelehnt" setzen.
    - **Publisher**: Darf Inhalte auf "Veröffentlicht" setzen.

Redakteure ohne diese Rollen können Inhalte erstellen, bearbeiten und den Status auf "In Prüfung" setzen, sofern sie Zugriff auf die Felder haben.

### 4. Wichtige Hinweise zur Fehlerbehebung

[](#4-wichtige-hinweise-zur-fehlerbehebung)

Sollte es im Backend zu einer Fehlermeldung kommen (z.B. `Unknown column 'workflow_status'`), stellen Sie sicher, dass Sie das **Contao Installtool** ausgeführt haben. Das Modul fängt diese Fehler zwar im Dashboard ab, aber für die volle Funktionalität müssen die Spalten in der Datenbank vorhanden sein.

### 5. Benachrichtigungen (Notification Center)

[](#5-benachrichtigungen-notification-center)

Das Modul integriert sich vollständig in das [Notification Center](https://github.com/terminal42/contao-notification-center).

1. **Benachrichtigungstyp**: Erstellen Sie im Backend eine neue Benachrichtigung. Wählen Sie als Typ einen der unter " Editorial Workflow" gelisteten Typen (z.B. "In Prüfung").
2. **Tokens**: In den Nachrichtentexten können Sie folgende Tokens verwenden:
    - `##workflow_table##`: Die betroffene Tabelle (z.B. `tl_news`).
    - `##workflow_id##`: Die ID des Datensatzes.
    - `##workflow_status##`: Der neue Status.
    - `##workflow_comment##`: Der hinterlegte Kommentar.
    - `##workflow_user##`: Der Benutzer, der die Änderung vorgenommen hat.
    - `##workflow_data_*##`: Alle Felder des betroffenen Datensatzes (z.B. `##workflow_data_headline##`).
3. **Versand**: Sobald ein Redakteur oder Prüfer den Status ändert, werden alle für diesen Typ konfigurierten Benachrichtigungen automatisch versendet.

### 6. Workflow im Redaktionsalltag

[](#6-workflow-im-redaktionsalltag)

1. **Erstellung/Bearbeitung**: Ein Redakteur bearbeitet einen Inhalt (z.B. eine Nachricht). Er speichert diesen zunächst als "Entwurf".
2. **Prüfung anfordern**: Sobald die Bearbeitung abgeschlossen ist, setzt der Redakteur den Status auf **"In Prüfung"**. Optional kann ein Kommentar für den Prüfer hinterlassen werden.
3. **Freigabe durch Prüfer**: Ein Benutzer mit der Rolle **Prüfer** sieht den Inhalt (z.B. über das Dashboard oder in der Listenansicht) und kann ihn nach Sichtung auf **"Freigegeben"** oder **"Abgelehnt"** setzen. Bei einer Ablehnung sollte ein Grund im Kommentarfeld angegeben werden.
4. **Veröffentlichung**: Ein Benutzer mit der Rolle **Publisher** kann freigegebene Inhalte auf **"Veröffentlicht"**setzen. Erst in diesem Status (und wenn das Contao-Feld "Veröffentlichen" aktiv ist) wird der Inhalt im Frontend sichtbar.

### 7. Historie einsehen

[](#7-historie-einsehen)

Jede Statusänderung wird revisionssicher protokolliert. In der Listenansicht der jeweiligen Module (z.B. Nachrichten-Liste) kann über das Info-Icon des Datensatzes die Historie der Workflow-Änderungen eingesehen werden.

Lizenz
------

[](#lizenz)

LGPL-3.0-or-later

Donation
--------

[](#donation)

If you like this extension and think it's worth a little donation: You can support me via Paypal.Me:

[Donation for Diversworld EditorialWorkflow](https://paypal.me/EckhardBecker615)

Thank You!

###  Health Score

43

—

FairBetter than 89% of packages

Maintenance91

Actively maintained with recent releases

Popularity13

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

13

Last Release

42d ago

Major Versions

0.1.3 → 1.0.02026-06-07

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/3169414?v=4)[Diversworld](/maintainers/diversworld)[@diversworld](https://github.com/diversworld)

---

Top Contributors

[![diversworld](https://avatars.githubusercontent.com/u/3169414?v=4)](https://github.com/diversworld "diversworld (24 commits)")

---

Tags

bundleworkflowcontaoeditorial

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/diversworld-contao-editorial-workflow/health.svg)

```
[![Health](https://phpackages.com/badges/diversworld-contao-editorial-workflow/health.svg)](https://phpackages.com/packages/diversworld-contao-editorial-workflow)
```

###  Alternatives

[metamodels/core

MetaModels core

10156.4k68](/packages/metamodels-core)[codefog/contao-news_categories

News Categories bundle for Contao Open Source CMS

3189.0k6](/packages/codefog-contao-news-categories)[terminal42/contao-node

Node bundle for Contao Open Source CMS

3177.0k6](/packages/terminal42-contao-node)[pdir/social-feed-bundle

Social feed extension for Contao CMS

1615.7k](/packages/pdir-social-feed-bundle)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
