Conflitos de implantação do MSM 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, você deve usar o exemplo de uma nova página b
, 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 principal; 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
Gerenciador 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 OSGi do Gerenciador de Implantação do WCM do Day CQ:
-
Manipular conflitos com páginas criadas manualmente:
(
rolloutmgr.conflicthandling.enabled
)Definido 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 conflito 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 é um dos métodos (comuns) 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 conflitos padrão:
-
É chamado
ResourceNameRolloutConflictHandler
-
Com esse manipulador, a página do blueprint recebe prioridade.
-
A classificação de serviço para este manipulador é definida como baixa (ou seja, abaixo do valor padrão para a propriedade
service.ranking
), pois se supõe 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. A página de live copy /b
foi 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 de live copy
/b
.bp-level-1
é implantado na live copy.
Após a implantação
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 ter o seguinte:
-
Nomeado de acordo com suas necessidades.
-
Desenvolvido/configurado de acordo com seus requisitos; por exemplo, você pode desenvolver um manipulador para que a página da Live Copy tenha prioridade.
-
Projetado para ser configurado usando a configuração OSGi; especificamente:
-
Classificação do serviço:
Define a ordem relacionada a outros manipuladores de conflito (
service.ranking
).O valor padrão é 0.
-
Comportamento quando o manuseio de conflitos é desativado behavior-when-conflict-handling-deactivated
Se você desativar o tratamento de conflitos manualmente, o AEM não executará nenhuma ação em páginas em conflito (as páginas não em conflito são implantadas conforme esperado).
Nesse caso, a live copy tem prioridade efetiva. A página de blueprint /b
não é copiada e a página de live copy /b
é deixada intocada.
-
blueprint:
/b
Não é copiado, mas é ignorado.
-
live copy:
/b
O mesmo.
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.