Drupal-Modul: View Mode Switch Field

Lösungen

Zusammenfassung

Wir haben dieses Drupal-Modul entwickelt, um RedakteurInnen die Möglichkeit zu geben, bei der Erstellung von Inhalten flexibel zwischen verschiedenen vorgefertigten Entity-Darstellungsformaten wählen zu können. Durch die Veröffentlichung auf drupal.org profitiert auch die Drupal-Community davon.

Projektbeschreibung

RedakteurInnen benötigen bei der Erstellung von Inhalten möglichst flexible Werkzeuge, um ihre Inhalte und Inhaltselemente in der gewünschten Form darstellen zu können, ohne dabei auf die strukturierte Datenhaltung von Drupal verzichten zu müssen. Entity View Modes sind dafür das perfekte Werkzeug, da sie bei gleichbleibender Datenstruktur unterschiedliche performante Ausgabemöglichkeiten erlauben. So können bereits während des Site Buildings genau die von den KundInnen gewünschten Ausgabeformate als View Modes / Entity Displays vorbereitet und dann von den RedakteurInnen während der Inhaltserstellung mit Hilfe des View Mode Switch Field Moduls ausgewählt werden.

Beispiele für den Einsatz des View Mode Switch Field Moduls:

- Ausrichtung eines Bildes zum Text in einem "Bild + Text" Paragraph
- Auswahl der Bildgröße / des Bildformats in einem "Bild" Paragraph
- Redaktionell gesteuerte Hervorhebung von Inhalten in Listungen
- User-Profil-Vorlagen in Online-Communities

Projektziele und -ergebnisse

Es ermöglicht Site-Buildern unterschiedlich definierte View-Modes bei feldbasierten Entitätstypen zur Auswahl zu stellen. Damit kann die Redaktion zwischen vordefinierten View-Modes auswählen und somit die Entitätsausgabe flexibel steuern. Zum Beispiel kann die Redaktion so Artikel-Teaser in einer Listung hervorheben oder die Anordnung bei Bild-Text-Paragraphs ändern.

Weitere Details gibt es in diesem Blogbeitrag zu lesen:

https://www.undpaul.de/blog/2021/04/07/bitte-waehlen-sie-ihren-view-mode-jetzt

Herausforderungen

- Da das View Mode Switch Field Modul verkettete Umschaltungen zulässt, musste sichergestellt werden, dass keine Rekursionen/Infinity-Loops auftreten können.
- Um die korrekte Funktionsweise des Moduls gewährleisten zu können, wurden über 100 PHPUnit-Tests eingebaut, die die gesamte Modulfunktionalität prüfen

Community-Beiträge

Das Modul an sich: https://www.drupal.org/project/view_mode_switch

Warum sollte dieses Projekt die Splash Awards gewinnen?

Das Modul erlaubt den RekateurInnen größtmögliche Freiheit bei der Erstellung und Gestaltung der Inhalte und gewährleistet gleichzeitig die Einhaltung der CI-Richtlinien und damit die Konsistenz des Designs, da nur aus einem vordefinierten Pool von Entity Displays ausgewählt werden kann. Die klare Trennung von Daten und Ausgabeformaten ermöglicht zudem eine bessere Wartbarkeit und gegebenenfalls notwendige Erweiterungen der Ausgabeschicht, sei es durch komplett neue auswählbare Entity Displays oder die nachträgliche Anpassung bereits bestehender.

Die Einsatzmöglichkeiten dieses Moduls sind unbegrenzt, da auch das gleichzeitige Umschalten mehrerer View Modes, verkettete Umschaltungen sowie die Verwendung beliebig vieler View Mode Switch Felder pro Entity möglich sind.