collab-rte — gemeinsam im RTE arbeiten, ohne Merge-Konflikte.
collab-rte erweitert den TYPO3-RTE um kollaboratives Bearbeiten: mehrere Redakteur·innen im selben Dokument, CRDT-basierter Sync, Cursor-Anzeige und Konflikt-freie Zusammenführung. Coming soon — Inhalte und API-Dokumentation folgen, sobald das Paket für die öffentliche Bereitstellung freigegeben ist.
Was es tut
collab-rte registriert sich als CKEditor-5-Plugin in jedem Backend-RTE mit der Web-Component typo3-rte-ckeditor-ckeditor5. Das Plugin liest die collab-Konfiguration aus dem CKEditor-Config-Objekt (Token, docId, Display-Name, Color), die collab-core::ProvideCollabTokenListener injectet, initialisiert eine Yjs-Doc plus Hocuspocus-Provider und synchronisiert HTML-Content bidirektional zwischen Yjs-Text-Type und CKEditor.
Sync-Strategie
Auf HTML-Level, nicht auf CKEditor-Model-Operation-Level. Strukturelle Integrität bleibt erhalten, Character-Level-Merge-Präzision ist limitiert — ein bewusster Tradeoff zugunsten der Yjs-/CKEditor-Entkopplung.
DOM-Events
Das Plugin emittiert collab:connected, collab:disconnected und collab:auth-failed.
Komponenten
| Datei | Aufgabe |
|---|---|
Resources/Private/TypeScript/CollabPlugin.ts | Haupt-Plugin: Yjs↔CKEditor-Binding, Hocuspocus-Provider |
Resources/Private/TypeScript/StatusBadge.ts | Live-Status-Indikator (connected, disconnected, auth-failed) |
Resources/Public/Css/status-badge.css | Styling für den Connection-Status-Badge |
Configuration/JavaScriptModules.php | TYPO3-14-JS-Module-Registrierung |
Configuration/RTE/Collab.yaml | RTE-Preset, das das Collab-Plugin in der CKEditor-Konfiguration aktiviert |
RTE-Preset zuweisen
columns:
bodytext:
config:
richtextConfiguration: collab
Voraussetzungen
- TYPO3 14.x, PHP 8.3+
typo3/cms-rte-ckeditor: ^14.0moselwal/collab-core- Extension-Key
collab_rte, NamespaceMoselwal\CollabRte, GPL-2.0-or-later
Kollaboratives RTE-Editing früh pilotieren?
Wenn Sie collab-rte früh in einem TYPO3-Redaktions-Setup testen oder die CRDT-Sync-API gegen Ihre Editor-Konfiguration prüfen möchten, sprechen Sie uns über das Kontaktformular an.
Oder direkt schreiben: kontakt@moselwal.de