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.

Antes da implantação

blueprint antes da implantação
live copy antes da implantação
publicar antes da implantação
b

(criado na ramificação do blueprint, pronto para implantação)
b

(criado manualmente na ramificação da live copy)
b

(contém o conteúdo da página b que foi criado manualmente na ramificação da live copy)
/bp-level-1
/lc-level-1

(criado manualmente na ramificação da live copy)
/lc-level-1

(contém o conteúdo da página
de nível secundário-1 que foi criada manualmente na ramificação da live copy)

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

blueprint após implantação
live copy após a implantação
live copy após a implantação
publicar após implantação
b
b

(tem o conteúdo da página b do blueprint que foi implantado)
b_msm_moved

(tem o conteúdo da página b que foi criado manualmente na ramificação da live copy)
b

(sem alterações; contém o conteúdo da página original b 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

(sem alteração)
``
/lc-level-1

(sem alteraçã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).

CAUTION
O AEM não dá 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 /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.

blueprint após implantação
live copy após a implantação
publicar após implantação
b
b

(sem alterações; tem o conteúdo da página b que foi criado manualmente na ramificação da live copy)
b

(sem alterações; contém o conteúdo da página b que foi criado manualmente na ramificação da live copy)
/bp-level-1
/lc-level-1

(sem alteração)
/lc-level-1

(sem alteração)

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.

recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2