Pueden producirse conflictos si se crean nuevas páginas con el mismo nombre de página en la rama del modelo y en una rama de Live Copy dependiente. Estos conflictos deben manejarse y resolverse en el momento de su implementación.
Cuando existen páginas en conflicto (en las ramas de modelo y Live Copy), MSM le permite definir cómo deben manejarse (o incluso si).
Para garantizar que el despliegue no esté bloqueado, las definiciones posibles pueden incluir:
El comportamiento predeterminado de AEM listo para usar es que el contenido publicado no se verá afectado. Por lo tanto, si se ha publicado una página creada manualmente en la rama de Live Copy, dicho contenido se publicará 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.
En las secciones siguientes utilizamos el ejemplo de una página nueva b
, creado tanto en el modelo como en la rama de Live Copy (creado manualmente), para ilustrar los distintos métodos de resolución de conflictos:
modelo: /b
Una página de formato con una página secundaria, bp-level-1
Live Copy: /b
Una página creada manualmente en la rama de Live Copy con 1 página secundaria, lc-level-1
/b
, junto con la página secundariaModelo antes de la implementación | Live Copy antes del lanzamiento | Publicar antes del lanzamiento | |
---|---|---|---|
Value | b |
b |
b |
Comentario | Creado en rama de modelo, listo para su despliegue | Creado manualmente en la rama de Live Copy | Contiene el contenido de la página b que se creó manualmente en la rama de Live Copy |
Valor | /bp-level-1 |
/lc-level-1 |
/lc-level-1 |
Comentario | Creado manualmente en la rama de Live Copy | contiene el contenido de la página child-level-1 que se creó manualmente en la rama de Live Copy |
El administrador de implementación le permite activar o desactivar la administración de conflictos.
Esto se realiza mediante Configuración de OSGi de Day CQ WCM Rollout Manager. Establezca el valor Gestionar conflictos con páginas creadas manualmente ( rolloutmgr.conflicthandling.enabled
) a true si el administrador de implementaciones debe gestionar los conflictos de una página creada en Live Copy con un nombre que exista en el modelo.
AEM ha comportamiento predefinido cuando la administración de conflictos se ha desactivado.
AEM utiliza controladores de conflictos para resolver cualquier conflicto de páginas que exista al implementar contenido desde un modelo a una Live Copy. Cambiar el nombre de las páginas es el método habitual (no solo) 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:
ResourceNameRolloutConflictHandler
El controlador de conflicto predeterminado es ResourceNameRolloutConflictHandler
service.ranking
, ya que se supone que los controladores personalizados necesitarán una clasificación más alta. Sin embargo, la clasificación no es el mínimo absoluto para garantizar la flexibilidad cuando sea necesario.Este controlador de conflicto da prioridad al modelo. Por ejemplo, la página Live Copy /b
se mueve dentro de la rama de Live Copy a /b_msm_moved
.
Live Copy: /b
Se mueve dentro de 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 Live Copy /b
.
bp-level-1
se incluye en Live Copy.Modelo después de la implementación | Live Copy después del lanzamiento | Live Copy después del lanzamiento | Publicar después del lanzamiento | |
---|---|---|---|---|
Valor | b |
b |
b_msm_moved |
b |
Comentario | Tiene el contenido de la página de modelo b que se presentó |
Tiene el contenido de la página b que se creó manualmente en la rama de Live Copy |
Sin cambios, contiene el contenido de la página original b que se creó manualmente en la rama de Live Copy y ahora se llama b_msm_moved |
|
Valor | /bp-level-1 |
/bp-level-1 |
/lc-level-1 |
/lc-level-1 |
Comentario | Sin cambio | Sin cambio |
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 conflictos personalizados pueden:
service.ranking
).
0
.Si desactivar la gestión de conflictos, AEM 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.
Cuando se desactiva la gestión de conflictos, AEM no da ninguna indicación de que se estén ignorando los conflictos. Dado que en estos casos este comportamiento debe configurarse explícitamente, se supone que es el comportamiento deseado.
En este caso, Live Copy tiene prioridad. La página de modelo /b
no se copia y la página Live Copy /b
no se ha tocado.
Modelo: /b
No se copia, pero se ignora.
Live Copy: /b
Sigue igual.
Modelo después de la implementación | Live Copy después del lanzamiento | Publicar después del lanzamiento | |
---|---|---|---|
Valor | b |
b |
b |
Comentario | Sin cambios, tiene el contenido de la página b que se creó manualmente en la rama de Live Copy |
Sin cambios, contiene el contenido de la página b que se creó manualmente en la rama de Live Copy |
|
Valor | /bp-level-1 |
/lc-level-1 |
/lc-level-1 |
Comentario | Sin cambio | Sin cambio |
La variable OSGi la clasificación de servicios se puede utilizar para definir la prioridad de los controladores de conflictos individuales.