Ein Bild des PSI aus der Luft

Relaunch psi.ch

Website für das grösste Forschungsinstitut für Natur- und Ingenieurwissenschaften in der Schweiz


Kunde

Paul Scherrer Institut

Go Live

April 2019

Aufgrund der Sicherheitsvorschriften des Paul Scherrer Instituts PSI wird in dieser Fallstudie zu bestimmten Themen nur ein eingeschränkter Einblick gewährt.

Das Paul Scherrer Institut (PSI) ist das grösste Forschungsinstitut für Natur‐ und Ingenieurwissenschaften in der Schweiz. Das PSI betreibt Spitzenforschung in den Bereichen Materie und Material, Mensch und Gesundheit sowie Energie und Umwelt. Durch Grundlagen‐ und angewandte Forschung arbeitet das PSI an nachhaltigen Lösungen für zentrale Fragen aus Gesellschaft, Wirtschaft und Wissenschaft.

Der Internetauftritt ist ein wesentliches Instrument in der Kommunikation des PSI mit seinen Stakeholdern. In einem Evaluationsprozess wurde ermittelt, dass sich Drupal für die Ablösung des alten Content Management Systems am besten eignet. Anschliessend wurde deshalb in einer öffentlichen Ausschreibung ein Dienstleister gesucht, der den Relaunch mit Drupal durchführen kann.

MD Systems nahm am Ausschreibungs-Prozess teil, konnte das PSI mit dem schriftlich eingereichten Lösungsvorschlag sowie der Präsentation vor Ort überzeugen und bekam letztlich den Zuschlag für alle fünf Lose.

Mit der Einführung von Drupal als zentrales und strategisches Web Content Management System soll der technologischen Entwicklung des Internets Rechnung getragen werden. Die über viele Jahre selbst entwickelte Lösung soll vollständig abgelöst werden. Mit einer Website basierend auf Drupal soll mehr technische Stabilität im Internetauftritt gewährleistet sowie eine gute Basis für einen kosteneffizienten Betrieb und künftige Weiterentwicklungen geschaffen werden.

Diesen Themen gilt besonderes Augenmerk:

  • Die Inhalte der alten Lösung sollen nicht nur auf Drupal migriert, sondern zeitgleich auch zu strukturierten Daten transformiert werden.
  • Die Editor*innen sollen künftig strukturierte Inhalte mittels gut geführten Eingabeprozessen erstellen können.
  • Die verschiedenen Bereiche auf der Website mit eigenen Menüs und separierten Berechtigungen.

Für die gesamte Projektlaufzeit waren insgesamt 12 Monate vorgesehen. Durch die effiziente und fokussierte Zusammenarbeit zwischen Gesamtprojektleitung, PSI- und MD-Systems-Mitarbeitern konnte die Implementations-Phase um drei Monate verkürzt werden, sodass trotz intensiver, zusätzlicher Testphase, das Projekt zwei Monate früher als geplant abgeschlossen und das GoLive vorverlegt werden konnte. Das GoLive konnte schliesslich ohne technische Probleme am Osterwochenende 2019 durchgeführt werden.

Dass das Projekt ein voller Erfolg wurde, hatte neben der bereits erwähnten fruchtbaren Zusammenarbeit zahlreiche weitere Gründe.

Primer als Basis

Da unsere Lösung Primer als Basis für das PSI-Projekt genutzt wurde, konnten bereits sehr viele Anforderungen ohne Entwicklungsaufwand abgedeckt werden.

Eines der wichtigsten Kernstücke von Primer ist die flexible Inhaltserstellung mittels Paragraphs (Inhaltskomponenten). Dadurch können bei der Erstellung von Inhalt vordefinierte visuelle Komponenten von Editor*innen variabel zusammengestellt werden.

In einem Vorprojekt wurden beispielhaft ausgewählte Inhaltsseiten bereits so gut wie möglich mit Primer-Standardfunktionen manuell erstellt. Dadurch konnten fehlende Anforderungen schnell erkannt werden und solche, die sich auch für andere Primer Kunden eigneten, bereits als Standardfunktion in Primer oder in Drupal Modulen integriert werden.

Durch das Vorprojekt war schon zwei Wochen nach offiziellem Projektbeginn ein funktionierender Prototyp im Einsatz, anhand dessen die PSI-Verantwortlichen bereits Inhaltserstellung und weitere Funktionalität testen konnten. So wurde nicht nur Zeit und Arbeit gespart, sondern es konnten auch Lösungs-Konzepte gleich am Prototypen vorgeführt werden, was eine erhebliche Komplexitätsreduktion zur Folge hatte.

Agiler Prozess

Die vom PSI zusammengetragenen Anforderungen wurden vor Projektbeginn in ein Backlog übertragen. Zu diesem Zeitpunkt gab es noch eine grosse Zahl an Epic-Tasks, bei denen die Detail-Anforderungen noch nicht exakt definiert waren und für welche daher erst eine Grobschätzung gemacht werden konnte.

Da in Primer bereits sehr viel Funktionalität vorhanden ist, wurde bei vielen dieser Epic-Tasks in einem ersten Schritt evaluiert, welche zusätzlichen Features noch implementiert werden sollten, um die Anforderungen des Paul Scherrer Instituts abzudecken. Für die noch zu erledigenden Tasks wurde der Epic-Task anschliessend iterativ in spezifische User Stories & Tasks aufgeteilt.

In den Sprint-Meetings wurden die abgeschlossenen Tasks des vergangenen Sprints von MD Systems präsentiert und vom PSI-Projektteam abgenommen. Dabei wurden teilweise auch neue Anforderungen identifiziert, für welche nach dem Meeting neue Tasks im Backlog erstellt wurden. Durch die vorhandene Reserve konnten wichtige neue Anforderungen im Rahmen des vereinbarten Budgets und der vereinbarten Zeit erledigt werden.

Ein wichtiger Bestandteil des agilen Prozesses war auch die schrittweise Migration, welche parallel zum Projekt umgesetzt wurde.

Schrittweise Migration

Zum Start des Projekts wurde eine prototypische Migration umgesetzt, anhand welcher nicht nur die Sonderfälle bzw. fehlende Funktionalität für die migrierten Inhalte identifiziert werden konnte, sondern auch viele Anforderungen an Inhalts-Erstellung und -Bearbeitung. Für die Migration wurde eine separate Umgebung erstellt, auf welchem laufend Migrationen auf dem verbesserten System testhalber ausgeführt werden konnten. Zusätzlich ermöglichte dies, dass die migrierten Inhalte laufend quantitativ und qualitativ geprüft werden konnten.

In jedem Sprint-Meeting wurde der aktuelle Stand der Migration mit Statistiken und realen Beispielen präsentiert und anschliessend wurde entschieden, ob die Migration verbessert, eine neue Funktionalität für die Website integriert oder (in wenigen Fällen) die Quelldaten angepasst werden sollen.

Schulung & Dokumentation

Inhalte auf psi.ch werden verschiedenen Editor*innen erstellt und bearbeitet. Aus diesem Grund wurde von MD Systems neben der bereits bestehenden Online-Dokumentation für Primer zusätzlich eine detaillierte, PSI-spezifische Dokumentation erstellt, welche zum Projekt-Ende über 60 Seiten beinhaltete.

Daneben wurden zwei mehrstündige Schulungen durchgeführt.

Eine der grössten Herausforderungen war das Management der verschiedenen Organisationseinheiten, welche die Rechte der Editoren und Sichtbarkeit des Inhalts steuern. Einige Eckdaten und Anforderungen:

  • Neben den Inhalten sind auch Medien, Paragraph Library Items und Terms den jeweiligen Organisationseinheiten zugewiesen
  • Beim Login über das zentrale Identity Management des PSI werden neue Accounts mit den notwendigen Metadaten erstellt und die Zugehörigkeiten zur Organisationseinheit aktualisiert
  • Editoren können nur in ihren Organisationseinheiten Inhalte erstellen und bearbeiten, zusätzlich kann eingeschränkt werden, wer Inhalte veröffentlichen darf
  • Pro Organisationseinheit wird definiert, in welche Sprachen die Inhalte übersetzt werden können
  • Editoren können Medien und Library Items verwenden
  • Jede Organisationseinheit hat ein eigenes Menü, welches die Editoren bearbeiten können und im Frontend dargestellt wird. Auch der Breadcrumb sowie URL des Inhalts basiert auf der Organisationseinheit

Um all diese Anforderungen zu berücksichtigen, waren diverse Erweiterungen und Verbesserungen notwendig (siehe unten bei Contributions).

Da die Website früher statisch generiert war, wurden verschiedene dynamische JavaScript-Anwendungen innerhalb der Seite integriert. Je nach Komplexität und Anforderungen wurden diese entweder mit notwendigen Anpassungen übernommen oder neu nativ in Drupal implementiert.

Für diese Anwendungen und andere Funktionen und Informationen, die auf der Website dargestellt sind, werden diverse Drittsysteme bzw. API-Services eingebunden, damit Daten aus dem internen PSI-Netzwerk auf die Website übertragen werden können. Ein Beispiel dafür ist das Telefonbuch: Täglich werden sämtliche Mitarbeiter abgeglichen mit Profilen und bei Bedarf erstellt, aktualisiert oder aktiviert. Diese Profile können dann von den Mitarbeitern mit Paragraphen inhaltlich ergänzt werden.

Eine weitere grosse Herausforderung war die Implementation des Designs. Dieses wurde möglichst pixelgenau vom bestehenden Design der alten Website übernommen. Da die alte Website über viele Jahre organisch gewachsen war, gab es zahlreiche unterschiedliche Elemente, Abstände, Font-Grössen etc. Diese wurden auf der neuen Website - wo möglich - reduziert und konsolidiert, um eine klare Corporate Identity zu erreichen.

Insgesamt hat MD Systems für über 10 Issues in einem Modul zur Verwaltung der Organisationseinheiten Patches implementiert und verwendet sowie zusätzliche Integrationsmodule veröffentlicht als Grundlage für alle projektspezifischen Erweiterungen. Ein spezifischer Fokus für diese Verbesserungen war die Performance. Die grosse Menge an Inhalten, Editoren und Organisationseinheiten führte zu verschiedenen Performance-Problemen, welche wir zusammen mit dem Maintainer während dem Projekt verbessern konnten.

Für das Paragraphs Modul wurden verschiedene Massnahmen getroffen, um die Leistung beim Editieren zu optimieren. Zusätzliche Funktionalitäten wie “Add above”, “Edit all”, etc. wurden integriert, welche das Erstellen und Bearbeiten von Inhalt vereinfachen. Zudem wurde die Drag&Drop Funktionalität verbessert.

Um die Usability bei der Arbeiten mit Inhalt zu verbessern, wurde das Moderation Sidebar Modul hinzugefügt. Dafür wurden auch zahlreiche Verbesserungen implementiert, unter anderem damit Übersetzungsprozesse gut funktionieren.

Zu Beginn des Projekts wurde in Drupal Core implementiert, dass nur Inhalte, die Benutzer*innen bearbeiten können, auch von ihnen übersetzt werden dürfen. Dieses Feature wurde im Sommer 2020 zu Drupal 9.1 committed.

Siehe auch https://www.digital-storytelling.ch/de/hintergrund/contributions für unsere allgemeinen Beiträge zu Drupal während Primer Projekten.


Primer hat sich auch hier wieder einmal als optimale Basis bewährt. Dank der breiten Palette an Standardfunktionen ist es möglich, den Fokus während des Projekts auf die individuellen Anforderungen zu legen. Durch den hohen Standardisierungsgrad bleibt die Plattform trotz starker Individualisierung effizient wartbar, was die Gesamtbetriebskosten wesentlich optimiert.