Rollout-Konflikte msm-rollout-conflicts
Konflikte sind möglich, wenn neue Seiten mit demselben Seitennamen im Blueprint-Zweig und in einem abhängigen Live Copy-Zweig erstellt werden. Solche Konflikte müssen beim Rollout gehandhabt und gelöst werden.
Konfliktbehandlung conflict-handling
Wenn Konfliktseiten (in den Blueprint- und Live Copy-Zweigen) vorhanden sind, ermöglicht Ihnen MSM die Definition, wie (oder ob überhaupt) dieser Konflikt gelöst werden soll.
Um sicherzustellen, dass der Rollout nicht gesperrt ist, können mögliche Definitionen Folgendes umfassen:
- Welche Seite (Blueprint oder Live Copy) während des Rollouts Vorrang hat
- Welche Seiten werden umbenannt und wie
- Wie sich dies auf veröffentlichte Inhalte auswirkt
Das Standardverhalten des vorkonfigurierten Adobe Experience Manager (AEM) sieht vor, dass veröffentlichte Inhalte nicht beeinträchtigt werden. Wenn also eine Seite, die im Live Copy-Zweig manuell erstellt wurde, veröffentlicht worden ist, wird dieser Inhalt nach der Konfliktbehandlung und dem Rollout auch weiterhin veröffentlicht.
Neben der Standardfunktion können auch benutzerdefinierte Konflikt-Handler hinzugefügt werden, um verschiedene Regeln zu implementieren. Diese können auch die Veröffentlichung von Aktionen als individuellen Prozess ermöglichen.
Beispiel-Szenario example-scenario
In den folgenden Abschnitten wird ein Beispiel für eine neue Seite b
verwendet, die sowohl im Blueprint als auch im Live Copy-Zweig (manuell) erstellt wurde, um die verschiedenen Methoden der Konfliktlösung zu veranschaulichen:
-
Blueprint:
/b
Eine Hauptseite mit einer untergeordneten Seite,
bp-level-1
-
Live Copy:
/b
Eine im Live Copy-Zweig manuell erstellte Seite; mit einer untergeordneten Seite,
lc-level-1
- Bei Veröffentlichung als
/b
aktiviert, zusammen mit der untergeordneten Seite
- Bei Veröffentlichung als
Vor dem Rollout before-rollout
b
b
b
b
, die in der Live Copy-Verzweigung manuell erstellt wurde/bp-level-1
/lc-level-1
/lc-level-1
child-level-1
, die in der Live Copy-Verzweigung manuell erstellt wurdeRollout-Manager und Konfliktbehandlung rollout-manager-and-conflict-handling
Mit dem Rollout-Manager können Sie das Konflikt-Management aktivieren oder deaktivieren.
Dies erfolgt mithilfe der OSGi-Konfiguration von Day CQ WCM Rollout Manager. Legen Sie den Wert Konflikt mit manuell erstellten Seiten beheben (rolloutmgr.conflicthandling.enabled
) auf „true“ fest, wenn der Rollout-Manager Konflikte von einer Seite bewältigen soll, die in der Live Copy mit einem in der Blueprint vorhandenen Namen erstellt wurde.
AEM verfügt über ein vordefiniertes Verhalten, wenn das Konflikt-Management deaktiviert wurde.
Konflikt-Handler conflict-handlers
AEM nutzt Konflikt-Handler zum Lösen von Seitenkonflikten, die beim Rollout von Inhalten von einer Blueprint zu einer Live Copy vorliegen. Das Umbenennen von Seiten ist die übliche (aber nicht die einzige) Methode, um solche Konflikte zu lösen. Es können mehrere Konflikt-Handler verwendet werden, um eine Auswahl verschiedener Verhaltensweisen zu ermöglichen.
AEM bietet:
- Den standardmäßigen Konflikt-Handler:
ResourceNameRolloutConflictHandler
- Die Möglichkeit, einen benutzerdefinierten Handler zu implementieren
- Den Service-Ranking-Mechanismus, mit dem Sie die Priorität jedes einzelnen Handlers festlegen können
- Der Service mit dem höchsten Ranking wird verwendet.
Standard-Konflikt-Handler default-conflict-handler
Der standardmäßige Konflikt-Handler ist ResourceNameRolloutConflictHandler
.
- Mit diesem Handler hat die Blueprint-Seite Vorrang.
- Das Service-Ranking für diesen Handler ist niedrig eingestellt. Das heißt, unterhalb des Standardwerts für die Eigenschaft
service.ranking
, weil man davon ausgeht, dass kundenspezifische Handler ein höheres Ranking benötigen. Allerdings ist das Ranking nicht das absolute Minimum, um bei Bedarf Flexibilität zu gewährleisten.
Dieser Konflikt-Handler hat Vorrang vor dem Blueprint. Die Live Copy-Seite /b
wird beispielsweise innerhalb des Live Copy-Zweiges nach /b_msm_moved
verschoben.
-
Live Copy:
/b
wird innerhalb der Live Copy nach
/b_msm_moved
verschoben. Dies dient als Sicherung und stellt sicher, dass keine Inhalte verloren gehen.lc-level-1
wird nicht verschoben.
-
Blueprint:
/b
wird beim Rollout auf die Live Copy-Seite
/b
verschoben.bp-level-1
wird beim Rollout zur Live Copy verschoben.
Nach dem Rollout after-rollout
b
b
b_msm_moved
b
b
, die beim Rollout verschoben wurdeb
, die in der Live Copy-Verzweigung manuell erstellt wurdeb
, die manuell im Live Copy-Zweig erstellt wurde und jetzt b_msm_moved
heißt/bp-level-1
/bp-level-1
/lc-level-1
/lc-level-1
Angepasste Handler customized-handlers
Mit benutzerdefinierten Konflikt-Handlern können Sie Ihre eigenen Regeln implementieren. Mit dem Mechanismus des Service-Rankings können Sie auch festlegen, wie sie mit anderen Handlern interagieren.
Benutzerdefinierte Konflikt-Handler können:
- gemäß Ihren Anforderungen benannt werden;
- gemäß Ihren Anforderungen entwickelt/konfiguriert werden.
- Sie können beispielsweise einen Handler entwickeln, der der Live Copy-Seite Vorrang einräumt.
- Er kann mithilfe der OSGi-Konfiguration konfiguriert werden. Insbesondere:
- Das Service-Ranking legt die Reihenfolge in Bezug auf die anderen Konflikt-Handler fest (
service.ranking
).- Der Standardwert ist
0
.
- Der Standardwert ist
- Das Service-Ranking legt die Reihenfolge in Bezug auf die anderen Konflikt-Handler fest (
Verhalten, wenn die Konflikt-Behandlung deaktiviert ist behavior-when-conflict-handling-deactivated
Wenn Sie die Konfliktbehandlung manuell deaktivieren, führt AEM keine Maßnahmen für konfliktbehaftete Seiten durch. Für Seiten, die keine Konflikte aufweisen, wird der Rollout erwartungsgemäß durchgeführt.
In diesem Fall hat die Live Copy effektiv Vorrang. Die Blueprint-Seite /b
wird nicht kopiert und die Live Copy-Seite /b
bleibt unberührt.
-
Blueprint:
/b
Wird überhaupt nicht kopiert, sondern ignoriert.
-
Live Copy:
/b
Bleibt gleich.
Nach dem Rollout after-rollout-no-conflict
b
b
b
b
, die im Live Copy-Zweig manuell erstellt wurdeb
, die im Live Copy-Zweig manuell erstellt wurde/bp-level-1,
/lc-level-1
/lc-level-1
Service-Rangfolge service-rankings
Die OSGi-Service-Rangfolge kann zum Definieren der Priorität von einzelnen Konflikt-Handlern verwendet werden.