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 med MSM 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 ska ha prioritet under utrullningen,
-
vilka sidor som ska namnändras (och hur),
-
hur detta påverkar publicerat innehåll.
Standardbeteendet för AEM (färdiga) är att publicerat innehåll inte påverkas. Om en sida som skapades manuellt i en livekopiegren har publicerats kommer det 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 använder vi exemplet på en ny sida b
, som har skapats både i utkast och live copy-förgreningen (skapas manuellt), för att illustrera olika metoder för konfliktlösning:
-
skiss:
/b
En överordnad sida; med 1 underordnad sida, bp-level-1.
-
live copy:
/b
En sida som har skapats manuellt i den aktiva kopiegrenen; med 1 underordnad sida,
lc-level-1
.- Aktiverat vid publicering som
/b
tillsammans med den underordnade sidan.
- Aktiverat 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-konfiguration av Day CQ WCM Rollout Manager:
-
Hantera konflikt 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:
-
The standardkonflikthanterare:
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
ResourceNameRolloutConflictHandler
-
Med den här hanteraren får plantryckssidan företräde.
-
Tjänstrankningen för hanteraren är låg ("dvs. under standardvärdet för
service.ranking
egenskapen) 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. Live copy-sidan /b
flyttas (inom den aktiva kopiegrenen) till /b_msm_moved
.
-
live copy:
/b
Flyttas (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.
-
skiss:
/b
Är utrullad till live-kopieringssidan
/b
.bp-level-1
har rullats ut i livecopy.
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:
-
Namnge efter behov. "
-
utvecklas/konfigureras enligt dina krav, Du kan t.ex. utveckla en hanterare så att den aktiva kopieringssidan ges företräde.
-
Kan konfigureras med OSGi-konfiguration; särskilt
-
Servicerangordning:
Definierar ordningen för andra konflikthanterare (
service.ranking
).Standardvärdet är 0.
-
Beteende vid inaktiverad konflikthantering behavior-when-conflict-handling-deactivated
Om du manuellt inaktivera konflikthantering AEM utför ingen åtgärd på sidor som ä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. Planeringssidan /b
kopieras inte och live-kopieringssidan /b
lämnas orörd.
-
skiss:
/b
Kopieras inte alls, men ignoreras.
-
live copy:
/b
Står detsamma.
Servicerangordning service-rankings
The OSGi rankning kan användas för att definiera prioriteten för enskilda konflikthanterare.