Sincronización de usuarios de Communities

Introducción

En AEM Communities, desde el entorno de publicación (según los permisos configurados), visitantes del sitio pueden convertirse en miembros, crear grupos de usuarios y editar su perfil de miembro .

Los datos de usuario son un término utilizado para referirse a usuarios, perfiles de usuario y grupos de usuarios.

**La pertenencia es un término utilizado para referirse a ** usuarios registrados en el entorno de publicación, en contraposición a los usuarios registrados en el entorno de creación.

Para obtener más información sobre los datos de usuario, visite Administración de usuarios y grupos de usuarios.

Sincronización de usuarios en un conjunto de servidores de publicación

Por diseño, los datos de usuario creados en el entorno de publicación no aparecen en el entorno de creación.

La mayoría de los datos de usuario creados en el entorno de creación están pensados para permanecer en el entorno de creación y no se sincronizan ni replican para publicar instancias.

Cuando la topología es un conjunto de servidores de publicación, el registro y las modificaciones realizadas en una instancia de publicación deben sincronizarse con otras instancias de publicación. Los miembros deben poder iniciar sesión y ver sus datos en cualquier nodo de publicación.

Cuando la sincronización de usuarios está habilitada, los datos de usuario se sincronizan automáticamente en las instancias de publicación de la granja.

Instrucciones de configuración de sincronización de usuarios

Para obtener instrucciones detalladas paso a paso sobre cómo habilitar la sincronización en un conjunto de servidores de publicación, consulte:

Sincronización de usuarios en segundo plano

sling-dist-workflow

  • paquete vlt

    Es un archivo zip de todos los cambios realizados en un editor, que debe distribuirse entre los editores. Los cambios en un publicador generan eventos que selecciona el detector de eventos de cambio. Esto crea un paquete vlt que contiene todos los cambios.

  • paquete de distribución

    Contiene información de distribución para Sling. Esa es información sobre dónde debe distribuirse el contenido y cuándo se distribuyó por última vez.

Qué sucede cuando…

Publicar sitio desde la consola Sitios de Communities

En el autor, cuando se publica un sitio de comunidad desde la consola Sitios de Communities, el efecto es replicar las páginas asociadas y Sling distribuye los grupos de usuarios de la comunidad creados dinámicamente, incluida su pertenencia.

El usuario se crea o edita el perfil en la publicación

Por diseño, los usuarios y perfiles creados en el entorno de publicación (por ejemplo, mediante registro propio, inicio de sesión social, autenticación LDAP) no aparecen en el entorno de creación.

Cuando la topología es un conjunto de servidores de publicación y la sincronización de usuarios se ha configurado correctamente, el usuario y el perfil de usuario se sincronizan en el conjunto de servidores de publicación mediante la distribución de Sling.

Se crea un nuevo grupo de comunidad en Publicar

Aunque se inicia desde una instancia de publicación, la creación del grupo de comunidad, que da como resultado páginas de sitio nuevas y un grupo de usuarios nuevo, se produce en la instancia de autor.

Como parte del proceso, las nuevas páginas del sitio se replican en todas las instancias de publicación. El grupo de usuarios de la comunidad creado dinámicamente y su pertenencia a Sling se distribuyen en todas las instancias de publicación.

Los usuarios o grupos de usuarios se crean mediante la Consola de seguridad

Por diseño, los datos de usuario creados en el entorno de publicación no aparecen en el entorno de creación y viceversa.

Cuando se utiliza la consola Administración de usuarios y seguridad para agregar nuevos usuarios en el entorno de publicación, la sincronización de usuarios sincroniza a los nuevos usuarios y su pertenencia a grupos con otras instancias de publicación, si es necesario. La sincronización de usuarios también sincronizará los grupos de usuarios creados mediante la consola de seguridad.

Publicaciones de usuario de contenido al publicar

Para el contenido generado por el usuario (UGC), se accede a los datos introducidos en una instancia de publicación a través del SRP configurado.

Prácticas recomendadas

De forma predeterminada, la sincronización de usuarios está deshabilitada. Habilitar la sincronización de usuarios implica modificar las configuraciones de OSGi existentes. No se deben agregar nuevas configuraciones como resultado de habilitar la sincronización de usuarios.

La sincronización de usuarios depende del entorno de creación para administrar las distribuciones de datos de usuario, aunque los datos de usuario no se creen en el autor .

Requisitos previos

  1. Si ya se han creado usuarios y grupos de usuarios en un publicador, se recomienda sincronizar manualmente los datos de usuario con todos los publicadores antes de configurar y habilitar la sincronización de usuarios.

    Una vez habilitada la sincronización de usuarios, solo se sincronizan los usuarios y grupos recién creados.

  2. Asegúrese de que se ha instalado el código más reciente:

Las siguientes configuraciones son necesarias para habilitar la sincronización de usuarios en AEM Communities. Asegúrese de que estas configuraciones son correctas para evitar que la distribución de contenido de sling falle.

Agente de distribución Apache Sling: fábrica de agentes de sincronización

Esta configuración busca el contenido que se va a sincronizar entre los editores. La configuración está en la instancia de autor. El autor debe realizar un seguimiento de todos los editores que están allí y dónde sincronizar toda la información.

Los valores predeterminados de la configuración son para una sola instancia de publicación. Como la sincronización de usuarios es útil para sincronizar varias instancias de publicación, como para un conjunto de publicaciones, es necesario agregar instancias de publicación adicionales a la configuración.

¿Cómo se sincroniza el contenido?

La instancia de autor indica el extremo de exportador de los editores. Siempre que se crea o actualiza un usuario en editores específicos (n), el Autor obtiene el contenido de los puntos finales de sus exportadores y envía el contenido a otros editores (n-1, que está separado de los editores desde los que se obtiene el contenido).

Para configurar la configuración de los agentes de sincronización de Apache Sling:

  1. Inicie sesión con privilegios de administrador en la instancia de autor de AEM.

  2. Acceda a la Consola Web. Por ejemplo, https://localhost:4502/system/console/configMgr.

  3. Localice Agente de distribución Apache Sling - Sync Agents Factory.

    • Seleccione la configuración existente para abrirla y editarla (icono de lápiz).

      Verificar nombre: socialpubsync.

    • Active la casilla Enabled.

    • Seleccione Usar varias colas.

    • Especifique Puntos finales del exportador y Puntos finales del importador (puede agregar más puntos finales del exportador y del importador).

      Estos puntos finales definen de dónde desea obtener el contenido y desde dónde desea insertar el contenido. El autor obtiene el contenido del extremo del exportador especificado y lo envía a los editores (distintos del editor desde el que obtuvo el contenido).
      sync-agent-fact

Distribución de Adobe Granite: proveedor secreto de transporte de contraseña cifrada

Permite al autor identificar al usuario autorizado como si tuviera permiso para sincronizar datos de usuario de autor a publicación.

El usuario autorizado creado en todas las instancias de publicación ayuda a los editores a conectarse con el autor y a configurar la distribución de Sling en el autor. Este usuario autorizado tiene todas las ACLs necesarias.

Siempre que se vayan a instalar o recuperar datos de editores, el autor se conectará con los editores mediante las credenciales (nombre de usuario y contraseña) establecidas en esta configuración.

Para conectar el autor con editores mediante un usuario autorizado:

  1. Inicie sesión con privilegios de administrador en la instancia de autor de AEM.

  2. Acceda a la Consola Web.

    Por ejemplo, https://localhost:4502/system/console/configMgr.

  3. Busque Distribución de granito de Adobe: proveedor secreto de transporte de contraseña cifrada.

  4. Seleccione la configuración existente para abrirla y editarla (icono de lápiz).

    Verificar propiedad socialpubsync - publishUser.

  5. Establezca el nombre de usuario y la contraseña en usuario autorizado.

    Por ejemplo, usersync - admin

granite-paswrd-trans

Agente de distribución Apache Sling: fábrica de agentes de cola

Esta configuración se utiliza para configurar los datos que desea sincronizar entre editores. Cuando se crean o actualizan datos en rutas especificadas en Raíces permitidas, se activa "var/community/distribution/diff" y el replicador creado recupera los datos de un publicador y los instala en otros editores.

Para configurar los datos (rutas de nodos) para sincronizar:

  1. Inicie sesión con privilegios de administrador en la instancia de publicación.

  2. Acceda a la Consola Web.

    Por ejemplo, https://localhost:4503/system/console/configMgr.

  3. Busque Agente de distribución Apache Sling - Factoría de agentes de cola.

  4. Seleccione la configuración existente para abrirla y editarla (icono de lápiz).

    Comprobar nombre: socialpubsync -reverse

  5. Seleccione la casilla Enabled y guarde.

  6. Especifique las rutas de nodos que se van a replicar en Raíces permitidas.

  7. Repita el proceso para cada instancia publish.

    queue-agent-fact

Distribución de Adobe Granite - Fábrica de Observadores de Diff

Esta configuración sincroniza la pertenencia a grupos entre editores.
Si al cambiar la pertenencia a un grupo en un publicador no se actualiza su pertenencia a otros editores, asegúrese de que ref:Members se añada a nombres de propiedades miradas.

Para garantizar la sincronización de miembros:

  1. Inicie sesión con privilegios de administrador en la instancia de publicación.

  2. Acceda a la Consola Web.

    Por ejemplo, https://localhost:4503/system/console/configMgr.

  3. Busque Distribución de granito de Adobe - Fábrica de observación de diff.

  4. Seleccione la configuración existente para abrirla y editarla (icono de lápiz).

    Verifique el nombre del agente: socialpubsync -reverse.

  5. Active la casilla Enabled.

  6. Especifique rep:Members como descripción para propertyName en nombres de propiedades miradas y Guardar.

    diff-obs

Déclencheur de distribución de Apache Sling: fábrica de Déclencheur programados

Esta configuración le permite configurar el intervalo de sondeo (después del cual el autor hace ping y extrae los cambios) para sincronizar los cambios entre los editores.

El autor sondea a los editores cada 30 segundos (valor predeterminado). Si hay algún paquete presente en la carpeta /var/sling/distribution/packages/ socialpubsync - vlt /shared, entonces recuperará esos paquetes e los instalará en otros editores.

Para modificar el intervalo de sondeo:

  1. Inicie sesión con privilegios de administrador en la instancia de autor de AEM.

  2. Acceda a la Consola Web, por ejemplo, https://localhost:4502/system/console/configMgr

  3. Localizar Déclencheur de distribución de Apache Sling: Déclencheur programados

    • Seleccione la configuración existente para abrirla y editarla (icono de lápiz).

      Verificar socialpubsync -scheduled-déclencheur

    • Establezca el intervalo en segundos en el intervalo deseado y guárdelo.

    déclencheur programado

Oyente de sincronización de usuarios de AEM Communities

Para los problemas en la distribución de Sling donde hay una discrepancia en las suscripciones y que se muestra a continuación, compruebe si las siguientes propiedades en las configuraciones AEM Communities User Sync Listener están configuradas:

  • NodeTypes
  • IgnorableProperties
  • IgnorableNodes
  • Carpetas distribuidas

Para sincronizar suscripciones, seguimientos y notificaciones

En cada instancia de publicación AEM:

  1. Inicie sesión con privilegios de administrador.

  2. Acceda a la Consola Web. Por ejemplo, https://localhost:4503/system/console/configMgr.

  3. Busque AEM Communities User Sync Listener.

  4. Seleccione la configuración existente para abrirla y editarla (icono de lápiz)

    Comprobar nombre: socialpubsync -scheduled-déclencheur

  5. Establezca el siguiente NodeTypes:

    rep:User

    nt:unstructured

    nt:resource

    rep:ACL

    sling:Folder

    sling:OrderedFolder

    Los tipos de nodo especificados en esta propiedad se sincronizarán y la información de notificaciones (blogs y configuraciones seguidas) se sincronizará entre diferentes editores.

  6. Añada todas las carpetas para sincronizar en DistributedFolders. Por ejemplo,

    segments/scoring

    social/relationships

    activities

  7. Configure los ignorablenodes en:

    .tokens

    system

    rep:cache (dado que utilizamos sesiones adhesivas, no es necesario sincronizar este nodo con diferentes editores).

    user-sync-listner

ID único de Sling

AEM instancia de autor utiliza el ID de Sling para identificar de dónde provienen los datos y a qué editores debe (o no necesita) enviar el paquete de nuevo a.

Asegúrese de que todos los editores de un conjunto de servidores de publicación tengan un ID de Sling único. Si el ID de Sling es el mismo para varias instancias de publicación en un conjunto de servidores de publicación, la sincronización de usuarios fallará. Como el autor no sabe dónde recuperar el paquete y desde dónde instalarlo.

Para garantizar un ID de Sling único de los editores en la granja de publicaciones, en cada instancia de publicación:

  1. Vaya a https://host:port/system/console/status-slingsettings.

  2. Compruebe el valor de Sling ID.

    slingid

    Si el ID de Sling de una instancia de publicación coincide con el ID de Sling de cualquier otra instancia de publicación, entonces:

  3. Detenga una de las instancias de publicación que tenga un ID de Sling coincidente.

  4. En el directorio crx-quickstart/launchpad/felix, busque y elimine el archivo llamado sling.id.file.

    Por ejemplo, en un sistema Linux:

    rm -i $(find . -type f -name sling.id.file)

    Por ejemplo, en un sistema Windows:

    Utilice el explorador de Windows y busque sling.id.file

  5. Inicie la instancia de publicación. Al inicio, se le asignará un nuevo ID de Sling.

  6. Valide que el Sling ID ahora sea único.

Repita estos pasos hasta que todas las instancias de publicación tengan un ID de Sling único.

Fábrica de generador de paquetes de almacenamiento

Para que las actualizaciones se sincronicen correctamente, es necesario modificar el creador de paquetes de bóveda para la sincronización de usuarios.
En /home/users, se crea un nodo */rep:cache. Es una caché que se utiliza para encontrar que si consultamos el nombre principal de un nodo, esta caché se puede utilizar directamente.

La sincronización de usuarios se puede detener si los nodos rep :cache se sincronizan entre editores.

Para asegurarse de que las actualizaciones se sincronizan correctamente entre editores, en cada instancia AEM publicación:

  1. Acceda a la Consola Web

    Por ejemplo, https://localhost:4503/system/console/configMgr.

  2. Localice el paquete de distribución Apache Sling: Vault Package Builder Factory

    Nombre del creador: socialpubsync-vlt.

  3. Seleccione el icono de edición.

  4. Añadir dos filtros de nodo de paquete:

    • /home/users|-.*/.tokens
    • /home/users|-.*/rep:cache
  5. Gestión de políticas

    • Para sobrescribir los nodos de directiva de rep existentes con otros nuevos, agregue un tercer filtro de paquete: /home/users|+.*/rep:policy
    • Para evitar que las políticas se distribuyan, establezca: Acl Handling: IGNORE

    Fábrica del generador de paquetes Vault

Solución de problemas de la distribución de Sling en AEM Communities

Si la distribución de Sling falla, pruebe los siguientes pasos de depuración:

  1. Comprobar configuraciones agregadas incorrectamente

    Asegúrese de que no se agreguen ni editen varias configuraciones; en su lugar, se deben editar las configuraciones predeterminadas existentes.

  2. Comprobar configuraciones

    Asegúrese de que todas las configuraciones estén correctamente configuradas en la instancia de Autor de AEM, como se menciona en las Prácticas recomendadas.

  3. Comprobar permisos de usuario autorizados

    Si los paquetes no están instalados correctamente, compruebe que el usuario autorizado creado en la primera instancia de publicación tenga las ACL correctas.

    Para validar esto, en lugar de usuario autorizado creado cambie la configuración de Adobe Granite Distribution - Encrypted Password Transport Secret Provider en la instancia de autor para utilizar las credenciales de usuario administrador. Ahora intente instalar los paquetes de nuevo. Si la sincronización de usuarios funciona bien con las credenciales del administrador, significa que el usuario de publicación creado no tenía las ACL adecuadas.

  4. Comprobar la configuración de la fábrica de observadores de diferencias

    Si solo no se sincronizan nodos específicos en la granja de publicación (por ejemplo, los miembros del grupo no se sincronizan), asegúrese de que la configuración Adobe Granite Distribution - Diff Observer Factory esté habilitada y rep: los miembros se establecen en nombres de propiedades miradas.

  5. Compruebe la configuración del oyente de sincronización de usuarios de AEM Communities. Si los usuarios creados están sincronizados pero las suscripciones y los siguientes no funcionan, asegúrese de que la configuración del Receptor de sincronización de usuarios de AEM Communities tenga:

    • Tipos de nodos: se establecen en rep:User, nt:unstructured, nt:resource, rep:ACL, sling:Folder y sling:OrderedFolder.
    • Nodos ignorables: se establecen en .tokens, system y rep:cache.
    • Carpetas distribuidas: configure en las carpetas que desee distribuir.
  6. Comprobar registros generados en la creación de usuarios en la instancia de publicación

    Si las configuraciones anteriores están correctamente configuradas pero la sincronización de usuarios no funciona, compruebe los registros generados al crear el usuario.

    Compruebe si el orden de los registros es el mismo, de la siguiente manera:

    15.05.2016 18:33:01.523 *INFO* [sling-oak-observation-7422] com.adobe.cq.social.sync.impl.PublisherSyncServiceImpl Handing these paths to the distribution subsystem: [/home/users/C, /home/users/C/Cw-5avWqilmqsNn5hCvK]
    15.05.2016 18:33:01.523 *INFO* [sling-oak-observation-7422] org.apache.sling.distribution.agent.impl.SimpleDistributionAgent [agent][socialpubsync-reverse] REQUEST-START DSTRQ2: ADD paths=[/home/users/C, /home/users/C/Cw-5avWqilmqsNn5hCvK], user=communities-user-admin
    15.05.2016 18:33:01.523 *INFO* [sling-oak-observation-7431] com.adobe.cq.social.sync.impl.PublisherSyncServiceImpl Handing these paths to the distribution subsystem: [/home/users/C/Cw-5avWqilmqsNn5hCvK, /home/users/C/Cw-5avWqilmqsNn5hCvK/profile, /home/users/C/Cw-5avWqilmqsNn5hCvK/rep:policy]
    15.05.2016 18:33:01.523 *INFO* [sling-oak-observation-7431] org.apache.sling.distribution.agent.impl.SimpleDistributionAgent [agent][socialpubsync-reverse] REQUEST-START DSTRQ3: ADD paths=[/home/users/C/Cw-5avWqilmqsNn5hCvK, /home/users/C/Cw-5avWqilmqsNn5hCvK/profile, /home/users/C/Cw-5avWqilmqsNn5hCvK/rep:policy], user=communities-user-admin
    15.05.2016 18:33:01.757 *INFO* [sling-oak-observation-7431] org.apache.jackrabbit.vault.packaging.impl.JcrPackageDefinitionImpl unwrapping package sling/distribution:socialpubsync-vlt_1463337181554_ebb27ad9-a861-4405-9342-d64c916654e2:0.0.1
    15.05.2016 18:33:01.820 *INFO* [sling-oak-observation-7422] org.apache.jackrabbit.vault.packaging.impl.JcrPackageDefinitionImpl unwrapping package sling/distribution:socialpubsync-vlt_1463337181554_58811273-5861-48fe-95d2-4aff367b99c3:0.0.1
    15.05.2016 18:33:02.023 *INFO* [sling-oak-observation-7430] com.adobe.cq.social.sync.impl.PublisherSyncServiceImpl Handing these paths to the distribution subsystem: [/home/users/C/Cw-5avWqilmqsNn5hCvK/profile]
    15.05.2016 18:33:02.023 *INFO* [sling-oak-observation-7430] org.apache.sling.distribution.agent.impl.SimpleDistributionAgent [agent][socialpubsync-reverse] REQUEST-START DSTRQ4: ADD paths=[/home/users/C/Cw-5avWqilmqsNn5hCvK/profile], user=communities-user-admin
    15.05.2016 18:33:02.273 *INFO* [sling-oak-observation-7430] org.apache.jackrabbit.vault.packaging.impl.JcrPackageDefinitionImpl unwrapping package sling/distribution:socialpubsync-vlt_1463337182039_f34f4fa6-10b9-42eb-8740-4da9d4d38f99:0.0.1
    

Para depurar:

  1. Desactivar la sincronización de usuarios:

  2. En AEM instancia de autor, inicie sesión con privilegios de administrador.

    1. Acceda a la Consola Web. Por ejemplo, https://localhost:4502/system/console/configMgr.

    2. Localice la configuración Agente de distribución Apache Sling - Sync Agents Factory.

    3. Desmarque la casilla Enabled.

      Al desactivar la sincronización de usuarios en la instancia de autor, los extremos (exportador e importador) se desactivan y la instancia de autor es estática. El autor no hace ping ni recupera los paquetes vlt.

      Ahora, si se crea un usuario en una instancia de publicación, el paquete vlt se crea en el nodo /var/sling/distribution/packages/ socialpubsync - vlt /data. Y si estos paquetes son transferidos por el autor a otro servicio. Puede descargar y extraer estos datos para comprobar qué propiedades se insertan en otros servicios.

  3. Vaya a un publicador y cree un usuario en el publicador. Como resultado, se crean eventos.

  4. Compruebe el orden de registros creado al crearse el usuario.

  5. Compruebe si se ha creado un paquete vlt en /var/sling/distribution/packages/socialpubsync-vlt/data.

  6. Ahora, habilite la sincronización de usuarios en AEM instancia de autor.

  7. En el editor, cambie los extremos del exportador o del importador en Agente de distribución Apache Sling - Factoría de agentes de sincronización.
    Podemos descargar y extraer datos de paquetes para comprobar qué propiedades se insertan en otros editores y qué datos se pierden.

En esta página