peterburkhalter1920x1080 1

Magazin

Content-Management zwischen Standard und Flexibilität

Peter BurkhalterJanuar 2021

Komplexer Multi-Language-Fallback

MySwitzerland.com will sozusagen die ganze Welt für die Schweiz begeistern. Dies stellt extrem hohe Anforderungen an ein Content-Management-System im Bereich Multimarktfähigkeit und Mehrsprachigkeit. Wie einfach lassen sich diese Themen in Sitecore lösen?

Sitecore ist eine mächtige Plattform und bietet grundsätzlich viel Unterstützung, um Sprachen und Regionen zu managen. Zentrales Element ist der Language Fallback. Bei MySwitzerland.com nutzen wir diesen Mechanismus extensiv: Wird ein Inhalt in einer Sprache aufgerufen, in der er nicht existiert, wird der Inhalt automatisch in der definierten «Fallback»-Sprache angezeigt. Bei ganzen Seiten funktioniert das relativ einfach. Wenn es aber um einzelne Teile einer Seite geht wie bspw. Textlinks, die in einer bestimmten Sprache nicht extistieren, kann dies sehr komplex werden.

Um die Matrix von 14 Sprachen und 22 Märkten zu managen, haben wir einen Multi-Level-Language-Fallback aufgebaut. Der Fallback umfasst maximal 3 Levels und funktioniert auf ganzen Seiten aber auch für einzelne Felder. Damit haben wir die Standard-Funktion von Sitecore sicherlich bis zum Äussersten ausgereizt.

hero-sitecore

Unser Partner

Unic ist Sitecore CMS Platinum Implementation Partner

Sitecore

Und welchen Herausforderungen seid ihr beim Language Fallback begegnet?

Das Handling von so vielen Sprachen stellt grosse Anforderungen an die Performance. Bei jedem Bild, jedem Wort und jeder Komponente wird über mehrere Stufen überprüft, in welcher Sprache der Content verfügbar ist. Diese Herausforderung lösen wir, indem wir vieles der Indexierung überlassen. Bereits beim Speichern und Publizieren von Content läuft ein Cache Ahead. So können Szenarien vorberechnet und Ladezeiten optimiert werden.

Allerdings besteht immer ein Trade-off zwischen der Performance beim Abrufen und der Performance beim Speichern und Publizieren durch die Autorinnen und Autoren.  Wir müssen deshalb immer abwägen, wo wir den grösseren positiven Impact haben, wenn wir Berechnungen vor- oder nachlagern.

Konntet ihr also alles mit dem Standard-Baukasten von Sitecore lösen?

Nein, an einigen Orten müssen wir mit Custom Code eingreifen, damit es den Anforderungen von Schweiz Tourismus entspricht und auch genügend performant ist. Den Language Fallback haben wir beispielsweise mit einem eigenen Konstrukt ergänzt: Es gibt für jede Seite ein Feld, das «Allowed Languages» heisst. Darin können die Autorinnen und Autoren oder das System definieren, in welcher Sprache und in welchem Markt dieser Inhalt angezeigt werden darf. Damit übersteuern wir gewissermassen den Language Fallback in speziellen Fällen. Dies ist ein technisch extrem anspruchsvolles Konstrukt und erweitert die Sitecore-Funktionalität durchgängig.

Flexible Contentaufbereitung

Die Autor:innen haben also ganz viel Freiräume bei der Contentaufbereitung.

Die Contentbewirtschaftung bei Schweiz Tourismus ist sehr agil und dynamisch. Bis zu 50 Autorinnen und Autoren sind weltweit verteilt und publizieren rund um die Uhr Content. Deshalb müssen die Autorenserver 24/7 zur Verfügung stehen. Sitecore unterstützt die Contentaufbereitung mit spezifischen Workflows, Check-Out-Prozessen, Freigabeprozessen und einem komplexen Berechtigungssystem. Die Autorinnen und Autoren sind sehr flexibel. Sie können Content individuell auf Sprachen und Märkte abstimmen. Dies bedingt allerdings ein grosses Bewusstsein für die Sprachvielfalt: Sie müssen sich immer überlegen, für welche Märkte der Content, den sie erfassen, relevant ist.

Die Übersetzung in so viele Sprachen ist ein riesiger Aufwand und wichtiger Faktor für die Time-to-Market. Wie wurde der Übersetzungsprozess implementiert?

Das Redaktionsteam kann dank dem nahtlos integrierten Übersetzungsmodul Lionbridge direkt im Content-Management-System Übersetzungen auslösen und überwachen. Sobald die Übersetzung vorliegt, wird der Text vollautomatisch im CMS hinterlegt und kann dort von der Autorin oder dem Autoren überprüft und freigegeben werden. Dies verkürzt die Time-to-Market für Content massiv.

SchweizTourismus-TranslationWorkflow
Übersetzungsprozess. Quelle: Schweiz Tourismus

Und wie stellt ihr sicher, dass die User:innen den Content in der für sie richtigen Sprache erhalten?

Wir versuchen für neue User so gut wie möglich herauszufinden, welches die richtige Sprache und der richtige Markt ist. Dafür haben wir einen speziellen Mechanismus: Wir arbeiten mit einer spezifischen Geolocation, die basierend auf den Browsereinstellungen und der IP-Adresse den User so genau wie möglich identifiziert.

Multi-CDN-Lösung

Die Besucher:innen von MySwitzerland.com stammen aus der ganzen Welt. Welche Vorkehrungen habt ihr getroffen, um diese speziellen Anforderungen an die Performance sicherzustellen? 

Um die Verfügbarkeit sicherzustellen und die Response Time auf der ganzen Welt möglichst gering zu halten, setzen wir auf eine Multi-CDN-Lösung mit Fastly und Quantil. Diese beiden CDNs managen wir über eine Schnittstelle von Cedexis.

Mit Quantil haben wir für China ein dediziertes CDN evaluiert, welches erlaubt, Inhalte auf dem chinesischen Festland zu speichern und somit hinter der «Great wall of China» auszuliefern. Hierzu musste eine spezifische ICP-Lizenz beantragt und es mussten diverse technische Anpassungen im Frontend und Backend vorgenommen werden, so dass keine Google- und Facebook-Lösungen eingesetzt werden.

SchweizTourismus-PerformanceStruktur
Multi-CDN-Lösung. Quelle: Schweiz Tourismus

Wie managt man eine solch vernetzte Architektur?

Beim CDN-Handling gab es mehrere technische Knackpunkte, die wir mit Custom Code lösen mussten, um in Standard-Sitecore-Automatismen einzugreifen:

Eine besondere Herausforderung ist die Identifikation des Traffics, der über die CDNs zu uns kommt. Wir haben einen Custom http Header eingebaut zur Identifikation von Requests, die über ein CDN zu uns kommen. Einen zweiten Custom http Header haben wir eingeführt zur Identifikation von Client-IP-Adressen.

Genauigkeit und Performance sind zwei zentrale Treiber beim Management der CDNs. Eine weitere Herausforderung ist deshalb die Invalidierung von Content auf dem CDN. Zu diesem Zweck haben wir einerseits eine regelbasierte Logik zum Managen des «Shared Max Age» entwickelt. Sie definiert, wie lange eine Seite auf einem CDN gültig ist, und ist komplett anpassbar für das Redaktionsteam von Schweiz Tourismus: Es kann das Shared Max Age individuell für Seitentypen, einzelne Seiten oder Contentteile über die Rules Engine von Sitecore steuern. Damit stellen wir sicher, dass möglichst aktuelle Daten auf dem CDN sind, reduzieren aber gleichzeitig die Anzahl Requests auf dem Delivery-Server.

Schweiz Tourismus

Verliebt in die Schweiz

Für MySwitzerland.com sind wir verantwortlich für die technische Konzeption und Architektur, die komplexe Backend-Entwicklung und die Integration der bestehenden Umsysteme sowie den Betrieb und das georedundante Hosting der Infrastruktur. Für das Projekt haben wir einen Sitecore Experience Award 2020 gewonnen!

Verliebt in die Schweiz

Entspannter Go-live

Was sind deine Learnings aus dem Go-live ? Welches Erlebnis ist dir besonders geblieben?

Für mich haben sich anlässlich des Go-lives zwei Erfolgsfaktoren herauskristallisiert:

  1. Der erste Erfolgsfaktor ist der Zusammenhalt im Team: Es war unglaublich, wie alle am gleichen Strick gezogen haben. Das ist in einem so grossen Projekt mit so vielen verschiedenen Disziplinen nicht selbstverständlich. Über Länder- und Fachgrenzen hat man sich unterstützt und stets pragmatische Lösungen gesucht. Wir konnten uns hundert Prozent aufeinander verlassen. Jede:r hat sich stets überlegt, was das Beste fürs Projekt ist, und Partikularinteressen aussen vor gelassen.

  2. Der zweite Erfolgsfaktor ist die detaillierte Planung des Go-lives: Alle Stakeholder waren in diesen Prozess involviert. Jede Person wusste genau, was sie beitragen muss, und alle Eventualitäten wurden berücksichtigt: Wer macht wann was, welche Entscheidungen müssen wann gefällt werden, was sind die Entscheidungsgrundlagen. Diesen Plan haben wir 1:1 auf der Integrationsebene getestet inklusive Rollback-Szenario. Voraussetzung dafür war, dass die technische Integrationsebene identisch mit der Produktionsebene aufbaut ist: Derselbe Content, die gleichen Zugriffe, das gleiche Security-Konzept, die gleichen Ressourcen, die gleichen CDNs. Das ist zwar kostspielig, bedeutet aber eine enorme Risikominimierung.

Alle diese Faktoren haben zu einem sehr entspannten Go-live-Prozess geführt. Es gab keine hektischen Entscheidungen, weil wir alles bereits vorausgedacht haben. Mit dieser Sicherheit konnten wir im Entwicklungs- und Architektur-Team nur wenige Stunden vor dem Go-live einwilligen, ein neues Build mit einem neuen Feature zu integrieren, das für Schweiz Tourismus zentral war. Diese Flexibilität wurde von den Kund:innen sehr geschätzt.

Weitere spannende Themen zu Schweiz Tourismus

BOSW-Award-Night_BB-Boje-2

Wir holen mit MySwitzerland.com unsere vierte Master-Boje

MySwitzerland.com ist das beste Schweizer Webprojekt 2020! Für Unic bedeutet das der vierte Mastertitel insgesamt!

Mehr erfahren
Unic-Infrastructure-HS6A4919

Für Katastrophen gerüstet: Georedundantes Hosting für Schweiz Tourismus

Für Schweiz Tourismus hat Unic ein zweites Rechenzentrum aufgezogen. Dies, um die Plattform MySwitzerland.com georedundant betreiben zu können. Lesen Sie im Interview, was im Fall einer Katastrophe mit MySwitzerland.com geschieht.

Für Katastrophen gerüstet: Georedundantes Hosting für Schweiz Tourismus

MySwitzerland.com: Eine Architektur wie ein Schweizer Uhrwerk

MySwitzerland.com beeindruckt mit einer unglaublichen Reichhaltigkeit an Informationen zum Reiseland Schweiz. Die vernetzte Content-Hub-Plattform mit zahlreichen Daten-Import und -Export-Schnittstellen zu Umsystemen funktioniert wie ein Schweizer Uhrwerk. Daniel Rey, Expert Application Architect, hat die Konzeption und Realisierung der technischen Architektur verantwortet.

MySwitzerland.com: Eine Architektur wie ein Schweizer Uhrwerk

Kontakt für Ihre digitale ​Lösung mit Unic

Sie möchten Ihre digitalen Aufgaben mit uns besprechen? Gerne tauschen wir uns mit Ihnen aus: Jörg Nölke und Gerrit Taaks (von links nach rechts).​

Gerrit Taaks