Kommentarplattform der Tagesschau

Social / Community

Zusammenfassung

Dass die ARD in Zeiten harscher Online-Kommunikation eine Kommentarplattform betreibt und das mit einem relativ überschaubaren Moderationsteam, ist an sich schon einen Award wert. Drupal ermöglicht den Besucher:innen der Tagesschau-Website ihr aktives Einmischen in die öffentliche Meinungsbildung durch eine dedizierte Kommentarplattform mit modernen UX-Elementen und viel Unterstützung im Moderations-Backend.

Projektbeschreibung

"Kommentare, big deal" mag man denken, "die sind doch ein Core-Feature". Ja Pustekuchen. Wenn ein Leitmedium wie die Tagesschau eine Kommentarplattform anbietet und es ernst meint, dann muss alles stimmen.

Die tagesschau.de Redaktion und das meta Moderationsteam treffen täglich eine Auswahl an Meldungen, welche für Kommentare freigeschaltet werden. Da die Diskussion außerhalb des proprietären Tagesschau-CMS auf einer separaten Plattform stattfindet, gibt es unter der jeweiligen Meldung einen Link mit der aktuellen Anzahl der Kommentare (via Schnittstelle).

Lesen dürfen alle, Kommentare verfassen und auf Kommentare reagieren (flach hierarchisch) für Eingeloggte, benutzungsfreundlich mit Feedback über AJAX in-place ... so weit, so erwartbar.

Was das Projekt besonders macht, sind die Moderations-Workflows des hochfrequentierten Systems. Da der Kunde ein Drupal 6 mitbrachte, das wir zunächst (inklusive aller UX-Hürden) auf Drupal 8 heben sollten, kannten wir die Schmerzen mit dem geerbten System gut.

Projektziele und -ergebnisse

2023 konnten wir im Zuge des Relaunches unsere konzeptionellen Ideen, Wünsche des Moderationsteams und ein neues Design umsetzen.

DE-/AKTIVEREN DER KOMMENTARE
Die Redaktion sieht im Backend die neuen Beiträge von Tagesschau.de und aktiviert oder schließt aufwandsarm die Kommentare.

MODERATION MIT EINEM KLICK
Kommentare werden jetzt übersichtlich im Backend gelistet und mit einem Klick beispielsweise moderiert oder gesperrt mit Begründungsvorlage.

MODERATION
Es findet eine Vormoderation statt, das Team arbeitet also unter Zeitdruck und braucht ein übersichtliches Backend, das mit wenig Seitenwechseln auskommt. Im Grunde kann fast alles aus der Kommentarübersicht heraus erledigt werden: Freigeben, abweisen, mit Begründung abweisen, User sperren.

TRANSPARENZ DER ENTSCHEIDUNGEN ÜBER BENACHRICHTIGUNGEN
Im Fall einer Ablehnung wird in fast allen Fällen eine passende Begründung gesendet. Die Moderation verwendet ca. 10-15 Benachrichtigungs-Textbausteine, die sie selbst bearbeiten kann (entweder global oder fallweise). Damit dies eine rein redaktionelle Domäne bleibt, werden die Vorlagen als Content-Entities bereitgestellt. Wegen unterschiedlicher Teamzugehörigkeit können auch die E-Mail-Signaturen angepasst werden.

MILDE STRENGE
Geht das erhitzte Gemüt mit jemandem durch, kann der User-Account geblockt werden. Es sollte aber keine "Ganz oder gar nicht"-Lösung sein. So können User für einen einstellbaren Zeitraum gebannt werden (Entsperrung erfolgt via Cron). Auch hierfür gibt es Benachrichtigungsvorlagen.

BACKEND-USER-EXPERIENCE
Die Moderation kann im Backend entlang ihrer Use-Cases navigieren: Ich kann aus den aktuellen Tagesschau-Meldungen gezielt einen Inhalt auswählen und nur dessen Kommentare moderieren. Oder ich nehme mir alle neuen unmoderierten Kommentare vor. Um eventuell Übersehenes nachzuholen, steht mir auch eine Übersicht über alle Kommentare der letzten 30 Tage zur Vefügung.

Backend ist Frontend ist Backend - wir erzählen Drupal-interessierten Menschen nichts Neues. Also bekommt das Moderationsteam natürlich auch in der Frontend-Ansicht Moderationsoptionen und kann User blockieren. Anderes Aussehen, gleiche Optionen.

REDESIGN
Die Darstellung der Kommentare ist jetzt deutlich übersichtlicher, man findet die wesentlichen Informationen dort, wo sie gesucht werden und das Farbsystem unterstützt die erlernbare Unterscheidung zwischen aktiven und geschlossenen Diskussionen. Zitatblöcke und schlecht nachvollziehbare (weil nicht optisch abgehobene) Kommentarhierarchien hatten das Antworten innerhalb einer Diskussion im alten System besonders unübersichtlich gemacht. Diese wurden durch Reaktionen auf einer Ebene in einem Details-Element und "@username"-Bezug zum kommentierten Kommentar abgelöst.

Zum Launch war noch nicht entschieden, ob Userbilder oder Avatare eingebunden werden sollten. In Vorbereitung einer problemlosen späteren Integration können User aktuell ein 2-Buchstaben-Kürzel selbst aussuchen, das im farbigen Kreis vor dem Usernamen angezeigt wird.

Fun fact: Es hat nicht lange gedauert, bis die User bemerkt haben, dass sie auch einfach Emojis einsetzen können.

Herausforderungen

TECHNISCH
Die größte Herausforderung bei diesem Projekt ist und bleibt die Performance. Man blickt drauf und sagt "Merkt man gar nicht". Richtig. Das war ein hartes Stück Arbeit.
Eine millionenschwere Tabelle zu durchforsten, da kommt Views an seine Grenzen und wird durch custom queries ersetzt. Jede Ausgabe ist auf Performance optimiert. Das ganze System erfordert eine starke Infrastruktur und nachhaltig gute Beratung auch bis hindurch zu allen Hostingfragen.
Vom proprietären CMS der Tagesschau bzw. dessen Middleware hätten wir uns mehr Flexibilität gewünscht. Beispielsweise warten wir derzeit noch auf eine Bereitstellung der Teaserbilder in einem passenden "Imagestyle" (statt der Vollauflösung).

NICHT-TECHNISCHES HAT TECHNISCH AUCH AUSWIRKUNGEN
Wir kennen dieses Projekt länger als die Ansprechpartner:innen auf Kundenseite. Wir wissen, welche Entscheidungen sich in der Vergangenheit als nicht so brillant herausgestellt haben und konnten jetzt eine robuste Lösung bauen. Es ist eine wiederkehrende Herausforderung, unsere Erkenntnisse beim Kunden weiterzutragen und wiederkehrend für Performance-Fragen zu sensibilisieren.

Community-Beiträge

Einige Patches zu eingesetzten Modulen konnten committed werden:

https://www.drupal.org/project/cl_components/issues/3333340
https://www.drupal.org/project/ban_user/issues/3282236
https://www.drupal.org/project/ckwordcount/issues/3276563
https://www.drupal.org/project/maxlength/issues/3267413
https://www.drupal.org/project/fivestar/issues/2899838
https://www.drupal.org/project/drupal/issues/3346218
https://www.drupal.org/project/legal/issues/3147919
https://www.drupal.org/project/legal/issues/3200961

Ebenso gab es folgende Modul-Contributions:

(1) User Ban für Drupal 8 https://www.drupal.org/project/user_ban
Dieses Modul ermöglicht autorisierten Benutzern, Benutzerkonten zeitweise oder dauerhaft zu sperren.

Wer Benutzer sperren kann, wird durch die bereitgestellten Berechtigungen festgelegt. Eine zeitweise Sperrung oder das Sperren von Benutzern wird automatisch nach der festgelegten Zeitspanne aufgehoben. Das Modul sendet Ereignisse bei Benutzersperren/-entsperrungen aus, sodass andere Module auf diese Ereignisse reagieren können.

Standardmäßig werden gesperrte Benutzer per E-Mail über ihre Sperrung informiert.

(2) User Cancel Entitiy Queue https://www.drupal.org/project/user_cancel_entity_queue
Wenn Benutzer zahlreiche Inhalte angelegt haben und später ihr Konto entfernen möchten, kann die sofortige Bearbeitung all dieser Inhalte herausfordernd sein. Aus diesem Grund stellt dieses Modul eine Funktion zur Verfügung, mit der Änderungen in einer Warteschlange vorgenommen werden können.

Das Modul integriert ein Plugin-System für Nutzerlösch-Methoden. Es bietet über die besagte Warteschlange Möglichkeiten, Inhalte von Benutzern zu löschen oder neu zuzuweisen.

Warum sollte dieses Projekt die Splash Awards gewinnen?

Drupal unterstützt eine der großen Herausforderungen unserer Zeit: bei einer zunehmend schärferen öffentlichen Diskussionskultur im Umfeld der wohl wichtigsten Nachrichtensendung Deutschlands wird die demokratische Teilhabe am öffentlichen Diskurs aktiv gefördert.

Und: Public Money für Public Code.