Fallback Image
Fallback Image

Introducing Umbraco v8

- Teil 2: Dokumententypen & Mehrspachigkeit

Unser CPO Sören Deger kennt Umbraco wie seine Westentasche. Anlässlich der Erscheinung von Version 8 berichtet er in seiner Blogserie über alles, was ihr zu v8 wissen müsst.

byte5-CPO Sören Deger kennt als langjähriger Umbraco-Trainer und Projektmanager das CMS wie seine Westentasche. Anlässlich der Erscheinung der Umbraco-Version 8 noch in diesem Quartal teilt Sören in seiner Blogserie „Introducing v8“ sein Wissen, erklärt, was die neue Version an Funktionen mit sich bringt und welche technischen Vorzüge sie gegenüber ihren Vorgängerversionen bietet.

Dabei geht er insbesondere auf Installation, Mehrsprachigkeit und Änderungen bei Dokumententypen, auf nuCache und Log-Viewer sowie auf Content-Apps ein. Außerdem wird Sören klären, was wir von künftigen Minor-Releases erwarten dürfen. Heute geht es um Neues in Sachen Dokumententypen und Mehrsprachigkeit.

byte5-CPO, -Projektmanager und Umbraco-Guru Sören Deger

© Douglas Robar

byte5-CPO, -Projektmanager und Umbraco-Guru Sören Deger

Nachdem ich im ersten Teil meiner Blogserie zu Umbraco V8  einen ersten allgemeinen Überblick über die neue Umbraco-Version gegeben und gezeigt habe, wie man das aktuelle Nightly-Build installiert, widme ich mich heute in Teil 2 den Neuerungen bei den Dokumententypen und den Core-Funktionalitäten für die Mehrsprachigkeit.

Neues bei den Dokumententypen

In v8 wurde auf die sogenannten Tabs verzichtet, die bisher die Propertys sinnvoll gliederten, und durch Gruppen ersetzt. Diese Gruppen werden von Umbraco im Bereich Settings zunächst genauso konfiguriert wie zuvor die Tabs. Die Änderung macht sich jedoch im Content-Bereich bemerkbar:

Screnshot: Umbraco-Backend

© Umbraco A/S

Screnshot: Umbraco-Backend

Die Gruppen werden nun untereinander angezeigt. Nun könnte man meinen, dass man bei vielen Gruppen sehr lange nach unten scrollen muss, um die gesuchte Gruppe zu finden. Hierfür hat sich das Umbraco-Team allerdings etwas ausgedacht: Beim Hovern über die Standard-Content-App im oberen rechten Bereich öffnet sich nun ein zusätzliches Menü, über welches der Redakteur schnell und einfach die entsprechende Gruppe auswählen und zu dieser springen kann.

Eine weitere Neuerung ist die Möglichkeit, einen Dokumententyp als Elemententyp zu definieren. Möchte man den Core-Datentyp „Nested-Content“  verwenden, um Propertys ineinander zu verschachteln, so muss man als Vorlage einen Dokumententyp erstellen. Dieser Dokumententyp soll jedoch in der Regel nicht dazu verwendet werden, um direkt Knoten im Content-Bereich zu erstellen. Hat man in seiner Umbraco-Instanz sehr viele Dokumententypen zwecks Verwendung mit Nested-Content erstellt, wird das Arbeiten mit Dokumententypen im Allgemeinen recht unübersichtlich. Bis dato hat man als Entwickler meist durch entsprechende Namenskonventionen einen Überblick gewährleistet. Besser wäre es jedoch, wenn diese Dokumententypen überhaupt nicht erst in der View für die Berechtigungen von Dokumententypen erschienen.

Doch das hat sich nun geändert. Und genau für diesen Zweck wurde die neue Einstellung implementiert. Wenn man einen Dokumententyp als „Is an Element type“ definiert, so werden zum einen die Einstellungen für die Berechtigungen und für die Mehrsprachigkeit ausgeblendet, und zum anderen kann dieser Dokumententyp nicht mehr unter einem anderen erlaubt werden.

Screnshot: Umbraco-Backend

© Umbraco A/S

Screnshot: Umbraco-Backend

Ein weiteres Feature sind Dokumententypkollektionen. Diese gibt es zwar nicht erst seit v8, sind aber mit Einführung in Version 7.12.0 immer noch recht neu und die wenigsten kennen diese Funktion bisher. Beim Erstellen von Dokumententypen lässt sich nun auch „Document Type Collection…“ auswählen.

Screnshot: Umbraco-Backend

© Umbraco A/S

Screnshot: Umbraco-Backend

Dies ist ein kleines, dafür umso nützlicheres Feature, um bei der Erstellung von Dokumententypen einige Klicks – und somit auch einige Zeit – zu sparen. Möchte man beispielsweise einen Dokumententyp für eine Newsübersicht und einen Dokumententyp für einzelne News anlegen, kann man dies nun in einem Schritt machen. Dabei werden bei Bedarf auch gleich zwei Templates erstellt, zugewiesen und automatisch die Berechtigung gesetzt, damit Newsdetail-Knoten unterhalb des Newsübersicht-Knoten erstellt werden können.

Screnshot: Umbraco-Backend

© Umbraco A/S

Screnshot: Umbraco-Backend

Das Thema Mehrsprachigkeit

Werfen wir nun einen Blick auf die neue Mehrsprachigkeit in Umbraco-Version 8. Bisher gab es zwei grundsätzlich unterschiedliche Vorgehensweisen bei der Implementierung von Mehrsprachigkeit in Umbraco:

  1. Jeweils einen eigenen Root-Knoten mit allen untergeordneten Knoten für jede Sprachversion der Website.
  2. Einen einzigen Root-Knoten für alle Sprachen und Übersetzung der Knoten mittels externer Packages wie „Vorto“.

Der erste Implementierungsansatz ist weiterhin auch in v8 möglich. Vor allem wenn man eine Web-Anwendung mit mehr als einer Handvoll Sprachen realisieren möchte, ist der erste Ansatz mit eigenen Root-Knoten pro Sprachversion für mich immer noch die favorisierte und beste Lösung.

Wenn man jedoch nur ein paar Sprachversionen und keine komplexen Seiten hat, kann die zweite Variante eine durchaus praktikable Lösung sein. Genau an dieser Stelle setzt die neue Core-Funktionalität „Variants“ an – allerdings ohne die Notwendigkeit externer Package-Installationen.

Die Konfiguration sehr einfach, sofern man denn weiß, wo sich welche Konfigurationsmöglichkeiten befinden. Zunächst einmal ist es erforderlich, wie auch schon zuvor in v7, die benötigten Sprachen zu definieren. Eine Sprache kann im Settings-Bereich über „Languages“ hinzugefügt werden. Die Besonderheit ist nun in Umbraco-Version 8, dass es drei weitere Konfigurationsmöglichkeiten direkt bei der Sprache gibt.

Screnshot: Umbraco-Backend

© Umbraco A/S

Screnshot: Umbraco-Backend

Man kann hier eine der hinzugefügten Sprachen bei Bedarf als „Default language“ definieren. Zusätzlich kann man mit der nächsten Einstellung „Mandatory language“ festlegen, ob alle Propertys in dieser Sprache mit Content befüllt sein müssen, damit ein Content-Knoten veröffentlicht werden kann.

Zuletzt gibt es unter „Fallback language“ die Möglichkeit, eine alternative Sprache auszuwählen. Wenn hier eine alternative Sprache ausgewählt wurde und ein Knoten nicht in der aktuellen Sprache gepflegt wurde, würde im Frontend dann automatisch die hier ausgewählte Sprachversion des Knotens angezeigt. Klickt man nach dem Speichern wieder im Settings-Tree in der linken Spalte auf „Languages“, sieht man alle Sprachen mit allen Einstellungen übersichtlich in einer Liste.

Screnshot: Umbraco-Backend

© Umbraco A/S

Screnshot: Umbraco-Backend

In dieser Liste können Sprachen jetzt auch einfach gelöscht werden. Zu beachten ist dabei, dass Sprachen, welche als „Default language“ konfiguriert sind, nicht gelöscht werden können. Um eine solche Sprache zu löschen, müsste zunächst eine andere Sprache als „Default language“ markiert werden.

Als nächstes definieren wir die Hostnamen für die englische und deutsche Sprachversion unserer Umbraco-Website. Dies funktioniert ähnlich wie in v7 per Rechtsklick auf den Startseite-Knoten im Content-Bereich und der Auswahl von „Culture and Hostnames….“

Screnshot: Umbraco-Backend

© Umbraco A/S

Screnshot: Umbraco-Backend

Hier kann man nun sowohl eigene Domains oder Subdomains für die jeweilige Sprache verwenden oder wie in diesem Beispiel mit /de und /en einfach die Domain mit einem ergänzenden URL-Pfad Segment für die jeweilige Sprachversion.

Beim Öffnen eines beliebigen Content-Knotens vermissen wir an dieser Stelle jedoch noch die Möglichkeit, den Content in verschiedenen Sprachen pflegen zu können. Um das zu ermöglichen, sind noch ein paar weitere Schritte notwendig.

Es kann grundsätzlich sinnvoll sein, nicht alle Content-Knoten mehrsprachig zu machen, zum Beispiel, wenn Knoten nur zur Verwaltung von Einstellungen für die Website benötigt werden. Deshalb muss man nun im Settings-Bereich für jeden Dokumententyp einzeln entscheiden, ob dieser Mehrsprachigkeit unterstützen soll. Wenn eine Unterstützung gewünscht ist, so muss im jeweiligen Dokumententyp im Bereich „Permissions“ die Einstellung „Allow varying by culture“ aktiviert werden.

Screnshot: Umbraco-Backend

© Umbraco A/S

Screnshot: Umbraco-Backend

Bei einem Blick in den Content-Bereich können wir nun Folgendes feststellen:

In der linken Spalte über dem Content-Tree befindet sich ein neues Dropdown-Feld, mit welchem wir von der aktuellen deutschen Sprache (Default language) zu English wechseln können und somit den Content-Tree der englischen Sprachversion angezeigt bekommen. Die Knoten der englischen Sprachversion sind grau, also noch nicht veröffentlicht.

Screnshot: Umbraco-Backend

© Umbraco A/S

Screnshot: Umbraco-Backend

Hier gilt es Folgendes zu beachten: Auch wenn wir nun einen Knoten in der englischen Version anklicken, so sehen wir auf der rechten Seite immer noch die deutsche Sprachversion des Contents. Um auch auf der rechten Seite den zugehörigen Content zur Sprachversion angezeigt zu bekommen, muss man nun über das kleine Dropdown-Feld innerhalb des Knotennamen-Feldes die englische Version ebenfalls auswählen.

Screnshot: Umbraco-Backend

© Umbraco A/S

Screnshot: Umbraco-Backend

Hier sehen wir nun auch den Status der beiden Sprachversionen dieses Knotens. Die deutsche Version ist veröffentlicht (published), wobei hingegen die englische Version bis jetzt noch nicht erstellt wurde (not created).

Möchten wir nun die englische Version pflegen, stellen wir leider fest, dass die Propertys nun grau sind und nicht bearbeitet werden können. Dies hat folgenden Hintergrund: Es ist sinnvoll, dass nicht alle Propertys mehrsprachig sind, obwohl bei dem Dokumententyp die Mehrsprachigkeit bereits erlaubt wurde. So ist es in der Praxis meist so, dass beispielsweise Bilder in allen Sprachversionen gleich sind und sich nur die Texte unterscheiden. Genau aus diesem Grund muss man auch zusätzlich bei den einzelnen Propertys die Mehrsprachigkeit erlauben. Diese Konfiguration nimmt man auch wieder bei den Dokumententypen im Settings-Bereich vor, jedoch dort direkt bei der entsprechenden Property.

Screnshot: Umbraco-Backend

© Umbraco A/S

Screnshot: Umbraco-Backend

Die Einstellung für die Unterstützung der Mehrsprachigkeit ist übrigens bei den Propertys erst sichtbar und möglich, nachdem die Unterstützung von Mehrsprachigbeim zugehörigen Dokumententyp aktiviert wurde.

Nun können wir auch im Content-Bereich die englische Sprachversion öffnen und den englischen Text einpflegen. Das Bild ist hingegen weiterhin ausgegraut und wird automatisch von der deutschen Sprachversion (Default language) verwendet. Dies liegt daran, dass die Mehrsprachigkeit nur bei der Property „Text“ und nicht bei der Property „Bild“ aktiviert wurde.

Screnshot: Umbraco-Backend

© Umbraco A/S

Screnshot: Umbraco-Backend

Nachdem nun der englische Knotenname und der englische Text gepflegt wurde, kann unten rechts mit „Save and publish…“ der Knoten veröffentlicht werden. Wir sehen beim Klick auf den grünen Pfeil in diesem Button jedoch noch weitere Funktionalitäten.

Screnshot: Umbraco-Backend

© Umbraco A/S

Screnshot: Umbraco-Backend

Bei bereits veröffentlichten Knoten könnten über „Unpublish…“ wie auch in v7 bereits die Veröffentlichung widerrufen werden. Neu ist jedoch die Funktion „Publish with descendants“ an dieser Stelle. Diese Funktion befand sich in Version 7 nur im Rechtsklick-Contextmenü des Content-Trees. Ein weiteres nützliches Feature ist „Schedule…“. Mit diesem öffnet sich nun direkt ein Overlay, um das Veröffentlichungs- und/oder Widerrufsdatum der Veröffentlichung (Ausblendedatum) komfortabel einzutragen.

Screnshot: Umbraco-Backend

Screnshot: Umbraco-Backend

Bei „Save and publish…“ öffnet sich übrigens das gleiche Overlay, jedoch ohne die Möglichkeit der Festlegung des Veröffentlichungs- und Ausblendedatums. Man kann hier immer auswählen, welche Sprachversion(en) man speichern, veröffentlichen oder ausblenden möchte.

Eine weitere Komfortfunktion ist die sogenannte „Split-View“. Mit dieser kann man nun die Sprachversionen nebeneinander anzeigen und so noch einfacher und intuitiver, den Content zu übersetzen. Die Split-View lässt sich über das Dropdown-Menü im Namensfeld des Knotens öffnen.

Screnshot: Umbraco-Backend

© Umbraco A/S

Screnshot: Umbraco-Backend

Screnshot: Umbraco-Backend

© Umbraco A/S

Screnshot: Umbraco-Backend

Den Link zur entsprechenden Site im Frontend findet man nun in der Info-Content-App. Hier erscheint nun auch übersichtlich nur der oder die Links zu dem Knoten in der jeweiligen Sprachversion.

Screnshot: Umbraco-Backend

© Umbraco A/S

Screnshot: Umbraco-Backend

Und fertig ist unsere mehrsprachige Seite unter Verwendung von ausschließlich Umbraco-Core-Funktionalitäten! Sie bietet Redakteuren einen hervorragenden Workflow, um Sites schnell und einfach mehrsprachig zu gestalten.

Im dritten Teilen meiner Blogserie geht es in einer Woche um das neue Caching-System „nuCache“ und den integrierten Log-Viewer.