DJR 0128 Edit

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.

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:

Abb1
Abb. 1: Content-Bereich mit Gruppen anstatt von Tabs sowie Gruppenschnellauswahl in Content-App

 

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.

Abb2
Abb. 2: Als Elementtyp definierter Dokumententyp zur Verwendung mit Nested-Content

 

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.

Abb3
Abb. 3: Neue Funktion „Document Type Collection…“ beim Erstellen von Dokumententypen

 

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.

Abb4

Abb. 4: Konfiguration von „Document Type Collections“

 

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.

Abb5
Abb. 5: Hinzufügen einer Sprache im Settings-Bereich mit zusätzlichen Einstellungen

 

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.

Abb6
Abb. 6: Übersicht der konfigurierten Sprachen im Settings-Bereich

 

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….“

Abb7

Abb. 7: Konfiguration von Hostnamen und Sprache im Content-Bereich

 

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.

Abb8
Abb. 8: Unterstützung von Mehrsprachigkeit im Settings-Bereich für Dokumententyp aktivieren

 

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.

Abb9

Abb. 9: Wechsel des Content-Trees zu anderer Sprachversion

 

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.

Abb10

Abb. 10: Wechsel des Inhalts zu anderer Sprachversion

 

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.

Abb11

Abb. 11: Unterstützung von Mehrsprachigkeit im Settings-Bereich für Propertys aktivieren

 

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.

Abb12
Abb. 12: Pflegen einer englischen Sprachversion im Content-Bereich

 

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.

Abb13

Abb. 13: Veröffentlichungseinstellungen in Umbraco v8

 

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.

Abb14
Abb. 14: Veröffentlichungsdatum und Widerrufsdatum der Veröffentlichung festlegen

 

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.

Abb15

Abb. 15: Aktivierung der Split-View zum parallelen Bearbeiten von Sprachversionen

 

Abb16

Abb. 16: Geöffnete Split-View zum effizienten Bearbeiten von zwei Sprachversionen

 

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.

Abb17

Abb. 17: Frontend-Links des Knotens für die entsprechende Sprachversion

 

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.

 

Unser erster Hackathon zu Umbraco v8 findet am Donnerstag, den 4. April, statt! Sei dabei, wenn wir uns mit Snacks, Gebäck und Getränken ein paar Issues vorknöpfen und gemeinsam mit Poornima vom offiziellen Pull-Request-Team gemeinsam an Umbraco 8 feilen. Die Teilnahme kostet nichts außer einer Anmeldung bei Laura! Los geht’s um 14 Uhr.

Nach dem Hackathon bist du herzlich eingeladen, zu unserer Pre-Party vom Umbraco-Festival Deutschland zu kommen! Triff hier die internationale Umbraco-Community, networke und genieße den ein oder anderen Cocktail. Bis dahin!

Zurück