MSM-Rollout-Konflikte msm-rollout-conflicts
Konflikte sind möglich, wenn neue Seiten mit demselben Seitennamen im Blueprint-Zweig und in einer abhängigen Live Copy-Verzweigung erstellt werden.
Solche Konflikte müssen beim Rollout gehandhabt und aufgelöst werden.
Konfliktbehandlung conflict-handling
Wenn in Konflikt stehende Seiten vorhanden sind (in den Blueprint- und Live Copy-Verzweigungen), können Sie mit MSM definieren, wie diese verarbeitet werden sollen (oder auch wenn dies der Fall ist).
Um sicherzustellen, dass der Rollout nicht gesperrt ist, können mögliche Definitionen Folgendes umfassen:
-
welche Seite (Blueprint oder Live Copy) beim Rollout Priorität hat,
-
Welche Seiten umbenannt werden (und wie)
-
Wie dies jeglichen veröffentlichten Inhalt beeinflusst
Das Standardverhalten von AEM (Out-of-the-Box) besteht darin, dass veröffentlichte Inhalte davon unbeeinflusst bleiben. Wenn also eine Seite veröffentlicht wurde, die manuell im Live Copy-Zweig erstellt wurde, wird dieser Inhalt nach der Konfliktbehandlung und dem Rollout weiterhin veröffentlicht.
Neben der Standardfunktion können auch benutzerdefinierte Konflikt-Handler hinzugefügt werden, um verschiedene Regeln zu implementieren. Diese können auch Veröffentlichungsaktionen als einzelner Prozess zulassen.
Beispiel-Szenario example-scenario
In den folgenden Abschnitten werden wir zum Veranschaulichen der verschiedenen Verfahren zur Konfliktbewältigung das Beispiel einer neuen Seite b
verwenden, die sowohl im Blueprint- als auch im Live Copy-Zweig (manuell) erstellt wurde:
-
Blueprint:
/b
Primäre Seite mit 1 untergeordneten Seite, bp-level-1.
-
Live Copy:
/b
Eine im Live Copy-Zweig manuell erstellte Seite mit 1 untergeordneten Seite,
lc-level-1
.- Bei Veröffentlichung als
/b
aktiviert, zusammen mit der untergeordneten Seite.
- Bei Veröffentlichung als
Vor dem Rollout
Rollout-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:
-
So können Sie einen Konflikt mit manuell erstellten Seiten beheben:
(
rolloutmgr.conflicthandling.enabled
)Legen Sie 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 eine (übliche) Methode zur Lösung solcher Konflikte. Es können mehrere Konflikt-Handler verwendet werden, um eine Auswahl verschiedener Verhaltensweisen zu ermöglichen.
AEM bietet:
-
Die Standard-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:
-
Heißt
ResourceNameRolloutConflictHandler
-
Mit diesem Handler hat die Blueprint-Seite Vorrang.
-
Das Service-Ranking für diesen Handler wurde als niedrig festgelegt (d. h. unterhalb des Standardwerts für die Eigenschaft
service.ranking
), da davon ausgegangen wird, dass benutzerdefinierte Handler ein höheres Ranking benötigen. Das Ranking ist jedoch 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 (innerhalb der Live Copy-Verzweigung) 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 auf die Live Copy-Seite verschoben.
Nach dem Rollout
Angepasste Handler customized-handlers
Mit benutzerdefinierten Konflikt-Handlern können Sie Ihre eigenen Regeln implementieren. Mit dem Service-Ranking-Mechanismus können Sie auch definieren, wie sie mit anderen Handlern interagieren.
Benutzerdefinierte Konflikt-Handler können:
-
gemäß Ihren Anforderungen benannt werden; ``
-
entsprechend Ihren Anforderungen entwickelt/konfiguriert werden; Sie können beispielsweise einen Handler entwickeln, der der Live Copy-Seite Vorrang einräumt.
-
Kann für die Konfiguration mit dem OSGi-Konfiguration; insbesondere
-
Dienstpriorität:
Bestimmt die Reihenfolge in Bezug auf andere Konflikt-Handler (
service.ranking
).Der Standardwert ist 0.
-
Verhalten bei deaktivierter Konfliktbehandlung behavior-when-conflict-handling-deactivated
Wenn Sie manuell Deaktivieren der Konfliktbehandlung AEM keine Maßnahmen auf Konfliktseiten ergreifen (nicht widersprüchliche Seiten werden erwartungsgemäß bereitgestellt).
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.
Service-Rangfolge service-rankings
Die OSGi-Service-Rangfolge kann zum Definieren der Priorität von einzelnen Konflikt-Handlern verwendet werden.