CMS-Garden-Relaunch: WordPress, Joomla und TYPO3 vereint auf Drupal

Non-Profit

Zusammenfassung

Seit mehr als einer Dekade machen die aktivsten Open-Source-CMS gemeinsam Öffentlichkeitsarbeit und nutzen dafür einvernehmlich Drupal als Webplattform. Mit der Distribution OpenCulturas als Basis wurde die Website jetzt neu gelauncht.

Projektbeschreibung

Nach fast 10 Jahren mit einem “organisch gewachsenen” Drupal-Setup wurde die Website des CMS Garden jetzt neu gelauncht. Der Fokus lag dabei auf Usability und Barrierefreiheit – im Backend und Frontend.

Der CMS Garden wurde 2013 anlässlich eines gemeinsamen Messestands auf der CeBIT von mehreren CMS-Community-Vereinen gegründet (u. a. Drupal e. V., TYPO3 Association, Plone Foundation, Contao Association). Ziel ist seither die gemeinsame Öffentlichkeitsarbeit für Open-Source-CMS, unter anderem mit Informationsständen auf Publikums- und Fachmessen sowie mit ehrenamtlichen Beratungsangeboten für Entscheider:innen und Anwender:innen, was auch rege genutzt wird.

Kernstücke der Website sind
— ein CMS-übergreifender Veranstaltungskalender
— die Portraits der CMS
— ein Magazin

Im Veranstaltungskalender werden Termine von Konferenzen und Camps der CMS veröffentlicht, aber auch CMS-übergreifende Veranstaltungen, die vom CMS Garden koordiniert werden. Darunter auch die regelmäßige Online-Sprechstunde, in der ehrenamtliche Expert:innen mit Entscheider:innen zusammengebracht werden, um deren Fragen zu beantworten.

Die Portraits der teilnehmenden CMS werden von den Communities selbst gepflegt und im 4-Augen-Prinzip lektoriert/veröffentlicht.

Im “Magazin” findet eine breite Zielgruppe Handreichungen für die Projektplanung, Tipps für gutes Sponsoring, Blogposts u. v. m., die von den Mitgliedern aller CMS-Communities beigetragen werden. Viele der Inhalte finden sich auch in der gedruckten “CMS-Gartenfibel”.

Die über Jahre gesammelten redaktionellen Erfahrungen und die Interessen der Zielgruppen bildeten den Schwerpunkt bei der Konzeption des Relaunches.

Mitglieder des CMS Garden waren an der Konzeption und dem Aufbau der Distribution OpenCulturas (https://splashawards.de/de/nominees/openculturas-distribution-digitale-souveraenitaet-fuer-den-kultursektor) beteiligt, lange bevor uns klarwurde, dass wir diese tatsächlich als Basis für den lange geplanten Relaunch nehmen könnten. Es war ein Experiment, eine dedizierte Kulturplattformlösung zu verwenden, aber unterm Strich war es gar keine Zweckentfremdung – schließlich sind wir Open-Source-Communities Teil der gesellschaftlichen Kultur.

Projektziele und -ergebnisse

— EINFACHERE UND KONSISTENTE TERMINPFLEGE

Veranstaltungen im Internet zu bewerben erfordert deutlich mehr Arbeit als einen Termin im Smartphone einzutragen. Natürlich sind die wesentlichen Komponenten gleich: Was – wann – wo. So schnell sollte es optimalerweise gehen. Aber dann gibt es ja auch noch: Ein Teaserbild, das Textgrafiken enthält und meistens nicht für einen vorgegebenen Zuschnitt optimiert ist. Eine Adresse, die hoffentlich auch wirklich zum Eingang des Veranstaltungsorts führt. Der Link zum Ticket-Shop. Und natürlich ein Text, der Lust macht auf die Veranstaltung, vielleicht sogar Informationen zum typischen Ablauf des Barcamp-Formats.

Wer Termine einpflegt, möchte möglichst wenig Arbeit damit haben. Der Verein als Website-Betreiber möchte eine möglichst hohe redaktionelle Qualität anbieten, weil diese das Vertrauen der Zielgruppe stärkt. Die Qualität hatte aber in der Vergangenheit gelitten. So fanden sich in der Inhaltsübersicht sinngemäß “Splash Awards”, “4. Splash Awards” und “Splash Awards 2023”. Beschreibungen der Veranstaltungen wurden oft gar nicht eingetragen, oder aber es wurde das Programm des Vorjahres kopiert. Die Adresse des Veranstaltungsorts stellte sich manchmal auch als Lieferanteneingang heraus. Man konnte die Hektik der Aufgabenerledigung förmlich herauslesen.

Bei der Planung des Relaunches haben wir analysiert, wie sich die Terminpflege vereinfachen lässt. Viele Informationen stellten sich als redundant heraus, so ist beispielsweise des Essener Unperfekthaus ein gern genutzter Ort für Barcamps und es sollte genügen, die korrekte Besucheradresse nur einmal im System zu haben – wiederverwendbar. Die meisten CMS-Veranstaltungsformate finden wiederkehrend statt: DrupalCon, Drupal Dev Days, Drupalcamping etc. Warum also nicht eine allgemeingültige Beschreibung mit Link zur Website, einer allgemeingültigen Teasergrafik, Veranstalter:in und ggf. dem immer gleichen Ort hinterlegen?

Mit diesem Prinzip der wiederverwendbaren Inhaltskomponenten haben wir die Terminpflege rasant vereinfacht, und sie ist weniger fehleranfällig: Wenn der Termin des nächsten Drupalcampings feststeht, braucht man nur diese Terminspanne und den Link zum Ticketshop einzutragen, der Rest ist bereits hinterlegt. Weitere Angaben sind optional: Barrierefreiheitsinformationen, Bilder vom letzten Jahr in der Slideshow ergänzen, Keynote-Speakers hervorheben, Informationen zu Ticket-Preisstufen …

Termine können auch als Wiederholungstermine eingetragen werden, womit auch das traditionelle Drupal Global Contribution Weekend am letzten Januarwochenende auf Vorrat eingetragen werden kann; Smart Date sorgt für die unaufwändige Ausspiellogik. Die Kalender-Views basieren auf den Deltas der Termininstanzen, so dass jeder Wiederholungstermin einen eigenen Teaser erhält und der ical-Download auch den richtigen Termin zeigt.

Ziel erreicht: Termin einpflegen so einfach wie ein Eintrag im Smartphone-Kalender.

Wer ein ganz neues Veranstaltungsformat eintragen möchte, hat damit auch nicht mehr Aufwand als früher für jeden einzelnen neuen Termin. Neue Orte können über ein Inline-Entity-Formular direkt im Zuge des Termineintrags angelegt werden.

Die Anmeldung zu den Beratungsterminen ist über ein Webformular möglich, in dem die jeweilige Termininstanz vorausgefüllt ist. Das beschleunigt die Arbeit im Backoffice, die Termine zu planen und passende Berater:innen einzuladen.

— EINFACHER AKTUALISIERBARES CMS-PROFIL

Die Portraits der einzelnen CMS werden von Entscheider:innen gern angelaufen, um sich einen Überblick über die jeweiligen Stärken und Schwächen zu verschaffen. Dafür ist es natürlich hilfreich, wenn die Portraits aktuell gehalten werden. Abbildungen unterzubringen bzw. zu aktualisieren war auch nicht immer ganz einfach.

Die Möglichkeit, eine Strecke von Beispielprojekten oder Backend-Screenshots als Slideshow einzubauen, erleichtert zumindest die Entscheidung, an welchen Stellen im Text Abbildungen sinnvoll sind. Der Austausch veralteter Abbildungen ist jetzt auch deutlich vereinfacht durch Verschlagwortungsmöglichkeiten an den Media-Assets und Filtermöglichkeiten in der Media-Library. Das gilt auch für Projektvideos, die alleinstehend oder in eine Slideshow eingefügt werden können. Nichtsdestotrotz bleibt die Arbeit der Medienauswahl im Vorfeld natürlich nicht erspart.

— BESSERE USER EXPERIENCE

Was uns im alten Setup fehlte, waren Angebote auf den Inhaltsseiten für nächste Schritte, beispielsweise auf die nächsten $cms-Veranstaltungen aufmerksam zu machen oder die Community-nahe Dienstleistersuche zu unterstützen.

Durch die vernetzten Inhalte, die OpenCulturas mitbringt, können sich Besucher:innen jetzt deutlich besser treiben lassen. Wir haben die zentrale “Fokus”-Taxonomie umgewidmet auf “CMS”, was erstaunlich gut funktioniert. Solche über das CMS-Schlagwort verwandten Inhalte werden im neuen Setup unter dem Portrait aggregiert: Termine, Expert:innen, Veranstaltungsformate, Magazinartikel.

Entscheider:innen, CMS-Worker oder Nachwuchs – wer auch immer bestimmte CMSe in eine engere Auswahl nimmt, kann sich so nach Interessenslage weitertreiben lassen, einen Camp-Besuch planen, den Weg zu einem Community-Chat finden oder potentielle Arbeitgeber:innen finden. Oder natürlich umgekehrt: mehr Informationen über die CMS finden, die an einer Veranstaltung teilnehmen.

——— Dark-Mode-Unterstützung
Durch den konsequenten Einsatz von CSS-Custom-Properties (“Farbvariablen” u. a.) konnten wir mit sehr wenig Zusatzaufwand für Fans des Dark-Mode ein angepasstes Theme anbieten.

— BESSERE BACKEND-USABILITY

Das alte Drupal-Setup war historisch gewachsen. Was nicht möglich war, wurde nach und nach geflickschustert und folgte keinem Usability-Konzept. Entsprechend umständlich war die Inhaltspflege, was angesichts der Backend-Zielgruppe wahrlich keine gute Idee war.

Die CMS-Garden-Website lebt von User-generated-Content. Der größte Teil derer, die Inhalt beitragen, bringen Erfahrungen mit einem anderen CMS mit. Im Unterschied zu anderen Drupal-Plattformbetreiber:innen haben wir es nicht mit einer einmaligen Eingewöhnungsphase zu tun, sondern müssen kontinuierlich neuen Usern den Einstieg leicht machen, die andere Content-Management-Konzepte im Kopf haben.

Im neuen System sind die Eingabeformulare so aufgebaut, dass man gleiche Felder an der gleichen Stelle findet. Elemente, die “visuelles Rauschen” erzeugen, wie unnötige Eingabeformat-Auswahl oder Hilfetexte, sind weitgehend aus dem Weg geräumt. Das Verständnis für Konzepte wie z. B. Inline-Entity-Formulare wird visuell unterstützt.

Wo immer sinnvoll, haben wir Entity-Add-Links in Views-Header gesetzt, über die man zu Eingabemasken kommt, in denen passende Felder aus dem Kontext heraus vorbelegt sind.

——— Gestaltbare Teaser mit Kontextbezug

Wer mit Drupal arbeitet, findet das Konzept der automatischen Inhaltsteaser schnell selbstverständlich: Teile des Inhalts finden sich im Teaser wieder. Man legt im Grunde nur noch fest, wo ein Teaser ausgespielt wird und ggf. in welchem Layout. Das ist schon ganz schön.

Allerdings haben wir lange die Möglichkeit vermisst, Inhalte der Teaser im Kontext einer Seite ändern zu können, z. B. “Unsere ehrenamtlichen WordPress-Berater:innen beantworten gern alle eure Fragen in einer der nächsten Online-Sprechstunden. Hier Termine checken!” anstelle des Standard-Teasertexts “Regelmäßige kostenlose Online-Beratung”.

Dabei war uns auch wichtig, dass wir nicht nur Teaser zu Nodes gestalten können, sondern auch zu Term-Pages (z. B. zu einer FAQ-Kategorie) sowie zu externen Websites (z. B. zur Website eines Kooperationsprojekts).

Die Präsentation des Teaserbereichs hält Gestaltungsoptionen vor. So können kuratierte Leseempfehlungen u. a. auch in einem barrierefreien Slider ausgespielt werden.

Dieses Feature haben wir als generische Weiterentwicklung zu OpenCulturas beigesteuert.

— BARRIEREN BESEITIGEN

Neben dem Fokus auf visuelle Unterstützung haben wir von Anfang an auch die Barrierefreiheit immer mitlaufen gehabt. Beispielsweise können alle Texte mit Sprachattributen ausgezeichnet werden, alle Elemente im Frontend sind auf Tastaturbedienbarkeit getestet und für Screenreader-User im Backend haben wir eine dedizierte Rolle, der das Getöse von endlosen Admin- und Kontextmenüs erspart bleibt.

Das ganze Layout orientiert sich an der relativen Schriftgröße. Wer aus assistiven Gründen sehr große Schriften eingestellt hat, bekommt z. B. auf dem Desktop-Monitor eine vergrößerte Darstellung im Tablet-Breakpoint.

Nicht zuletzt weil wir CMS-übergreifend einen regen Best-Practise-Austausch über Barrierefreiheitsthemen pflegen, waren uns diese Aspekte sehr wichtig.

Herausforderungen

Technisch blieben die Herausforderungen im Rahmen eines typischen Drupal-Projekts. Dazu zählen vor allem die automatisch bezogenen Übersetzungen, mit denen auch OpenCulturas zu kämpfen hatte, weil an vielen Stellen der Entity-Kontext fehlte. Zum Beispiel wurde wiederholt der Inhaltstyp “Event” in “Ereignis” übersetzt. Als Betreiber einer streng 2-sprachigen Website haben wir uns aktiv in die Behebung der Übersetzungsprobleme eingebracht. In diesem Zusammenhang stellt es für uns auch eine wiederkehrende Herausforderung dar, die Redakteur:innen an die Übersetzungen ihrer eigenen Inhalte zu erinnern bzw. diese nachzutragen.

Freie Zeitslots für gemeinsame Redaktionssitzungen mit Ehrenamtlichen zu finden, ist ebenfalls eine fortlaufende Herausforderung.

Community-Beiträge

Views-Integration für das Swiffy-Slider-Modul, das bis dahin nur einen Field-Formatter bereitstellte. https://www.drupal.org/project/swiffy_slider/issues/3343652

Zusätzlich haben wir einige generische Entwicklungen für OpenCulturas (https://www.drupal.org/project/openculturas) beigesteuert, von der Feature-Konzeption über die Integration bis zur Qualitätssicherung:

— Das Konzept der wiederverwendbaren Termininformationen hatten wir bereits in einem frühen Prototypen umgesetzt. Dieses hat der CMS Garden für die initiale Entwicklung der Distribution OpenCulturas zur Verfügung gestellt.

— Individuell gestaltbare Teaser
mit Overrides aller Felder, für Nodes, Terms und externe Links, einschließlich Designoptionen https://git.drupalcode.org/project/openculturas/-/tree/2.2.x/profile/modules/custom/openculturas_teaser?ref_type=heads

— FAQ
mit gestaltbaren Inhalten und Kategorieseiten, barrierefreie Integration https://git.drupalcode.org/project/openculturas/-/tree/2.2.x/profile/modules/custom/openculturas_faq?ref_type=heads

— Dedizierte Typ-Verschlagwortung
für alle Inhaltstypen mit ansprechenden Aggregationsseiten (z. B. Ortstyp “Hochschule”, Veranstaltungstyp “Barcamp”, Artikeltyp “Pressemitteilung”)

Nebenbei bemerkt ist der CMS Garden an sich eine Contribution zu Drupal ;-) https://www.drupal.org/cms-garden

Warum sollte dieses Projekt die Splash Awards gewinnen?

Nicht nur den Relaunch, nicht nur die Webplattform, sondern auch die Vereinsaktivitäten insgesamt betreiben wir mit kleinem Budget und größtenteils ehrenamtlich seit über 10 Jahren. Weil es wichtig ist, dass wir gemeinsam als FOSS-CMS-Communities dem Marketing der Proprietären etwas entgegenstellen.

Mit dem Relaunch haben wir es geschafft, den Communitymitgliedern aller beteiligten CMS zu demonstrieren, dass man ein Drupal auch User-friendly aufsetzen kann, wenn man die Usability zum Kernziel erklärt. Von diesen Usern sammeln wir auch regelmäßig gute Anregungen ein, wie andere CMS Herausforderungen lösen. Es ist ein Geben und Nehmen, das nachhaltig auch über die einzelnen Communities hinaus funktioniert.

Wer sich neutral über Freie Open-Source-CMS informieren will, landet auf einer Drupal-Plattform.