Erro javax.jcr.nodetype.ConstraintViolationException: OakConstraint0027 ao migrar usuários e grupos no AEM

Problema

Ao migrar usuários e grupos de uma instância do AEM para outra através do Gerenciador de Pacotes, o erro abaixo é mostrado:

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

Ambiente

CQ5.x, AEM 6.x

Resolução

Ao integrar usuários e grupos, certifique-se de evitar integrar os usuários prontos para uso, incluindo os usuários admin e anônimos.  Além disso, você deve usar o modo de filtragem de mesclagem de pacote.

  1. Vá para o aplicativo CRXDE lite /crx/de/index.jsp e faça o logon como usuário admin (no sistema antigo).

  2. Vá para Ferramentas=> Consulta

  3. Na caixa Consulta na parte inferior, digite esta consulta para encontrar o usuário admin:

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

  4. Clique em Executar e copie o caminho do nó do usuário administrador nos resultados para um arquivo de texto.

  5. Repita a etapa 3 com uma consulta para usuário anônimo:

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

  6. Clique em Executar e copie o caminho do nó do usuário anônimo nos resultados para um arquivo de texto (agora você deverá ter dois caminhos, um para "administrador" e outro para "anônimo")
    Por exemplo:
    /home/users/Q/QY5FIMXeQIbGpwZtQ3Dv - usuário administrador no sistema em que estou criando o pacote
    /home/users/K/Kj1406Qo9IDODc_nk5Ib - usuário anônimo no sistema em que estou criando o pacote

  7. Vá para o gerenciador de pacotes do AEM, http://host:port/crx/packmgr/index.jsp, e efetue login como administrador.

  8.  Crie um pacote "usuários"

  9. Adicione um filtro à configuração do pacote para /home/users com estas regras de exclusão (no filtro /home/users):

    exclude /home/users/.*/.tokens
    exclude /home/users/Q/QY5FIMXeQIbGpwZtQ3Dv
    exclude /home/users/K/Kj1406Qo9IDODc_nk5Ib
    exclude /home/users/a/admin
    exclude /home/users/a/anonymous
    exclude /home/users/system
    exclude /home/users/geometrixx
    exclude /home/users/media
    exclude /home/users/projects
    exclude /home/users/mac

  10. Crie o pacote.

  11. Baixe o pacote.

  12. Descompacte o arquivo zip do pacote no seu computador.

  13. Abra o arquivo META-INF/vault/filter.xml em um editor de texto.

  14. Adicione mode="merge" à tag, por exemplo:

       
       
       
       
       
       
       
       
       
     

    <?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.  Volte a compactar o conteúdo modificado do pacote em zip para incluir a alteração.

  16. Crie um pacote "grupos" que contenha uma regra de filtragem /home/groups.

  17. Repita as etapas 10 a 15 para o pacote de grupos.

  18. (Apenas atualização): se estiver executando a migração para a versão mais recente do AEM, instale uma nova instância AEM local (com nosamplecontent). Instale o pacote de usuários e o pacote grupos nessa instância.  Em seguida, execute uma atualização no local nessa instância. Após a atualização, reintegre os usuários novamente e, em seguida, os grupos. Baixe a versão mais recente dos pacotes.

  19. Instale o pacote de usuários no novo sistema.

  20. Instale o pacote de grupos no novo sistema.

 Adobe

Receba ajuda com mais rapidez e facilidade

Novo usuário?

Adobe MAX 2024

Adobe MAX:
a conferência da criatividade

14 a 16 de outubro, Miami Beach e online

Adobe MAX

A conferência da criatividade

14 a 16 de outubro, Miami Beach e online

Adobe MAX 2024

Adobe MAX:
a conferência da criatividade

14 a 16 de outubro, Miami Beach e online

Adobe MAX

A conferência da criatividade

14 a 16 de outubro, Miami Beach e online