MSM-Rollout-Konflikte

Konflikte können auftreten, wenn neue Seiten mit demselben Seitennamen sowohl in der Blueprint-Verzweigung als auch in einer abhängigen Live Copy-Verzweigung erstellt werden.

Solche Konflikte müssen nach dem Rollout gehandhabt und aufgelöst werden.

Konfliktbehandlung

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:

  • Welche Seite (Blueprint oder Live Copy) während des Rollouts Vorrang 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, 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 den Standardfunktionen können benutzerdefinierte Konflikt-Handler hinzugefügt werden, um unterschiedliche Regeln zu implementieren. Diese können auch das Veröffentlichen von Aktionen als Einzelprozess gestatten.

Beispiel-Szenario

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

    Übergeordnet; mit 1 untergeordneter Seite, bp-level-1.

  • Live Copy: /b

    Eine Seite, die manuell in der Live Copy-Verzweigung erstellt wurde; mit 1 untergeordneter Seite, lc-level-1.

    • Aktiviert beim Veröffentlichen als /b zusammen mit der untergeordneten Seite.

Vor dem Rollout

Blueprint vor dem Rollout Live Copy vor der Veröffentlichung vor der Veröffentlichung veröffentlichen
b
(erstellt in der Blueprint-Verzweigung, bereit für die Einführung)
b
(manuell in einer Live-Kopie-Verzweigung erstellt)
b
(enthält den Inhalt der Seite b, der manuell in der Live-Kopie-Verzweigung erstellt wurde)
/bp-level-1 /lc-level-1
(manuell in einer Live-Kopie-Verzweigung erstellt)
/lc-level-1
(enthält den Inhalt der Seite
untergeordneter Ebene-1, die manuell in der Live Copy-Verzweigung erstellt wurde)

Rollout-Manager und Konfliktbehandlung

Mit dem Rollout-Manager können Sie das Konfliktmanagement aktivieren oder deaktivieren.

Dies erfolgt mithilfe der OSGi-Konfiguration von Day CQ WCM Rollout Manager:

  • Beheben Sie Konflikte mit manuell erstellten Seiten:

    ( rolloutmgr.conflicthandling.enabled)

    Auf "true"setzen, wenn der Rollout-Manager Konflikte von einer Seite behandeln soll, die in der Live-Kopie mit einem Namen erstellt wurde, der im Entwurf vorhanden ist.

AEM verfügt über ein vordefiniertes Verhalten, wenn das Konfliktmanagement deaktiviert wurde.

Konflikt-Handler

AEM nutzt Konflikt-Handler zum Lösen von Seitenkonflikten, die beim Rollout von Inhalten von einem Blueprint zu einer Live Copy vorliegen. Das Umbenennen von Seiten ist ein (das übliche) Verfahren zum Beheben derartiger Konflikte. Mehrere Konflikt-Handler können aktiv sein, um eine Reihe verschiedener Verhaltensweisen zu ermöglichen.

AEM stellt Folgendes bereit:

Standard-Konflikt-Handler

Der Standard-Konflikt-Handler:

  • Wird als ResourceNameRolloutConflictHandler bezeichnet

  • Mit diesem Handler hat die Blueprint-Seite Vorrang.

  • Die Dienstrangliste für diesen Handler ist niedrig ("d.h. unter dem Standardwert für die service.ranking-Eigenschaft), da davon ausgegangen wird, dass benutzerdefinierte Handler eine höhere Rangfolge benötigen. Allerdings ist das Ranking nicht das absolute Minimum, um bei Bedarf Flexibilität zu gewährleisten.

Dieser Konflikt-Handler gibt dem Blueprint Vorrang. Die Live Copy-Seite /b wird (innerhalb der Live Copy-Verzweigung) nach /b_msm_moved verschoben.

  • Live Copy: /b

    Wird (innerhalb der Live-Kopie) nach /b_msm_moved verschoben. Dies dient als Sicherung und stellt sicher, dass keine Inhalte verloren gehen.

    • lc-level-1 nicht verschoben.
  • Blueprint: /b

    Wird auf die Live-Kopierseite /b Rollout ausgeführt.

    • bp-level-1 wird beim Rollout auf die Live Copy-Seite verschoben.

Nach dem Rollout

Blueprint nach dem Rollout Live Copy nach der Aktualisierung
Live Copy nach der Aktualisierung


nach der Veröffentlichung veröffentlichen

b b
(hat den Inhalt der Seite "Blueprint b", auf der das Rolout erfolgte)
b_msm_moved
(hat den Inhalt der Seite b, der manuell in der Live Copy-Verzweigung erstellt wurde)
b
(keine Änderung; enthält den Inhalt der Originalseite b, der manuell in der Live-Kopie-Verzweigung erstellt wurde und jetzt "b_msm_move"heißt)
/bp-level-1 /bp-level-1 /lc-level-1
(keine Änderung)
/lc-level-1
(keine Änderung)

Angepasste Handler

Mit angepassten Konflikt-Handlern können Sie Ihre eigenen Regeln implementieren. Mit dem Service-Ranking-Mechanismus können Sie zudem festlegen, wie sie mit anderen Handlern interagieren.

Benutzerdefinierte Konflikt-Handler können:

  • gemäß Ihren Anforderungen benannt werden; "

  • gemäß Ihren Anforderungen entwickelt/konfiguriert werden. Beispiel: Sie können einen Handler entwickeln, sodass die Live Copy-Seite Vorrang erhält.

  • so konzipiert sein, dass die Konfiguration unter Verwendung der OSGi-Konfiguration erfolgt; insbesondere gilt:

    • Dienstpriorität:

      Definiert die Reihenfolge für andere Konflikthandler ( service.ranking).

      Der Standardwert ist 0.

Verhalten, wenn die Konflikt-Behandlung deaktiviert ist

Wenn Sie die Konfliktbehebung manuell deaktivieren, ergreift AEM auf keiner der Konfliktseiten Maßnahmen (das Rollout von nicht im Konflikt befindlichen Seiten erfolgt erwartungsgemäß).

VORSICHT

AEM zeigt nicht an, dass Konflikte ignoriert werden, da dieses Verhalten explizit konfiguriert werden muss. Daher wird davon ausgegangen, dass dies das erforderliche 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, wird aber ignoriert.

  • Live Copy: /b

    Steht gleich.

Nach dem Rollout
Blueprint nach dem Rollout Live Copy nach der Aktualisierung


nach der Veröffentlichung veröffentlichen

b b
(keine Änderung; hat den Inhalt der Seite b, der manuell in der Live-Kopie-Verzweigung erstellt wurde)
b
(keine Änderung; enthält den Inhalt der Seite b, der manuell in der Live-Kopie-Verzweigung erstellt wurde)
/bp-level-1 /lc-level-1
(keine Änderung)
/lc-level-1
(keine Änderung)

Service-Rankings

Das OSGi-Service-Ranking kann zum Definieren der Priorität von einzelnen Konflikt-Handlern verwendet werden.

Auf dieser Seite