Conflitti di rollout MSM msm-rollout-conflicts
Possono verificarsi conflitti se nuove pagine con lo stesso nome vengono create sia nel ramo blueprint che in un ramo Live Copy dipendente.
Tali conflitti devono essere gestiti e risolti al momento del rollout.
Gestione dei conflitti conflict-handling
Quando esistono delle pagine in conflitto (nei rami blueprint e Live Copy), MSM ti consente di definire come (o anche se) devono essere gestite.
Per garantire che il rollout non sia bloccato, le definizioni possibili possono includere:
-
quale pagina (blueprint o live copy) ha la priorità durante il rollout,
-
quali pagine vengono rinominate (e come),
-
come questo influisce su qualsiasi contenuto pubblicato.
Il comportamento predefinito di Adobe Experience Manager (AEM) è che il contenuto pubblicato non è interessato. Pertanto, se una pagina creata manualmente nel ramo Live Copy è stata pubblicata, il contenuto viene comunque pubblicato dopo la gestione e il rollout dei conflitti.
Oltre alla funzionalità standard, è possibile aggiungere gestori di conflitti personalizzati per implementare regole diverse. Questi possono anche consentire la pubblicazione di azioni come un singolo processo.
Esempio di scenario example-scenario
Nelle sezioni seguenti è necessario utilizzare l'esempio di una nuova pagina b
, creata sia nel ramo blueprint che Live Copy (creata manualmente), per illustrare i vari metodi di risoluzione dei conflitti:
-
blueprint:
/b
Una pagina master; con una pagina figlio, bp-level-1.
-
live copy:
/b
Pagina creata manualmente nel ramo Live Copy; con una pagina figlio,
lc-level-1
.- Attivato al momento della pubblicazione come
/b
, insieme alla pagina figlio.
- Attivato al momento della pubblicazione come
Prima del rollout
Gestione rollout e gestione dei conflitti rollout-manager-and-conflict-handling
La gestione del rollout consente di attivare o disattivare la gestione dei conflitti.
Questa operazione viene eseguita utilizzando Configurazione OSGi di Day CQ WCM Rollout Manager:
-
Gestire i conflitti con le pagine create manualmente:
(
rolloutmgr.conflicthandling.enabled
)Impostato su true se il gestore di rollout deve gestire i conflitti da una pagina creata nella Live Copy con un nome esistente nella blueprint.
L'AEM ha comportamento predefinito quando la gestione dei conflitti è stata disattivata.
Gestori dei conflitti conflict-handlers
L’AEM utilizza gestori di conflitti per risolvere eventuali conflitti di pagina esistenti durante il rollout del contenuto da blueprint a Live Copy. La ridenominazione delle pagine è uno dei metodi più comuni per risolvere tali conflitti. Per consentire la selezione di diversi comportamenti, è possibile utilizzare più gestori di conflitti.
AEM fornisce:
-
Il gestore di conflitti predefinito:
ResourceNameRolloutConflictHandler
-
Possibilità di implementare un gestore 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 dei conflitti predefinito default-conflict-handler
Il gestore di conflitti predefinito:
-
Si chiama
ResourceNameRolloutConflictHandler
-
Con questo gestore, la pagina blueprint ha la precedenza.
-
La classificazione del servizio per questo gestore è impostata su bassa (ovvero al di sotto del valore predefinito per la proprietà
service.ranking
) poiché si presume che i gestori personalizzati richiedano una classificazione più elevata. Tuttavia, la classificazione non è il valore minimo assoluto per garantire flessibilità quando necessario.
Questo gestore di conflitti ha la precedenza sulla blueprint. La pagina Live Copy /b
è stata spostata (nel 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 distribuito alla pagina Live Copy
/b
.- Rollout di
bp-level-1
nella Live Copy eseguito.
- Rollout di
Dopo Rollout
Gestori personalizzati customized-handlers
I gestori di conflitti personalizzati ti consentono di implementare regole personalizzate. Utilizzando il meccanismo di classificazione del servizio è inoltre possibile definire il modo in cui interagiscono con altri gestori.
I gestori di conflitti personalizzati possono disporre dei seguenti elementi:
-
Nome in base alle tue esigenze.
-
Sviluppato/configurato in base alle tue esigenze; ad esempio, puoi sviluppare un gestore in modo che la pagina Live Copy abbia la precedenza.
-
Progettato per essere configurato utilizzando la configurazione OSGi; in particolare:
-
Classifica dei servizi:
Definisce l'ordine relativo ad altri gestori di conflitti (
service.ranking
).Il valore predefinito è 0.
-
Comportamento quando la gestione dei conflitti è disattivata behavior-when-conflict-handling-deactivated
Se disattivi manualmente la gestione dei conflitti, l'AEM non intraprenderà alcuna azione su alcuna pagina in conflitto (le pagine non in conflitto vengono distribuite come previsto).
In questo caso, la Live Copy ha effettivamente la precedenza. La pagina blueprint /b
non viene copiata e la pagina Live Copy /b
viene lasciata intatta.
-
blueprint:
/b
Non viene copiato, ma viene ignorato.
-
live copy:
/b
Lo stesso.
Classificazioni di servizio service-rankings
La classificazione del servizio OSGi può essere utilizzata per definire la priorità dei singoli gestori di conflitti.