MSM-utrullningskonflikter msm-rollout-conflicts
Konflikter kan uppstå om nya sidor med samma sidnamn skapas både i den blå grenen och i en beroende livekopiegren.
Sådana konflikter måste hanteras och lösas vid utrullning.
Konflikthantering conflict-handling
När det finns sidor som är i konflikt (i grenarna utkast och live copy) kan du definiera hur (eller till och med om) de ska hanteras.
För att säkerställa att utrullningen inte blockeras kan möjliga definitioner omfatta:
-
vilken sida (utkast eller live-kopia) som har prioritet under utrullningen,
-
vilka sidor som har bytt namn (och hur),
-
hur detta påverkar publicerat innehåll.
Standardbeteendet för Adobe Experience Manager (AEM) (färdigt) är att publicerat innehåll inte påverkas. Om en sida som skapades manuellt i en livekopiegren har publicerats, kommer innehållet fortfarande att publiceras efter konflikthanteringen och utrullningen.
Förutom standardfunktionerna kan anpassade konflikthanterare läggas till för att implementera olika regler. Detta kan även möjliggöra publiceringsåtgärder som en enskild process.
Exempelscenario example-scenario
I följande avsnitt måste du använda exemplet på en ny sida, b
, som har skapats både i grenen för utkast och live-kopia (som har skapats manuellt), för att illustrera olika metoder för konfliktlösning:
-
utkast:
/b
En mallsida, med en underordnad sida, bp-level-1.
-
live-kopia:
/b
En sida som skapats manuellt i livekopieringsgrenen, med en underordnad sida,
lc-level-1
.- Aktiverad vid publicering som
/b
, tillsammans med den underordnade sidan.
- Aktiverad vid publicering som
Före utrullning
Utrullningshanteraren och konflikthantering rollout-manager-and-conflict-handling
Med utrullningshanteraren kan du aktivera eller inaktivera konflikthantering.
Detta görs med OSGi-konfigurationen av Day CQ WCM Rollout Manager:
-
Hantera konflikter med manuellt skapade sidor:
(
rolloutmgr.conflicthandling.enabled
)Ange som true om rullningshanteraren ska hantera konflikter från en sida som skapats i live-kopian med ett namn som finns i ritningen.
AEM har fördefinierat beteende när konflikthantering har inaktiverats.
Konflikthanterare conflict-handlers
AEM använder konflikthanterare för att lösa eventuella sidkonflikter som uppstår när innehåll distribueras från en ritning till en live-kopia. Att byta namn på sidor är en (vanlig) metod för att lösa sådana konflikter. Mer än en konflikthanterare kan vara användbar för att tillåta ett urval av olika beteenden.
AEM tillhandahåller:
-
ResourceNameRolloutConflictHandler
-
Möjligheten att implementera en anpassad hanterare.
-
Den rangordningsmekanism som gör att du kan ange prioriteten för varje enskild hanterare. Tjänsten med högst rankning används.
Standardhanterare för konflikter default-conflict-handler
Standardkonflikthanteraren:
-
Anropas till
ResourceNameRolloutConflictHandler
-
Med den här hanteraren får plantryckssidan företräde.
-
Tjänstrankningen för den här hanteraren är låg (d.v.s. under standardvärdet för egenskapen
service.ranking
) eftersom antagandet är att anpassade hanterare behöver en högre rankning. Rankningen är dock inte den absolut minsta nivån för att garantera flexibilitet vid behov.
Den här konflikthanteraren ger prioritet åt ritningen. Den aktiva kopieringssidan /b
har flyttats (inom den aktiva kopiegrenen) till /b_msm_moved
.
-
live-kopia:
/b
Har flyttats (inom den aktiva kopian) till
/b_msm_moved
. Detta fungerar som en säkerhetskopia och säkerställer att inget innehåll går förlorat.lc-level-1
flyttas inte.
-
utkast:
/b
Har introducerats på live-kopieringssidan
/b
.bp-level-1
har rullats ut till live-kopian.
Efter utrullning
Anpassade hanterare customized-handlers
Med anpassade konflikthanterare kan du implementera egna regler. Med servicerangordningsmekanismen kan du även definiera hur de interagerar med andra hanterare.
Anpassade konflikthanterare kan ha följande:
-
Namngivna enligt dina önskemål.
-
Utvecklas/konfigureras enligt dina krav. Du kan t.ex. utveckla en hanterare så att den aktiva kopieringssidan ges företräde.
-
Utformad för att konfigureras med OSGi-konfigurationen, särskilt:
-
Servicerankning:
Definierar ordningen som är relaterad till andra konflikthanterare (
service.ranking
).Standardvärdet är 0.
-
Beteende vid inaktiverad konflikthantering behavior-when-conflict-handling-deactivated
Om du inaktiverar konflikthantering manuellt utför AEM ingen åtgärd på sidor som står i konflikt (sidor som inte är i konflikt rullas ut som förväntat).
I det här fallet har live-kopian företräde. Den blå sidan /b
kopieras inte och den aktiva kopieringssidan /b
lämnas orörd.
-
utkast:
/b
Inte kopierat alls, men ignoreras.
-
live-kopia:
/b
Samma.
Servicerangordning service-rankings
Tjänstrankningen OSGi kan användas för att definiera prioriteten för enskilda konflikthanterare.