Direkt zum Inhalt

Content Staging und Content Deployment mit Drupal

Häufig sind Preview-Ansichten nicht identisch mit der tatsächlichen Darstellung nach der Veröffentlichung von Content.
16.03.2018 - 14:00 von Manuel Pistner

Das Erstellen und Veröffentlichen von Content in allen CMS ist die tägliche Arbeit eines Redakteurs. Die wohl am häufigsten aufkommende Frage ist dabei: "Wie sieht der Inhalt bloß auf der Live Seite aus?"

Drupal besitzt zwar eine Preview-Funktion, gerade durch die hohe Flexibilität von Drupal ist es mit dieser Funktion jedoch nicht möglich, Inhalte an allen referenzierenden Inhalten, in Views, in Panels und in anderen eingebundenen dynamischen Seiten mit der eingebauten Vorschau zu prüfen. Die Ansicht von Teasern und die Darstellung von Listen ist dabei nicht bzw. nur sehr umständlich möglich. Auch ist die Preview-Ansicht nicht immer identisch mit der tatsächlichen Seitenansicht, wenn diese veröffentlicht wurde.

Ich möchte in diesem Blogbeitrag aktuelle Möglichkeiten für Content Staging und Content Deployment zeigen und dabei unsere Erfahrungen aus unterschiedlichen Projekten mit dieser Anforderung teilen.

 

Content Staging ohne Content Deployment

Es ist möglich, eine Vorschaufunktion über alle dynamischen Seiten hinweg in einer einzigen Drupal-Instanz zu erstellen. Dies erhöht die Komplexität der Seite jedoch ungemein. Dennoch soll auch diese Option hier nicht fehlen.

Sie können mit dem Drupal Flag Modul Inhalte mit "Als Preview anzeigen" flaggen (markieren). Damit Sie dann Inhalte, die noch nicht veröffentlicht sind, für Autoren und Redakteure in Views, Panels und anderen dynamischen Seiten angezeigt bekommen, empfehlen wir, diese dynamisch generierten Seiten in jedem Fall mit Views aufzubauen. In diesen Views müssen Sie per Filter dafür sorgen, dass die Regel "Unveröffentlichte Inhalte anzeigen, wenn diese mit dem Flag 'Als Preview anzeigen' markiert wurden UND der eingeloggte Nutzer eine bestimmte Rolle – oder noch besser, ein bestimmtes Recht – besitzt und damit unveröffentlichte Inhalte sehen darf" greift.

Mit dieser Logik können Sie erreichen, dass Autoren ein reales "Content Staging in Drupal" ohne zusätzliche Stage-Instanz und ohne Content Deployment durchführen können. Die Preview-Funktion findet somit direkt auf der Live-Seite statt.

Der Vorteil dabei ist, dass es sich um ein einziges System handelt, auf dem immer alle Live-Inhalte vorhanden sind. Der große Nachteil ist jedoch die Komplexität, die Sie jeder Seite hinzufügen. Gerade bei großen und internationalen Seiten in mehreren Ländern und mehreren Sprachen wird dies mit steigender Content-Anzahl und komplexen Strukturen irgendwann unwartbar.

 

Content Staging und Content Deployment mit Contrib Modulen

 

Content Deployment mit Drupal: Content wir auf einem Stage erstellt und dann per Webservice auf den Live-Server übertragen


Eine Lösung, die Content Staging die Komplexität nimmt, ist der Einsatz von Drupal Contrib Modulen für Content Deployment. In diesem Konzept steht neben der Live-Instanz eine weitere Instanz namens "Content-Stage" zur Verfügung. Auf dieser Instanz werden Inhalte durch den Redakteur eingepflegt. Diese Inhalte werden erst dann auf das Live-System übertragen, wenn sie auf dem Stage-System freigegeben werden. Der Inhalt wird dann per Webservice auf den Live-Server übertragen. Wir sprechen hier von Content Deployment oder Content Synchronisation in Drupal. Die Lösung ist für den Redakteur sehr komfortabel und einfach zu handhaben. Außerdem gibt sie valide Vorschau-Ergebnisse aus, sowohl pro Inhalt als auch in allen anderen dynamischen Bereichen in denen der Inhalt gezeigt wird (Views, Paragraphs, Panels). 

 

Beim Content Deployment mit Drupal gibt es einiges zu beachten.

Einfachheit für den Nutzer geht jedoch meist mit technischer Komplexität einher. Hier ein paar Stolpersteine und Tipps, die man bei der Umsetzung unbedingt beachten sollte:

  • Wenn ein referenzierter Inhalt einen anderen Inhalt referenziert, muss dieser ebenfalls auf das Livesystem deployt werden. Es sind also alle abhängigen Referenzen inkl. am Inhalt verwendeter Medien zu deployen.
  • Content-Updates auf dem Stage müssen dazu führen, dass diese auch per Content-Synchronisation auf das Livesystem deployt (übertragen) werden.
  • Damit auf der Content-Stage-Instanz der neue Inhalt auch wirklich in einem dem Live-Server identischen Umfeld gereviewed werden kann, müssen auch Live-Inhalte, die nur auf dem Live-Server erstellt wurden, auf das Content-Stage Drupal-System zurück übertragen werden. Andernfalls liefert die Vorschau auf dem Stage keine validen Ergebnisse. Dies kann durch das regelmäßige Übertragen eines Datenbank-Dumps von Live auf das Stage-System passieren oder ebenfalls per Content Deployment oder Content Synchronisation umgesetzt werden (lesen Sie gerne unseren Blogpost mit weiteren Informationen zum Thema "Drupal 8 Deployment")
  • Ein Contrib Modul, das dabei unterstützt, Drupal mit einem Content Deployment oder Content Staging Workflow zu betreiben, ist das Deploy Modul
  • Ein Alternative als Service bietet Drupal Content Sync. Drupal Content Sync basiert auf NodeJS und ist darauf ausgelegt, alle oben beschriebenen Workflows und Anforderungen zu unterstützen und dabei eine hohe Usability durch besonders hohe Performance zu erreichen.

 

Headless Drupal für Content Staging

 

Content Staging mit Headless Drupal: Drupal dient dem Redakteur als Backend und es stehen zwei Frontends bereit (Stage und Live)


Mit dem Headless Drupal Ansatz ist es deutlich einfacher, Content Staging umzusetzen. Konzeptionell stellt man eine Drupal-Backendinstanz als Content-Pool bereit und macht die Inhalte per Webservice verfügbar. Eingeloggte Redakteure dürfen dabei auch nicht veröffentlichte Inhalte sehen. Das Frontend wird über Webservices mit dem Backend integriert.
So stehen für das Content Staging zwei Drupal Instanzen bereit, die nur aus dem Frontend bestehen. Das eine Frontend ist die Live-Site und zeigt veröffentlichte Inhalte an. Das Stage-Frontend ermöglicht Redakteuren, Inhalte im zentralen Backend anzulegen und diese auf dem Stage-Frontend anzuzeigen.

Auch in diesem Szenario gibt es verschiedene Fallstricke. Durch den Einsatz von Drupal Content Sync. in Drupal- und Headless-Drupal-Projekten haben wir dieses Szenario bisher nur in einem Prototypen umgesetzt und können aus der Erfahrung noch nicht berichten. Sollten wir uns für diese Lösung in einem Projekt entscheiden, holen wir das selbstverständlich gerne nach.

 

Rollout von Content für Online-Kampagnen


Um ganze Online-Kampagnen auszurollen, eignet sich Drupal Content Deployment hervorragend. Redakteure im Marketing können per Content Staging komplette Kampagnen, bestehend aus beliebig vielen Inhalten, vorbereiten und diese per Knopfdruck auf das Live-System übertragen. So hat das aufwändige manuelle Duplizieren oder Veröffentlichen einzelner Inhalte und Medien ein Ende. Ein Knopfdruck genügt und Ihre Kampagneninhalte sind nach ausgiebigen und realistischen Tests veröffentlicht. 

 

Fazit

Wie so oft ist die Antwort auf die Frage "Wie setzt man in Drupal Content Staging oder Content Deployment um?", ein "Es kommt darauf an." Ausschlaggebend für die Entscheidung sind Ihre individuellen Anforderungen und die Workflows Ihres Teams, die abgebildet und unterstützt werden sollen. Wenn Sie einen Einblick in bestehende Projekte möchten oder unsere Unterstützung in der Konzeption oder der Umsetzung Ihrer Drupal-Projekte wünschen, sprechen Sie uns als Drupal Agentur gerne an.

Registrieren Sie sich jetzt für unseren kostenlosen Newsletter und bleiben Sie immer auf dem Laufenden

Weitere Blogbeiträge