Sincronizzazione utenti community

Introduzione

In AEM Communities, dall'ambiente di pubblicazione (in base alle autorizzazioni configurate), i visitatori del sito possono diventare membri, creare gruppi di utenti e modificare il relativo profilo membro .

I dati utente sono termini utilizzati per fare riferimento a utenti, profili utente e gruppi di utenti.

Appartenenza è un termine utilizzato per fare riferimento agli ** utenti registrati nell’ambiente di pubblicazione, anziché agli utenti registrati nell’ambiente di authoring.

Per ulteriori informazioni sui dati utente, visitare Gestione di utenti e gruppi di utenti.

Sincronizzazione degli utenti in una farm di pubblicazione

Per impostazione predefinita, i dati utente creati nell’ambiente di pubblicazione non vengono visualizzati nell’ambiente di authoring.

La maggior parte dei dati utente creati nell’ambiente di authoring deve rimanere nell’ambiente di authoring e non deve essere sincronizzata né replicata nelle istanze di pubblicazione.

Quando la topologia è una farm di pubblicazione, la registrazione e le modifiche apportate a un'istanza di pubblicazione devono essere sincronizzate con altre istanze di pubblicazione. I membri devono poter effettuare l’accesso e visualizzare i propri dati su qualsiasi nodo di pubblicazione.

Quando la sincronizzazione utente è abilitata, i dati utente vengono automaticamente sincronizzati tra le istanze di pubblicazione nella farm.

Istruzioni per l'impostazione della sincronizzazione utente

Per istruzioni dettagliate e dettagliate su come abilitare la sincronizzazione in una farm di pubblicazione, consultate:

Sincronizzazione utente in background

sling-dist-workflow

  • pacchetto VLT

    Si tratta di un file zip contenente tutte le modifiche apportate a un editore, che devono essere distribuite tra gli editori. Le modifiche apportate a un editore generano eventi selezionati dal listener di eventi change. In questo modo viene creato un pacchetto di convalida contenente tutte le modifiche.

  • pacchetto di distribuzione

    Contiene informazioni di distribuzione per Sling. Si tratta di informazioni su dove il contenuto deve essere distribuito e quando è stato distribuito per ultimo.

Cosa Succede Quando …

Pubblica sito dalla console Siti di Communities

All'autore, quando un sito community viene pubblicato dalla console Siti community, l'effetto è di replicare le pagine associate e Sling distribuire i gruppi di utenti della community creati dinamicamente, inclusa la loro appartenenza.

L'utente viene creato o modifica il profilo in Pubblica

Per impostazione predefinita, gli utenti e i profili creati nell’ambiente di pubblicazione (ad esempio mediante registrazione automatica, accesso mediante social network e autenticazione LDAP) non vengono visualizzati nell’ambiente di authoring.

Se la topologia è una farm di pubblicazione e la sincronizzazione degli utenti è stata configurata correttamente, i profili utente e profilo utente vengono sincronizzati nella farm di pubblicazione utilizzando la distribuzione Sling.

Nuovo gruppo community creato su Pubblica

Anche se avviata da un’istanza di pubblicazione, la creazione di gruppi di community, che genera nuove pagine di sito e un nuovo gruppo di utenti, viene effettivamente eseguita nell’istanza di creazione.

Come parte del processo, le nuove pagine del sito vengono replicate in tutte le istanze di pubblicazione. Il gruppo di utenti della community creato dinamicamente e la relativa appartenenza sono Sling distribuiti a tutte le istanze di pubblicazione.

Utenti o gruppi di utenti creati utilizzando la console di sicurezza

Per impostazione predefinita, i dati utente creati nell’ambiente di pubblicazione non vengono visualizzati nell’ambiente di authoring e viceversa.

Quando si utilizza la console Amministrazione utente e sicurezza per aggiungere nuovi utenti nell'ambiente di pubblicazione, la sincronizzazione degli utenti sincronizzerà i nuovi utenti e i relativi membri del gruppo con altre istanze di pubblicazione, se necessario. La sincronizzazione utente sincronizza anche i gruppi di utenti creati tramite la console di protezione.

L'utente pubblica il contenuto su Pubblica

Per il contenuto generato dall'utente (UGC), i dati immessi in un'istanza di pubblicazione sono accessibili tramite l' SRP configurato.

Best practice

Per impostazione predefinita, la sincronizzazione utente è disabilitata. L'abilitazione della sincronizzazione utente comporta la modifica delle configurazioni OSGi esistenti. Non è necessario aggiungere nuove configurazioni per abilitare la sincronizzazione degli utenti.

La sincronizzazione utente si basa sull’ambiente di authoring per gestire le distribuzioni dei dati utente, anche se i dati utente non vengono creati in fase di creazione.

Prerequisiti

  1. Se utenti e gruppi di utenti sono già stati creati su un editore, si consiglia di sincronizzare manualmente i dati utente a tutti gli editori prima di configurare e abilitare la sincronizzazione utente.

    Una volta attivata la sincronizzazione degli utenti, vengono sincronizzati solo gli utenti e i gruppi appena creati.

  2. Verifica che sia stato installato il codice più recente:

Per abilitare la sincronizzazione degli utenti su AEM Communities, sono necessarie le seguenti configurazioni. Verificate che queste configurazioni siano corrette per evitare il malfunzionamento della distribuzione del contenuto.

Apache Sling Distribution Agent - Sync Agent Factory

Questa configurazione recupera il contenuto da sincronizzare tra gli editori. La configurazione si trova nell’istanza Author. L'autore deve tenere traccia di tutti gli editori presenti e di dove sincronizzare tutte le informazioni.

I valori predefiniti nella configurazione si riferiscono a una singola istanza di pubblicazione. Poiché la sincronizzazione degli utenti è utile per sincronizzare più istanze di pubblicazione, ad esempio per una farm di pubblicazione, è necessario aggiungere ulteriori istanze di pubblicazione alla configurazione.

Come viene sincronizzato il contenuto?

L’istanza Author esegue il ping dell’endpoint di esportazione degli editori. Ogni volta che un utente viene creato o aggiornato su editori specifici (n), l'Autore riceve il contenuto dalle endpoint di esportazione e invia il contenuto ad altri editori (n-1, a parte gli editori da cui viene recuperato il contenuto).

Per configurare la configurazione degli agenti di sincronizzazione Apache Sling:

  1. Effettuate l’accesso con i privilegi di amministratore nell’istanza di authoring AEM.

  2. Accedere alla console Web. Ad esempio, https://localhost:4502/system/console/configMgr.

  3. Individuare Apache Sling Distribution Agent - Sync Agent Factory.

    • Selezionate la configurazione esistente da aprire per la modifica (icona matita).

      Nome verifica: socialpubsync.

    • Selezionare la casella di controllo Abilitato.

    • Selezionare Usa più code.

    • Specificare Endpoint esportazione e Endpoint importazione (è possibile aggiungere altri endpoint di esportazione e importazione).

      Questi endpoint definiscono dove si desidera ottenere il contenuto e dove si desidera inviare il contenuto push. L'autore recupera il contenuto dall'endpoint di esportazione specificato e invia il contenuto agli editori (diversi dall'editore da cui ha recuperato il contenuto).
      sync-agent-fact

Distribuzione granite Adobe - Provider segreto di trasporto password crittografata

Consente all’autore di identificare l’utente autorizzato, in quanto dispone dell’autorizzazione per sincronizzare i dati utente dall’autore alla pubblicazione.

L' utente autorizzato creato su tutte le istanze di pubblicazione consente agli editori di connettersi con l'autore e configurare la distribuzione Sling sull'autore. Questo utente autorizzato ha tutti gli ACL richiesti.

Ogni volta che i dati devono essere installati o recuperati dagli editori, l'autore si connette con gli editori utilizzando le credenziali (nome utente e password) impostate in questa configurazione.

Per collegare l'autore con gli editori utilizzando un utente autorizzato:

  1. Effettuate l’accesso con i privilegi di amministratore nell’istanza di authoring AEM.

  2. Accedere alla console Web.

    Ad esempio, https://localhost:4502/system/console/configMgr.

  3. Individua distribuzione granite Adobe - provider segreto trasporto password crittografato.

  4. Selezionate la configurazione esistente da aprire per la modifica (icona matita).

    Verificare la proprietà socialpubsync - publishUser.

  5. Impostate il nome utente e la password sull' utente autorizzato.

    Ad esempio, usersync - admin

granite-paswrd-trans

Agente di distribuzione Apache Sling - Coda Agenti Factory

Questa configurazione viene utilizzata per configurare i dati da sincronizzare tra gli editori. Quando i dati vengono creati/aggiornati nei percorsi specificati in Radici consentite, "var/community/distribution/diff" viene attivato e il replicatore creato recupera i dati da un editore e li installa su altri editori.

Per configurare i dati (percorsi nodo) da sincronizzare:

  1. Effettuate l’accesso con i privilegi di amministratore per l’istanza di creazione.

  2. Accedere alla console Web.

    Ad esempio, https://localhost:4503/system/console/configMgr.

  3. Individuare Apache Sling Distribution Agent - Queue Agent Factory.

  4. Selezionate la configurazione esistente da aprire per la modifica (icona matita).

    Nome verifica: socialpubsync -reverse

  5. Selezionare la casella di controllo Abilitato e salvare.

  6. Specificare i percorsi dei nodi da replicare in Radici consentite.

  7. Ripetere l'operazione per ogni istanza publish.

    queue-agent-fact

Distribuzione granite Adobe - Diff Observer Factory

Questa configurazione sincronizza l'appartenenza al gruppo tra gli editori.
Se la modifica dell'appartenenza di un gruppo in un editore non ne aggiorna l'appartenenza ad altri editori, assicurarsi che ref:members sia aggiunta ai nomi delle proprietà analizzate.

Per garantire la sincronizzazione dei membri:

  1. Effettuate l’accesso con i privilegi di amministratore nell’istanza di authoring AEM.

  2. Accedere alla console Web.

    Ad esempio, https://localhost:4503/system/console/configMgr.

  3. Individuare distribuzione granito Adobe - Diff Observer Factory.

  4. Selezionate la configurazione esistente da aprire per la modifica (icona matita).

    Verifica nome agente: socialpubsync -reverse.

  5. Selezionare la casella di controllo Abilitato.

  6. Specificare rep:members come descrizione per propertyName in nome proprietà di ricerca e salvare.

    diff-obs

Trigger di distribuzione Apache Sling - Pianificate Triggers Factory

Questa configurazione consente di configurare l’intervallo di polling (al termine del quale gli editori vengono sottoposti a ping e le modifiche vengono eseguite dall’autore) per sincronizzare le modifiche tra gli editori.

L’autore controlla gli editori ogni 30 secondi (impostazione predefinita). Se nella cartella /var/sling/distribution/packages/ socialpubsync - vlt /shared sono presenti pacchetti, questi verranno recuperati e installati su altri editori.

Per modificare l’intervallo di polling:

  1. Effettuate l’accesso con i privilegi di amministratore nell’istanza di authoring AEM.

  2. Accedere alla console Web, ad esempio https://localhost:4502/system/console/configMgr

  3. Individua attivatore di distribuzione Sling Apache - Pianificato Triggers Factory

    • Selezionate la configurazione esistente da aprire per la modifica (icona matita).

      Verificare socialpubsync -Scheduled-trigger

    • Impostate l'intervallo in secondi sull'intervallo desiderato e salvate.

    trigger programmato

AEM Communities User Sync Listener

Per problemi nella distribuzione Sling in cui vi è una discrepanza nelle sottoscrizioni e seguenti, controllate se le seguenti proprietà in AEM Communities User Sync Listener configurazioni sono impostate:

  • NodeTypes
  • IgnorableProperties
  • IgnorableNodes
  • DistributedFolders

Per sincronizzare iscrizioni, seguiti e notifiche

Per ogni istanza di pubblicazione AEM:

  1. Effettuate l'accesso con privilegi di amministratore.

  2. Accedere alla console Web. Ad esempio, https://localhost:4503/system/console/configMgr.

  3. Individuare AEM Communities User Sync Listener.

  4. Seleziona la configurazione esistente da aprire per la modifica (icona matita)

    Nome verifica: socialpubsync -Scheduled-trigger

  5. Impostare i seguenti NodeTypes:

    rep:User

    nt:unstructured

    nt:resource

    rep:ACL

    sling:Folder

    sling:OrderedFolder

    I tipi di nodo specificati in questa proprietà verranno sincronizzati e le informazioni sulle notifiche (blog e configurazioni seguite) vengono sincronizzate tra editori diversi.

  6. Aggiungere tutte le cartelle da sincronizzare in DistributedFolders. Esempio,

    segments/scoring

    social/relationships

    activities

  7. Impostare ignorablenodes su:

    .tokens

    system

    rep:cache (poiché utilizziamo sessioni di tipo "fisso", non è necessario sincronizzare questo nodo con editori diversi).

    user-sync-listner

ID Sling univoco

AEM’istanza di creazione utilizza l’ID Sling per identificare da dove arrivano i dati e a quali editori deve (o non deve) inviare nuovamente il pacchetto.

Accertatevi che tutti gli editori di una farm di pubblicazione abbiano un ID Sling univoco. Se l’ID Sling è lo stesso per più istanze di pubblicazione in una farm di pubblicazione, la sincronizzazione degli utenti non riesce. Poiché l'autore non sa da dove recuperare il pacchetto e dove installarlo.

Per garantire un ID Sling univoco degli editori nella farm di pubblicazione, in ogni istanza di pubblicazione:

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

  2. Controllare il valore di Sling ID.

    singhiozzo

    Se l’ID Sling di un’istanza di pubblicazione corrisponde all’ID Sling di qualsiasi altra istanza di pubblicazione, effettuate le seguenti operazioni:

  3. Interrompi una delle istanze di pubblicazione con un ID Sling corrispondente.

  4. Nella directory crx-quickstart/launchpad/felix, cercare ed eliminare il file denominato sling.id.file.

    Ad esempio, su un sistema Linux:

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

    Ad esempio, in un sistema Windows:

    Utilizzare windows explorer e cercare sling.id.file

  5. Avviate l’istanza di pubblicazione. All'avvio, gli verrà assegnato un nuovo Sling ID.

  6. Verificare che l' Sling ID sia ora univoco.

Ripetete questi passaggi finché tutte le istanze di pubblicazione non dispongono di un ID Sling univoco.

Vault Package Builder Factory

Affinché gli aggiornamenti possano essere sincronizzati correttamente, è necessario modificare il generatore di pacchetti vault per la sincronizzazione degli utenti.
In /home/users viene creato un nodo */rep:cache. È una cache che viene utilizzata per scoprire che se eseguiamo query sul nome principale di un nodo, allora questa cache può essere utilizzata direttamente.

La sincronizzazione degli utenti può arrestarsi se i nodi rep :cache sono sincronizzati tra gli editori.

Per garantire che gli aggiornamenti siano sincronizzati correttamente tra gli editori, in ogni istanza di pubblicazione AEM:

  1. Accedere alla console Web

    Ad esempio, https://localhost:4503/system/console/configMgr.

  2. Individuare il pacchetto di distribuzione Apache Sling - Vault Package Builder Factory

    Nome del generatore: socialpubsync-vlt.

  3. Selezionate l’icona di modifica.

  4. Aggiungete due filtri nodo pacchetto:

    • /home/users|-.*/.tokens
    • /home/users|-.*/rep:cache
  5. Gestione dei criteri

    • Per sovrascrivere i nodi rep:policy con i nuovi, aggiungete un terzo Filtro pacchetto: /home/users|+.*/rep:policy
    • Per evitare la distribuzione dei criteri, impostare: Acl Handling: IGNORE

    Fabbrica del generatore di pacchetti Vault

Risoluzione dei problemi di distribuzione Sling in AEM Communities

Se la distribuzione Sling non riesce, provate i seguenti passaggi di debug:

  1. Verifica configurazioni aggiunte in modo errato

    Assicuratevi che non vengano aggiunte o modificate più configurazioni, ma che le configurazioni predefinite esistenti vengano modificate.

  2. Controllare le configurazioni

    Assicurati che tutte le configurazioni siano impostate correttamente nell'istanza di AEM Author, come indicato in Best Practices.

  3. Verifica autorizzazioni utente autorizzate

    Se i pacchetti non sono installati correttamente, verificate che l' utente autorizzato creato nella prima istanza di pubblicazione abbia gli ACL corretti.

    Per convalidarlo, invece di creare l'utente autorizzato modificare la Adobe Granite Distribution - Encrypted Password Transport Secret Provider configurazione nell'istanza Author per utilizzare le credenziali utente Amministratore. Tentate nuovamente di installare i pacchetti. Se la sincronizzazione utente funziona correttamente con le credenziali dell'amministratore, significa che l'utente di pubblicazione creato non aveva ACL appropriati.

  4. Controllare la configurazione di Diff Observer Factory

    Se solo nodi specifici non vengono sincronizzati nella farm di pubblicazione, ad esempio, i membri del gruppo non sono sincronizzati, assicurarsi che la configurazione Adobe Granite Distribution - Diff Observer Factory sia abilitata e che rep: i membri sono impostati in nomi delle proprietà di ricerca.

  5. Verificate configurazione del listener di sincronizzazione utenti AEM Communities. Se gli utenti creati sono sincronizzati ma le iscrizioni e i seguenti elementi non funzionano, accertatevi che configurazione del listener di sincronizzazione utenti AEM Communities abbia:

    • Tipi di nodo: impostato su rep:User, nt:unstructure, nt:resource, rep:ACL, sling:Folder e sling:OrderedFolder.
    • Nodi ignorabili: impostati su .tokens, system e rep:cache.
    • Cartelle distribuite: impostate le cartelle che desiderate distribuire.
  6. Controllate i registri generati durante la creazione dell’utente nell’istanza Pubblica

    Se le configurazioni di cui sopra sono impostate correttamente ma la sincronizzazione utente non funziona, controllate i registri generati al momento della creazione dell'utente.

    Verificare se l’ordine dei file di registro è lo stesso, come segue:

    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
    

Per eseguire il debug:

  1. Disattiva la sincronizzazione utente:

  2. Per AEM’istanza di creazione, effettuate l’accesso con privilegi di amministratore.

    1. Accedere alla console Web. Ad esempio, https://localhost:4502/system/console/configMgr.

    2. Individuare la configurazione Apache Sling Distribution Agent - Sync Agent Factory.

    3. Deselezionare la casella di controllo Abilitato.

      Quando si disabilita la sincronizzazione utente nell’istanza di creazione, gli endpoint (esportatore e importatore) vengono disattivati e l’istanza di creazione è statica. I pacchetti vlt non vengono cerchiati o inseriti dall'autore.

      Ora, se un utente viene creato nell'istanza di pubblicazione, il pacchetto vlt viene creato nel nodo /var/sling/distribution/packages/ socialpubsync - vlt /data. E se questi pacchetti vengono inviati dall'autore a un altro servizio. Puoi scaricare ed estrarre questi dati per verificare quali proprietà vengono inviate ad altri servizi.

  3. Passate a un editore e create un utente sull'editore. Di conseguenza, gli eventi vengono creati.

  4. Controllare l'ordine dei file di registro, creato al momento della creazione dell'utente.

  5. Verificate se in /var/sling/distribution/packages/socialpubsync-vlt/data venga creato un pacchetto vlt.

  6. A questo punto, abilitate la sincronizzazione degli utenti AEM’istanza di creazione.

  7. Nell'editore, modificate gli endpoint di esportazione o importazione in Apache Sling Distribution Agent - Sync Agent Factory.
    Possiamo scaricare ed estrarre i dati del pacchetto per verificare quali proprietà vengono inviate ad altri editori e quali dati vengono persi.

In questa pagina

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free