MSM-utrullningskonflikter

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

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

I följande avsnitt använder vi exemplet med en ny sida b, som skapats både i grenen för utkast och live-kopia (skapas manuellt), för att illustrera de olika lösningmetoderna:

  • 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.

    • Aktiveras vid publicering som /b, tillsammans med den underordnade sidan.

Före utrullning

utkast före utrullning live copy före utrullning publicera före lansering
b
(skapat i en skissgren, klar för utrullning)
b
(skapat manuellt i en förgrening för live-kopia)
b
(innehåller innehållet på sidan b som skapades manuellt i den aktiva kopiegrenen)
/bp-level-1 /lc-level-1
(skapat manuellt i en förgrening för live-kopia)
/lc-level-1
(innehåller innehållet på sidan
underordnad nivå-1 som skapades manuellt i den aktiva kopiegrenen)

Utrullningshanteraren och konflikthantering

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

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:

  • standardkonflikthanteraren:

    • 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 konflikt

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 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 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

    Går ut till live-kopieringssidan /b.

    • bp-level-1 har rullats ut i livecopy.

Efter utrullning

skiss efter utrullning live copy efter utrullning
live copy efter utrullning


publicera efter lansering

b b
(har innehållet på den plana sidan b som lanserades)
b_msm_moved
(har innehållet på sidan b som skapades manuellt i den aktiva kopiegrenen)
b
(Ingen ändring.) innehåller innehållet på originalsidan b som skapades manuellt i den aktiva kopiegrenen och nu kallas b_msm_move)
/bp-level-1 /bp-level-1 /lc-level-1
(ingen ändring)
/lc-level-1
(ingen ändring)

Anpassade hanterare

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-konfigurationen; särskilt

    • Servicerangordning:

      Definierar ordningen som är relaterad till andra konflikthanterare ( service.ranking).

      Standardvärdet är 0.

Beteende vid konflikthantering inaktiverat

Om du manuellt inaktiverar konflikthantering utför AEM ingen åtgärd på sidor som står i konflikt (icke-motstridiga sidor rullas ut som förväntat).

FÖRSIKTIGHET

AEM ger ingen indikation på att konflikter ignoreras eftersom detta beteende måste konfigureras explicit, så det antas att det är det obligatoriska beteendet.

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.

  • skiss: /b

    Kopieras inte alls, men ignoreras.

  • live copy: /b

    Står detsamma.

Efter utrullning
skiss efter utrullning live copy efter utrullning


publicera efter lansering

b b
(Ingen ändring.) har innehållet på sidan b som skapades manuellt i den aktiva kopiegrenen)
b
(Ingen ändring.) innehåller innehållet på sidan b som skapades manuellt i den aktiva kopiegrenen)
/bp-level-1 /lc-level-1
(ingen ändring)
/lc-level-1
(ingen ändring)

Tjänstrankningar

Tjänstrankningen OSGi kan användas för att definiera prioriteten för enskilda konflikthanterare.

På denna sida