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 nach dem Rollout gehandhabt und aufgelöst werden.
Wenn Konfliktseiten (in den Blueprint- und Live Copy-Zweigen) vorhanden sind, gestattet Ihnen MSM die Definition, wie (oder sogar ob) dieser Konflikt behoben werden soll.
Um sicherzustellen, dass der Rollout nicht gesperrt ist, können mögliche Definitionen Folgendes umfassen:
Das vorkonfigurierte Standardverhalten von AEM besteht darin, dass veröffentlichte Inhalte davon unbeeinflusst bleiben. Wenn also eine Seite, die im Live Copy-Zweig manuell erstellt wurde, veröffentlicht wurde, 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 Veröffentlichungsaktionen als einzelner Prozess zulassen.
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
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
/b
aktiviert, zusammen mit der untergeordneten SeiteBlueprint vor dem Rollout | Live Copy vor dem Rollout | Vor dem Rollout veröffentlichen | |
---|---|---|---|
Wert | b |
b |
b |
Kommentar | In der Blueprint-Verzweigung erstellt, bereit für den Rollout | Manuell in der Live Copy-Verzweigung erstellt | Enthält den Inhalt der Seite b , die in der Live Copy-Verzweigung manuell erstellt wurde |
Wert | /bp-level-1 |
/lc-level-1 |
/lc-level-1 |
Kommentar | Manuell in der Live Copy-Verzweigung erstellt | Enthält den Inhalt der Seite child-level-1 , die in der Live Copy-Verzweigung manuell erstellt wurde |
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.
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 (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:
ResourceNameRolloutConflictHandler
Der standardmäßige Konflikt-Handler ist ResourceNameRolloutConflictHandler
.
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 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.Blueprint nach dem Rollout | Live Copy nach dem Rollout | Live Copy nach dem Rollout | Nach dem Rollout veröffentlichen | |
---|---|---|---|---|
Wert | b |
b |
b_msm_moved |
b |
Kommentar | Enthält den Inhalt der Blueprint-Seite b , die beim Rollout verschoben wurde |
Enthält den Inhalt der Seite b , die in der Live Copy-Verzweigung manuell erstellt wurde |
Keine Änderung, enthält den Inhalt der Originalseite b , die manuell in der Live Copy-Verzweigung erstellt wurde und jetzt b_msm_moved heißt |
|
Wert | /bp-level-1 |
/bp-level-1 |
/lc-level-1 |
/lc-level-1 |
Kommentar | Keine Änderung | Keine Änderung |
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:
service.ranking
).
0
.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.
Bei Deaktivierung der Konfliktbehandlung gibt AEM keine Hinweise darauf, dass Konflikte ignoriert werden. Da dieses Verhalten in solchen Fällen explizit konfiguriert werden muss, wird davon ausgegangen, dass dies das gewünschte Verhalten ist.
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.
Blueprint nach dem Rollout | Live Copy nach dem Rollout | Nach dem Rollout veröffentlichen | |
---|---|---|---|
Wert | b |
b |
b |
Kommentar | Keine Änderung. Enthält den Inhalt der Seite b , die in der Live Copy-Verzweigung manuell erstellt wurde |
Keine Änderung. Enthält den Inhalt der Seite b , die in der Live Copy-Verzweigung manuell erstellt wurde |
|
Wert | /bp-level-1 |
/lc-level-1 |
/lc-level-1 |
Kommentar | Keine Änderung | Keine Änderung |
Die OSGi-Service-Rangfolge kann zum Definieren der Priorität von einzelnen Konflikt-Handlern verwendet werden.