Conflictos de despliegue de MSM msm-rollout-conflicts
Pueden producirse conflictos si se crean nuevas páginas con el mismo nombre en la rama del modelo y en una rama de Live Copy dependiente.
Estos conflictos deben gestionarse y resolverse en el momento del despliegue.
Gestión de conflictos conflict-handling
Cuando existen páginas en conflicto (en las ramas de modelo y Live Copy), MSM le permite definir cómo (o incluso si) deben gestionarse.
Para garantizar que el despliegue no esté bloqueado, las definiciones posibles pueden incluir las siguientes:
-
qué página (modelo o live copy) tiene prioridad durante el despliegue,
-
qué páginas se cambian de nombre (y cómo),
-
cómo afecta esto a cualquier contenido publicado.
El comportamiento predeterminado de Adobe Experience Manager AEM (de forma predeterminada) es que el contenido publicado no se ve afectado. Por lo tanto, si se ha publicado una página creada manualmente en la rama de Live Copy, ese contenido se sigue publicando después de la gestión y el despliegue del conflicto.
Además de la funcionalidad estándar, se pueden agregar controladores de conflicto personalizados para implementar distintas reglas. También pueden permitir acciones de publicación como un proceso individual.
Escenario de ejemplo example-scenario
En las secciones siguientes, debe utilizar el ejemplo de una nueva página b
, creada tanto en el modelo como en la rama de Live Copy (creada manualmente), para ilustrar los distintos métodos de resolución de conflictos:
-
modelo:
/b
Una página maestra; con una página secundaria, bp-level-1.
-
live copy:
/b
Una página creada manualmente en la rama de Live Copy; con una página secundaria,
lc-level-1
.- Se activó al publicar como
/b
, junto con la página secundaria.
- Se activó al publicar como
Antes del despliegue
Administrador de despliegue y gestión de conflictos rollout-manager-and-conflict-handling
El administrador de despliegue le permite activar o desactivar la administración de conflictos.
Esto se hace con la configuración OSGi del Administrador de despliegue de CQ WCM por día:
-
Controlar conflictos con páginas creadas manualmente:
(
rolloutmgr.conflicthandling.enabled
)Se establece en true si el administrador de despliegue debe gestionar los conflictos de una página creada en Live Copy con un nombre que exista en el modelo.
AEM tiene comportamiento predefinido cuando se ha desactivado la administración de conflictos.
Controladores de conflictos conflict-handlers
AEM utiliza controladores de conflictos para resolver cualquier conflicto de páginas que surja al desplegar contenido desde un modelo a una Live Copy. Cambiar el nombre de las páginas es un método (el habitual) para resolver estos conflictos. Puede haber más de un controlador de conflictos en funcionamiento para permitir una selección de comportamientos diferentes.
AEM proporciona lo siguiente:
-
El controlador de conflictos predeterminado:
ResourceNameRolloutConflictHandler
-
La posibilidad de implementar un controlador personalizado.
-
Mecanismo de clasificación de servicios que permite establecer la prioridad de cada controlador individual. Se utiliza el servicio con la clasificación más alta.
Controlador de conflictos predeterminado default-conflict-handler
El controlador de conflictos predeterminado:
-
Se llama
ResourceNameRolloutConflictHandler
-
Con este controlador, la página de modelo tiene prioridad.
-
La clasificación de servicio de este controlador se establece en un nivel bajo (es decir, por debajo del valor predeterminado para la propiedad
service.ranking
), ya que se supone que los controladores personalizados necesitan una clasificación más alta. Sin embargo, la clasificación no está al nivel mínimo absoluto para garantizar la flexibilidad cuando sea necesario.
Este controlador de conflictos da prioridad al modelo. La página Live Copy /b
se ha movido (dentro de la rama de Live Copy) a /b_msm_moved
.
-
live copy:
/b
Se mueve (dentro de la Live Copy) a
/b_msm_moved
. Esto actúa como una copia de seguridad y garantiza que no se pierda contenido.lc-level-1
no se mueve.
-
modelo:
/b
Se despliega en la página de Live Copy
/b
.bp-level-1
se ha implementado en la Live Copy.
Después del despliegue
Controladores personalizados customized-handlers
Los controladores de conflicto personalizados le permiten implementar sus propias reglas. Con el mecanismo de clasificación de servicios también puede definir cómo interactúan con otros controladores.
Los controladores de conflicto personalizados pueden tener lo siguiente:
-
Nombrado según sus necesidades.
-
Desarrollado/configurado según sus necesidades; por ejemplo, puede desarrollar un controlador para que la página de Live Copy tenga prioridad.
-
Diseñado para configurarse con la configuración OSGi; en particular:
-
Clasificación del servicio:
Define el orden relacionado con otros controladores de conflictos (
service.ranking
).El valor predeterminado es 0.
-
Comportamiento Cuando Se Desactiva La Gestión De Conflictos behavior-when-conflict-handling-deactivated
AEM Si desactiva manualmente la administración de conflictos, entonces no realiza ninguna acción en ninguna página en conflicto (las páginas que no entran en conflicto se despliegan según lo esperado).
En este caso, la Live Copy tiene prioridad. La página de modelo /b
no se copia y la página de Live Copy /b
no se modifica.
-
modelo:
/b
No se copia en absoluto y se ignora.
-
live copy:
/b
Lo mismo.
Clasificación de servicios service-rankings
La clasificación del servicio OSGi se puede utilizar para definir la prioridad de los controladores de conflictos individuales.