Conflitos de implantação msm-rollout-conflicts
Conflitos podem ocorrer se novas páginas com o mesmo nome de página forem criadas na ramificação do blueprint e em uma ramificação dependente da Live Copy. Esses conflitos devem ser tratados e resolvidos na implantação.
Tratamento de conflitos conflict-handling
Quando páginas conflitantes existem (nas ramificações do blueprint e da Live Copy), o MSM permite definir como (ou mesmo se) elas devem ser tratadas.
Para garantir que a implantação não seja bloqueada, as possíveis definições podem incluir:
- Qual página (blueprint ou Live Copy) tem prioridade durante a implantação
- Quais páginas são renomeadas e como
- Como isso afeta qualquer conteúdo publicado
O comportamento padrão do Adobe Experience Manager (AEM) pronto para uso é que o conteúdo publicado não é afetado. Portanto, se uma página que foi criada manualmente na ramificação da Live Copy tiver sido publicada, esse conteúdo ainda será publicado após o tratamento do conflito e a implantação.
Além da funcionalidade padrão, os manipuladores de conflito personalizados podem ser adicionados para implementar regras diferentes. Eles também podem permitir a publicação de ações como um processo individual.
Exemplo de cenário example-scenario
Nas seções a seguir, um exemplo de uma nova página b é usada, criada na ramificação do blueprint e da Live Copy (criada manualmente), para ilustrar os vários métodos de resolução de conflitos:
-
blueprint:
/bUma página mestra com uma página secundária,
bp-level-1 -
Live Copy:
/bUma página criada manualmente na ramificação da Live Copy com uma página secundária,
lc-level-1- Ativado ao publicar como
/b, junto com a página secundária
- Ativado ao publicar como
Antes da implantação before-rollout
bbbb que foi criada manualmente na ramificação da Live Copy/bp-level-1/lc-level-1/lc-level-1child-level-1 que foi criada manualmente na ramificação da Live CopyGerenciador de implantação e tratamento de conflito rollout-manager-and-conflict-handling
O gerenciador de implantação permite ativar ou desativar o gerenciamento de conflitos.
Isso é feito usando a configuração do OSGi do Gerenciador de implantaçao Day CQ WCM. Defina o valor Manipular conflito com páginas criadas manualmente ( rolloutmgr.conflicthandling.enabled) como verdadeiro se o gerenciador de implantação deve lidar com conflitos de uma página criada na Live Copy com um nome que existe no blueprint.
O AEM tem comportamento predefinido quando o gerenciamento de conflitos foi desativado.
Manipuladores de conflito conflict-handlers
O AEM usa manipuladores de conflitos para resolver quaisquer conflitos de página que existam ao implantar conteúdo de um blueprint em uma Live Copy. A renomeação de páginas é o método usual (não único) para resolver esses conflitos. Mais de um manipulador de conflitos pode estar operacional para permitir uma seleção de comportamentos diferentes.
O AEM fornece:
- O manipulador de conflitos padrão:
ResourceNameRolloutConflictHandler
- A possibilidade de implementar um manipulador personalizado
- O mecanismo de classificação de serviço que permite definir a prioridade de cada manipulador individual
- O serviço com a classificação mais alta é usado.
Manipulador de conflito padrão default-conflict-handler
O manipulador de conflito padrão é o ResourceNameRolloutConflictHandler
- Com esse manipulador, a página do blueprint recebe prioridade.
- A classificação de serviço para este manipulador está baixa. Ou seja, abaixo do valor padrão para a propriedade
service.rankingporque se presume que os manipuladores personalizados precisam de uma classificação mais alta. No entanto, a classificação não é o mínimo absoluto para garantir flexibilidade quando necessária.
Esse manipulador de conflitos dá prioridade ao blueprint. Por exemplo, a página da Live Copy /b é movida dentro da ramificação da Live Copy para /b_msm_moved.
-
Live Copy:
/bÉ movido dentro da Live Copy para
/b_msm_moved. Isso funciona como um backup e garante que nenhum conteúdo seja perdido.lc-level-1não é movido.
-
Blueprint:
/bÉ implantado na página da Live Copy
/b.bp-level-1é implantado na Live Copy.
Após a implantação after-rollout
bbb_msm_movedbb que foi implantadob que foi criado manualmente na ramificação da Live Copyb que foi criado manualmente na ramificação da Live Copy e agora é chamado de b_msm_moved/bp-level-1/bp-level-1/lc-level-1/lc-level-1Manipuladores personalizados customized-handlers
Os manipuladores de conflito personalizados permitem que você implemente suas próprias regras. Usando o mecanismo de classificação de serviço, você também pode definir como eles interagem com outros manipuladores.
Os manipuladores de conflito personalizados podem:
- Ser nomeados de acordo com suas necessidades.
- Ser desenvolvidos/configurados de acordo com suas necessidades.
- Por exemplo, é possível desenvolver um manipulador para que a página da Live Copy tenha prioridade.
- Ele pode ser configurado usando a configuração OSGi. Em especial:
- A Classificação do serviço define a ordem relacionada a outros manipuladores de conflito (
service.ranking).- O valor padrão é
0.
- O valor padrão é
- A Classificação do serviço define a ordem relacionada a outros manipuladores de conflito (
Comportamento quando o manuseio de conflitos é desativado behavior-when-conflict-handling-deactivated
Se você desativar o tratamento de conflitos manualmente, o AEM não executa nenhuma ação em páginas em conflito. As páginas não conflitantes são implantadas conforme esperado.
Nesse caso, a Live Copy tem prioridade efetiva. A página do blueprint /b não é copiada e a página da Live Copy /b é deixada intocada.
-
Blueprint:
/bEla não é copiada, mas é ignorada.
-
Live Copy:
/bFica igual.
Após a implantação after-rollout-no-conflict
bbbb que foi criado manualmente na ramificação da Live Copyb que foi criado manualmente na ramificação da Live Copy/bp-level-1,/lc-level-1/lc-level-1Classificações de serviço service-rankings
A classificação de serviço do OSGi pode ser usada para definir a prioridade de manipuladores de conflito individuais.