Show Menu
ARGOMENTI×

Conflitti tra rollout MSM

Possono verificarsi conflitti se vengono create nuove pagine con lo stesso nome di pagina sia nel ramo blueprint che in un ramo Live Copy dipendente.
Tali conflitti devono essere gestiti e risolti al momento dell'implementazione.

Gestione dei conflitti

In presenza di pagine in conflitto (nelle diramazioni blueprint e Live Copy), MSM consente di definire come (o anche se) devono essere gestite.
Per garantire che il rollout non sia bloccato, le possibili definizioni possono includere:
  • quale pagina (blueprint o live copy) avrà priorità durante l’implementazione,
  • quali pagine verranno rinominate (e come),
  • come questo influirà su qualsiasi contenuto pubblicato.
    Il comportamento predefinito di AEM (out-of-the-box) consiste nel fatto che il contenuto pubblicato non verrà influenzato. Pertanto, se una pagina creata manualmente nel ramo Live Copy è stata pubblicata, il contenuto sarà ancora pubblicato dopo la gestione dei conflitti e l'implementazione.
Oltre alla funzionalità standard, è possibile aggiungere gestori di conflitti personalizzati per implementare regole diverse. Possono inoltre consentire la pubblicazione di azioni come un singolo processo.

Esempio

Nelle sezioni seguenti viene illustrato l’esempio di una nuova pagina b , creata sia nella blueprint che nel ramo Live Copy (creata manualmente), per illustrare i vari metodi di risoluzione dei conflitti:
  • blueprint: /b
    Una pagina master; con 1 pagina figlia, bp-level-1.
  • live copy: /b
    Una pagina creata manualmente nel ramo Live Copy; con 1 pagina figlia, lc-level-1 .
    • Attivato alla pubblicazione come /b , insieme alla pagina figlia.
Prima del rollout
blueprint prima del rollout live copy prima del rollout pubblica prima del rollout
b (creato in ramo blueprint, pronto per il rollout) b (creato manualmente nel ramo Live Copy) b (contiene il contenuto della pagina b che è stata creata manualmente nel ramo Live Copy)
/bp-level-1 /lc-level-1 (creato manualmente nel ramo Live Copy) /lc-level-1 (contiene il contenuto della pagina di livello secondario 1 creata manualmente nel ramo Live Copy)

Gestione rollout e gestione dei conflitti

Il manager rollout consente di attivare o disattivare la gestione dei conflitti.
Questa operazione viene eseguita utilizzando la configurazione Configurazione di OSGi OSGi di Day CQ WCM Rollout Manager :
  • Gestione dei conflitti con le pagine create manualmente:
    ( rolloutmgr.conflicthandling.enabled )
    Impostato su true se il manager del rollout deve gestire i conflitti da una pagina creata nella Live Copy con un nome esistente nel blueprint.

Gestori dei conflitti

AEM utilizza gestori di conflitti per risolvere eventuali conflitti di pagina esistenti durante il rollout di contenuti da un blueprint a una live copy. La ridenominazione delle pagine è uno dei metodi più comuni per risolvere tali conflitti. Possono essere operativi più gestori di conflitti per consentire una selezione di comportamenti diversi.
AEM fornisce:
  • Il gestore di conflitti predefinito:
    • ResourceNameRolloutConflictHandler
  • Possibilità di implementare un gestore Gestori personalizzati personalizzato.
  • Meccanismo di classificazione del servizio che consente di impostare la priorità di ogni singolo gestore. Viene utilizzato il servizio con la classificazione più alta.

Gestore conflitti predefinito

Il gestore di conflitti predefinito:
  • È chiamato ResourceNameRolloutConflictHandler
  • Con questo gestore, la pagina di blueprint ha la precedenza.
  • La classificazione del servizio per questo gestore è impostata su bassa ( "es. sotto il valore predefinito per la service.ranking proprietà), in quanto si presuppone che i gestori personalizzati necessitino di una classificazione più elevata. Tuttavia, la classifica non è il minimo assoluto per garantire la flessibilità quando necessario.
Questo gestore di conflitti ha la precedenza sul modello. La pagina Live Copy /b viene spostata (all'interno del ramo Live Copy) in /b_msm_moved .
  • live copy: /b
    Viene spostato (all’interno della Live Copy) in /b_msm_moved . Questo funge da backup e assicura che non venga perso alcun contenuto.
    • lc-level-1 non viene spostato.
  • blueprint: /b
    Viene eseguito il rollout nella pagina Live Copy /b .
    • bp-level-1 viene implementato nella Live Copy.
Dopo l'implementazione
blueprint dopo il rollout live copy after rollout live copy after rollout pubblica dopo il rollout
b b (contiene il contenuto della pagina blueprint b che è stata implementata) b_msm_moved (contiene il contenuto della pagina b che è stata creata manualmente nel ramo Live Copy) b (nessuna modifica; contiene il contenuto della pagina originale b che è stata creata manualmente nel ramo Live Copy ed è ora denominata b_msm_move)
/bp-level-1 /bp-level-1 /lc-level-1 (nessuna modifica) /lc-level-1 (nessuna modifica)

Gestori personalizzati

I gestori di conflitti personalizzati consentono di implementare le proprie regole. Il meccanismo di classificazione del servizio consente inoltre di definire il modo in cui interagiscono con altri gestori.
I gestori di conflitti personalizzati possono:
  • Assegnate un nome in base alle vostre esigenze.
  • essere sviluppati/configurati in base alle vostre esigenze; ad esempio, è possibile sviluppare un gestore in modo che la pagina Live Copy abbia la precedenza.
  • può essere progettato per essere configurato utilizzando la configurazione Configurazione di OSGi OSGi; in particolare:
    • Classificazione servizio:
      Definisce l'ordine relativo ad altri gestori di conflitti ( service.ranking ).
      Il valore predefinito è 0.

Comportamento quando la gestione dei conflitti è disattivata

Se disattivate manualmente la gestione dei conflitti, AEM non esegue alcuna azione su alcuna pagina in conflitto (le pagine non in conflitto vengono distribuite come previsto).
AEM non fornisce alcuna indicazione del fatto che i conflitti vengono ignorati in quanto questo comportamento deve essere configurato in modo esplicito, pertanto si presume che sia il comportamento richiesto.
In questo caso la Live Copy ha la precedenza. La pagina blueprint non /b viene copiata e la pagina Live Copy non /b viene toccata.
  • blueprint: /b
    Non viene copiato, ma viene ignorato.
  • live copy: /b
    Resta lo stesso.

Dopo l'implementazione

blueprint dopo il rollout live copy after rollout pubblica dopo il rollout
b b (nessuna modifica; ha il contenuto della pagina b che è stata creata manualmente nel ramo Live Copy) b (nessuna modifica; contiene il contenuto della pagina b che è stata creata manualmente nel ramo Live Copy)
/bp-level-1 /lc-level-1 (nessuna modifica) /lc-level-1 (nessuna modifica)

Classificazioni di servizio

La classificazione del servizio OSGi può essere utilizzata per definire la priorità dei singoli gestori di conflitti.