Show Menu
TÓPICOS×

Conflitos de implantação do MSM

Os conflitos podem ocorrer se novas páginas com o mesmo nome de página forem criadas na ramificação blueprint e em uma ramificação de live copy dependente.
Tais conflitos devem ser tratados e resolvidos aquando da sua implementação.

Tratamento de conflitos

Quando existem páginas conflitantes (no blueprint e nas ramificações de live copy), o MSM permite que você defina como (ou mesmo se) elas devem ser manipuladas.
Para garantir que a implementação não seja bloqueada, as possíveis definições podem incluir:
  • qual página (blueprint ou live copy) terá prioridade durante o lançamento,
  • quais páginas serão renomeadas (e como),
  • como isso afetará qualquer conteúdo publicado.
    O comportamento padrão do AEM (predefinido) é que o conteúdo publicado não será afetado. Portanto, se uma página que foi criada manualmente na live copy branch tiver sido publicada, esse conteúdo ainda será publicado após o manuseio e a implementação de conflitos.
Além da funcionalidade padrão, os manipuladores de conflitos personalizados podem ser adicionados para implementar regras diferentes. Eles também podem permitir ações de publicação como um processo individual.

Exemplo de cenário

Nas seções a seguir, usamos o exemplo de uma nova página b , criada tanto no blueprint quanto na live copy branch (criada manualmente), para ilustrar os vários métodos de resolução de conflitos:
  • blueprint: /b
    Uma página mestre; com 1 página secundária, bp-level-1.
  • live copy: /b
    Uma página criada manualmente no ramo de 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 do lançamento live copy antes do lançamento publicar antes da implementação
b (criado na ramificação blueprint, pronto para implantação) b (criado manualmente no ramo de live copy) b (contém o conteúdo da página b que foi criada manualmente na live copy branch)
/bp-level-1 /lc-level-1 (criado manualmente no ramo de live copy) /lc-level-1 (contém o conteúdo da página de nível-filho-1 que foi criado manualmente na ramificação de cópia ativa)

Gerenciador de implantação e tratamento de conflitos

O gerenciador de roll-out permite ativar ou desativar o gerenciamento de conflitos.
Isso é feito usando a configuração Configuração do OSGi OSGi do Day CQ WCM Rollout Manager :
  • Tratar o conflito com páginas criadas manualmente:
    ( rolloutmgr.conflicthandling.enabled )
    Defina como true se o gerenciador de roll-out deve lidar com conflitos de uma página criada na live copy com um nome que existe no blueprint.

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. Renomear páginas é um método (o normal) 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 conflitos padrão

O manipulador de conflitos padrão:
  • É chamado ResourceNameRolloutConflictHandler
  • Com esse manipulador, a página de blueprint tem prioridade.
  • A classificação de serviço para este manipulador está definida como baixa ( "ou seja, abaixo do valor padrão para a service.ranking propriedade), pois a suposição é 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 flexibilidade quando necessário.
Este manipulador de conflitos dá prioridade ao projeto. A página de live copy /b é movida (dentro da ramificação de 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
    É lançado para a página de live copy /b .
    • bp-level-1 é distribuída para a livecopy.
Depois da implantação
blueprint após o lançamento live copy após o lançamento live copy após o lançamento publicar após a implantação
b b (tem o conteúdo da página de blueprint b que foi distribuída) b_msm_moved (tem o conteúdo da página b que foi criado manualmente na live copy branch) b (sem alterações; contém o conteúdo da página original b que foi criada manualmente na ramificação da live copy e agora é chamada de b_msm_move)
/bp-level-1 /bp-level-1 /lc-level-1 (sem alterações) /lc-level-1 (sem alterações)

Manipuladores personalizados

Os manipuladores de conflitos personalizados permitem que você implemente suas próprias regras. Usando o mecanismo de classificação de serviço, também é possível definir como eles interagem com outros manipuladores.
Os manipuladores de conflitos personalizados podem:
  • Seja nomeado de acordo com seus requisitos.
  • Ser desenvolvido/configurado de acordo com seus requisitos; por exemplo, você pode desenvolver um manipulador para que a página de cópia online tenha prioridade.
  • Pode ser projetado para ser configurado usando a configuração Configuração do OSGi OSGi; nomeadamente:
    • Classificação do serviço:
      Define a ordem relacionada a outros manipuladores de conflito ( service.ranking ).
      O valor padrão é 0.

Comportamento ao lidar com conflitos desativado

Se você desativar manualmente a manipulação de conflitos, o AEM não executará nenhuma ação em páginas conflitantes (as páginas não conflitantes são implantadas conforme esperado).
O AEM não fornece nenhuma indicação de que os conflitos estão sendo ignorados, pois esse comportamento deve ser configurado explicitamente, portanto, presume-se que seja o comportamento necessário.
Nesse caso, a live copy tem prioridade efetiva. A página de blueprint não /b é copiada e a página de live copy não /b é tocada.
  • blueprint: /b
    Não é copiado, mas é ignorado.
  • live copy: /b
    Continua o mesmo.

Depois da implantação

blueprint após o lançamento live copy após o lançamento publicar após a implantação
b b (sem alterações; tem o conteúdo da página b que foi criada manualmente na live copy branch) b (sem alterações; contém o conteúdo da página b que foi criada manualmente na live copy branch)
/bp-level-1 /lc-level-1 (sem alterações) /lc-level-1 (sem alterações)

Classificações de serviço

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