Problema

Al migrar usuarios y grupos de una instancia de AEM a otra a través del Administrador de Paquetes, se muestra el siguiente error:

26.01.2017 16:03:20.024 *ERROR* [qtp2078058939-7783] org.apache.jackrabbit.vault.fs.io.Importer Error while committing : javax.jcr.nodetype.ConstraintViolationException: OakConstraint0027: The admin user cannot be removed.
javax.jcr.nodetype.ConstraintViolationException: OakConstraint0027: The admin user cannot be removed.
Caused by: org.apache.jackrabbit.oak.api.CommitFailedException: OakConstraint0027: The admin user cannot be removed

Entorno

CQ5.x, AEM 6.x

Resolución

Al empaquetar usuarios y grupos, debe asegurarse de evitar empaquetar a los usuarios externos, incluidos el administrador y los usuarios anónimos.  Además, debe utilizar el modo de filtro de paquete de fusión.

  1. Vaya a la aplicación CRXDE lite /crx/de/index.jsp e inicie sesión como usuario administrador (en el sistema antiguo)

  2. Ir a Herramientas => Consulta

  3. En la parte inferior Consulta, introduzca esta consulta para encontrar al usuario administrador:

    /jcr:root/home/users//element(*,rep:User)[@rep:principalName="admin"]

  4. Haga clic en Ejecutar y copie la ruta del nodo de usuario admin en los resultados a un archivo de texto.

  5. Repita el paso 3 con una consulta para un usuario anónimo:

    /jcr:root/home/users//element(*,rep:User)[@rep:principalName="anonymous"]

  6. Haga clic en Ejecutar y copie la ruta del nodo de usuario anónimo de los resultados en un archivo de texto (de modo que ahora debería tener dos rutas, una para "admin" y otra para "anónimo")
    :
    home/home/users/Q/Q/QY5FIMXeQIbGpwZtQ3Dv - usuario administrador en el sistema donde estoy creando el paquete
    /home/users/K/Kj1406Qo9IDODc_nk5Ib - usuario anónimo en el sistema donde estoy creando el paquete

  7. Vaya al administrador de paquetes AEM, http://host:port/crx/packmgr/index.jsp, e inicie sesión como administrador.

  8.  Crear un paquete "usuarios"

  9. Añada un filtro a la configuración del paquete para /home/users con estas reglas de exclusión (en el filtro /home/users):

    excluir /home/users/.*Los tokens
    excluyen /home/usuarios/Q/QY5FIMXeQIbGpwZtQ3Dv
    excluyen /home/users/K/Kj1406Qo9IDODc_nk5Ib
    excluyen /home/usuarios/a/admin
    excluyen /home/usuarios/a/anónimos
    excluyen /home/usuarios/sistema
    excluyen /home/usuarios/usuarios/usuarios/geometrixx
    excluyen /home/usuarios/usuarios/medios

    excluyen /home/usuis/usuarios/usuarios/mac

  10. Crear el paquete.

  11. Descargar el paquete.

  12. Descomprimir el archivo zip del paquete en su ordenador.

  13. Abrir el archivo META-INF/vault/filter.xml en un editor de texto.

  14. Añadir mode="merge" a la etiqueta, por ejemplo:

       










    <?xml version="1.0" encoding="UTF-8"?>
    <workspaceFilter version="1.0">
      <filter root="/home/users" mode="merge">
        <exclude pattern="/home/users/.*/.tokens"/>
        <exclude pattern="/home/users/Q/QY5FIMXeQIbGpwZtQ3Dv"/>
        <exclude pattern="/home/users/K/Kj1406Qo9IDODc_nk5Ib"/>
        <exclude pattern="/home/users/a/admin"/>
        <exclude pattern="/home/users/a/anonymous"/>
        <exclude pattern="/home/users/system"/>
        <exclude pattern="/home/users/geometrixx"/>
        <exclude pattern="/home/users/media"/>
        <exclude pattern="/home/users/projects"/>
        <exclude pattern="/home/users/mac"/>
      </filter>
    </workspaceFilter>
  15.  Volver a comprimir el contenido del paquete modificado para que incluya el cambio.

  16. Crear un paquete "groups" que contenga una regla de filtro /home/groups.

  17. Repita los pasos 10-15 para el paquete de grupos.

  18. (sólo actualización): Si realiza la migración a una versión más reciente de AEM, instale una nueva instancia local de AEM (con nosamplecontent) e instale allí el paquete de usuario y el paquete de grupo.  A continuación, realice una actualización in situ en esa instancia. Después de la actualización, vuelva a empaquetar a los usuarios de nuevo, luego a los grupos de nuevo y descargue la versión más reciente de los paquetes.

  19. Instalar el paquete de usuarios en el nuevo sistema.

  20. Instalar el paquete de grupos en el nuevo sistema

Esta obra está autorizada con arreglo a la licencia de Reconocimiento-NoComercial-CompartirIgual 3.0 Unported de Creative Commons.  Los términos de Creative Commons no cubren las publicaciones en Twitter™ y Facebook.

Avisos legales   |   Política de privacidad en línea