Conflitos de implementação

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.

Tratamento de conflitos

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:

  • Qual página (blueprint ou Live Copy) terá prioridade durante a implantação
  • Quais páginas serão renomeadas (e como)
  • Como isso afetará qualquer conteúdo publicado

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.

Exemplo de cenário

Nas seções a seguir, usamos o exemplo de uma nova página b, criada no blueprint e na ramificação Live Copy (criada 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

    • Ativado ao publicar como /b, junto com a página secundária

Antes da implantação

Blueprint 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 criada 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 criada manualmente na ramificação Live Copy

Gerenciador de implementação e tratamento de conflito

O gerenciador de implementação permite ativar ou desativar o gerenciamento de conflitos.

Isso é feito usando a configuração 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 true 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 tem comportamento predefinido quando o gerenciamento de conflitos foi desativado.

Manipuladores de conflito

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:

  • O manipulador de conflitos padrão:
    • ResourceNameRolloutConflictHandler
  • A possibilidade de implementar um processador 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

O manipulador de conflitos padrão é ResourceNameRolloutConflictHandler

  • Com esse manipulador, a página do blueprint recebe prioridade.
  • A classificação de serviço para esse manipulador é definida como baixa, ou seja, abaixo do valor padrão da propriedade service.ranking , pois o pressuposto é 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 é movida 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.

Após a implantação

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 Possui o conteúdo da página do blueprint b que foi implementada Possui o conteúdo da página b que foi criada manualmente na ramificação Live Copy Sem alterações, contém o conteúdo da página original b que foi criada manualmente na ramificação Live Copy e agora é chamada 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

Manipuladores personalizados

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:

  • Seja nomeado de acordo com suas necessidades.
  • Ser desenvolvido/configurado de acordo com suas necessidades.
    • Por exemplo, você pode desenvolver um manipulador para que a página de Live Copy tenha prioridade.
  • Pode ser projetado para ser configurado usando a configuração OSGi. Em especial:
    • A Classificação de Serviço define a ordem relacionada a outros manipuladores de conflito ( service.ranking).
      • O valor padrão é 0.

Comportamento quando a manipulação de conflitos é desativada

Se você desativar manualmente a manipulação 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.

ATENÇÃO

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 da Live Copy /b é deixada intocada.

  • Blueprint: /b

    Não é copiado, mas é ignorado.

  • Live Copy: /b

    Fica igual.

Após a implantação

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 criada manualmente na ramificação Live Copy Sem alterações, contém o conteúdo da página b que foi criada manualmente na ramificação Live Copy
Valor /bp-level-1 /lc-level-1 /lc-level-1
Comentário Sem alteração Sem alteração

Classificações de serviço

A classificação de serviço OSGi pode ser usada para definir a prioridade de manipuladores de conflito individuais.

Nesta página