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:
/b
Uma página mestra com uma página secundária,
bp-level-1
-
Live Copy:
/b
Uma 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
b
b
b
b
que foi criada manualmente na ramificação da Live Copy/bp-level-1
/lc-level-1
/lc-level-1
child-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 comportamentos predefinidos 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.ranking
porque 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-1
nã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
b
b
b_msm_moved
b
b
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-1
Manipuladores 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 manuseio 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:
/b
Ela não é copiada, mas é ignorada.
-
Live Copy:
/b
Fica igual.
Após a implantação after-rollout-no-conflict
b
b
b
b
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-1
Classificaçõ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.