Adventtipp 23 – Copy Page To Versions – eine Hilfe für Content Editoren

sitecore-advent23

 

Will man als Autor eine neue Sprachversion einer Seite anlegen, kann das ein grösseres Unterfangen sein. Die finalen Renderings und alle verknüpften Datasources müssen für die entsprechende Version angelegt werden. Da würde man sich wünschen, man könnte einfach die eine Sprachversion in eine andere kopieren und anschliessend nur noch den Text anpassen. Hinter Tür Nummer 23 stellen wir euch ein Modul zur Verfügung, welches genau das mit nur drei Klicks ermöglicht. Stichwort: Copy Page To Versions!

Was ist Copy Page To Versions und was kann es?

Copy Page To Versions ist eine über GitHub zur Verfügung gestellte Erweiterung für den Content Editor und den Experience Editor. Diese ermöglicht es dem Autoren, über einen Dialog eine Sprachversion einer Seite auszuwählen, und diese inklusive den gepflegten Renderings und deren referenzierten Datasources in mehreren Sprachversionen anzulegen, bzw. diese zu kopieren.

copypagetoversions_content_editor_nav

copypagetoversions_experience_editor_nav

Mit dem ersten Klick auf den Copy Page To Versions-Button im Content Editor oder im Experience Editor, wird der Dialog für die Konfiguration des Kopiervorgangs geöffnet. Der Button steht jedoch nur zur Verfügung, wenn eine Sprachversion des selektierten Seiten-Items existiert, die kopiert werden kann.

copypagetoversions_dialog_options

Im Dialog können neben der Basis- und Ziel-Sprachen, verschiedene Optionen gewählt werden.

copypagetoversions_dialog_confirmation

Mit dem zweiten Klick in die Checkbox für die finale Bestätigung, wird der Copy Button aktiv.

Zuletzt wird mit dem dritten Klick auf den Copy Button der Kopierprozess angestossen. Eine abschliessende Browser Nachricht zeigt schliesslich den Erfolg des Kopiervorgangs an.

Et voilà! Die Seite existiert in den ausgewählten Zielsprachen.

Was passiert während dem Kopiervorgang?

Wenn keine Optionen gesetzt wurden passiert folgendes:

  1. Über den Copy Button werden die Formulardaten des Dialogs an den CopyPageToVersionsController übermittelt.
  2. Wenn der aktuelle User authentifiziert ist und wir uns im Master Datenbankcontext befinden, wird die CopyPageToVersions Pipeline angestossen mit den übermittelten Parametern.
  3. In der Pipeline werden im CopyPageToVersionsInputProcessor die Dialog Daten aufbereitet. Anschliessend werden im PageItemsAggregationProcessor alle auf der Seite verwendeten Datasource Items aggregiert, um schlussendlich im CopyPageToVersionsProcessor verarbeitet zu werden.
  4. Für jede Zielsprache wird eine Sprachversion angelegt und die Feldwerte kopiert. Wenn die Zielsprache schon existiert und ein Feld bereits befüllt ist, wird dieses übersprungen. Zudem werden auf dem Seiten Item die finalen Renderings für die Zielsprache kopiert oder wenn schon eine Existiert, gemerged.
  5. Wenn der Prozess beendet ist, wird ein Browser Fenster angezeigt in einer der folgenden Variationen:
    • Successfully copied page to versions!
    • Successfully copied page to versions with errors: ErrorMessages
    • An Error occured: ErrorMessages

Die Optionen ermöglichen es, das Kopier Tool auf verschiedenste Arten zu verwenden.

„Create only versions without copying field values“
Wenn diese Checkbox aktiviert ist, werden nur die Versionen angelegt von allen Seitenbezogenen Items und die finalen Renderings werden auf die Zielsprachversionen gemerged. Es werden keine Feldwerte kopiert. Das kann nützlich sein, wenn eine Seite manuell übersetzt werden soll, ohne vorbefüllten Content.

„Do not create versions for related items“
Wen diese Checkbox aktiviert ist, wird nur das Seiten Item Kopiert. D.h. die Zielsprache wird angelegt, die Feldwerte kopiert und die finalen Renderings werden gemerged. Das kann nützlich sein, wenn nur die finalen Renderings gemeged werden sollen.

„Force copy field values“
Wenn diese Checkbox aktiviert ist, werden alle Feldwerte von der Basissprache in der Zielsprache überschrieben, auch wenn bereits eine Version in der Zielsprache existiert, mit befüllten Feldern.

Konfiguration

Damit definiert werden kann, welche Templates für den Kopiervorgang überhaupt in frage kommen, gibt es ein Konfigurations-Item in Sitecore, wo die Filterung aktiviert werden kann und die Templates in eine Whitelist eingetragen werden können.

copypagetoversions_configuration

Installationsanleitung

Das Modul wurde für Sitecore 8.1 kompiliert und ist als Sitecore Package verfügbar.

Weitere Informationen und der dazugehörige Code ist auf GitHub zu finden unter dem folgenden Link:

https://github.com/namics/SitecoreCopyPageToVersions

Viel Spass beim Ausprobieren!

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

*

*

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>