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. Tais conflitos devem ser tratados e resolvidos aquando da sua implantação.
Quando páginas conflitantes existem (nas ramificações do blueprint e 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:
O comportamento padrão AEM pronto para uso é que o conteúdo publicado não será 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 a manipulação e implantação do conflito.
Além da funcionalidade padrão, os manipuladores de conflito personalizados podem ser adicionados para implementar regras diferentes. Isso também pode permitir a publicação de ações como um processo individual.
Nas seções a seguir, usamos o exemplo de uma nova página b
, criado no blueprint e na ramificação Live Copy (criado manualmente), para ilustrar os vários métodos de resolução de conflitos:
blueprint: /b
Uma página principal com 1 página secundária, bp-level-1
Live Copy: /b
Uma página criada manualmente na ramificação Live Copy com 1 página secundária, lc-level-1
/b
, junto com a página filhoBlueprint antes da implantação | Live Copy antes da implantação | Publicar antes da implantação | |
---|---|---|---|
Valor | b |
b |
b |
Comentário | Criado na ramificação do blueprint, pronto para implantação | Criado manualmente na ramificação Live Copy | Contém o conteúdo da página b que foi criado manualmente na ramificação Live Copy |
Valor | /bp-level-1 |
/lc-level-1 |
/lc-level-1 |
Comentário | Criado manualmente na ramificação Live Copy | contém o conteúdo da página child-level-1 que foi criado manualmente na ramificação Live Copy |
O gerenciador de implementação permite ativar ou desativar o gerenciamento de conflitos.
Isso é feito usando Configuração do OSGi de Gerenciador de implementação do WCM CQ do dia. Defina o valor Lidar com conflito com páginas criadas manualmente ( rolloutmgr.conflicthandling.enabled
) como verdadeiro se o gerenciador de implementação deve lidar com conflitos de uma página criada na Live Copy com um nome que existe no blueprint.
AEM comportamento predefinido quando o gerenciamento de conflitos foi desativado.
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 apenas) para resolver esses conflitos. Mais de um manipulador de conflitos pode ser operacional para permitir uma seleção de comportamentos diferentes.
AEM fornece:
ResourceNameRolloutConflictHandler
O manipulador de conflitos padrão é ResourceNameRolloutConflictHandler
service.ranking
, como se supõe que os manipuladores personalizados precisarão de uma classificação mais alta. No entanto, a classificação não é o mínimo absoluto para garantir a flexibilidade quando necessário.Esse manipulador de conflitos dá prioridade ao blueprint. Por exemplo, a página Live Copy /b
é movido dentro da ramificação 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 Live Copy /b
.
bp-level-1
é implantado na Live Copy.Blueprint após implantação | Live Copy após implantação | Live Copy após implantação | Publicar após a implantação | |
---|---|---|---|---|
Valor | b |
b |
b_msm_moved |
b |
Comentário | Tem o conteúdo da página do blueprint b que foi lançado |
Possui o conteúdo da página b que foi criado manualmente na ramificação Live Copy |
Sem alterações, contém o conteúdo da página original b que foi criado manualmente na ramificação Live Copy e agora é chamado de b_msm_moved |
|
Valor | /bp-level-1 |
/bp-level-1 |
/lc-level-1 |
/lc-level-1 |
Comentário | Sem alteração | Sem alteração |
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 conflitos personalizados podem:
service.ranking
).
0
.Se você manualmente desativar tratamento de conflitos, AEM não executa nenhuma ação em páginas em conflito. As páginas não conflitantes são implantadas conforme esperado.
Quando a manipulação de conflitos é desativada, AEM não dá qualquer indicação de que os conflitos estão sendo ignorados. Como nesses casos, esse comportamento deve ser configurado explicitamente, assume-se que é o comportamento desejado.
Nesse caso, a Live Copy tem prioridade. A página do blueprint /b
não é copiada e a página Live Copy /b
é deixado intocado.
Blueprint: /b
Não é copiado, mas é ignorado.
Live Copy: /b
Fica igual.
Blueprint após implantação | Live Copy após implantação | Publicar após a implantação | |
---|---|---|---|
Valor | b |
b |
b |
Comentário | Sem alterações, tem o conteúdo da página b que foi criado manualmente na ramificação Live Copy |
Sem alterações, contém o conteúdo da página b que foi criado manualmente na ramificação Live Copy |
|
Valor | /bp-level-1 |
/lc-level-1 |
/lc-level-1 |
Comentário | Sem alteração | Sem alteração |
O OSGi a classificação de serviço pode ser usada para definir a prioridade de manipuladores de conflito individuais.