Sincronizzazione utente community

Introduzione

In AEM Communities, dall'ambiente di pubblicazione (a seconda delle autorizzazioni configurate), i visitatori del sito possono diventare membri, creare gruppi di utenti e modificare il loro profilo membro.

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

​ Iscrizione è un termine utilizzato per fare riferimento agli ​ utenti registrati nell’ambiente di pubblicazione, rispetto agli utenti registrati nell’ambiente di authoring.

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

Sincronizzazione degli utenti in una farm di pubblicazione

Per progettazione, 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 ha lo scopo di rimanere nell’ambiente di authoring e non viene sincronizzata né replicata nelle istanze di pubblicazione.

Quando la topologia è una farm di pubblicazione, la registrazione e le modifiche effettuate su un'istanza di pubblicazione devono essere sincronizzate con altre istanze di pubblicazione. I membri devono essere in grado di accedere e visualizzare i propri dati su qualsiasi nodo di pubblicazione.

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

Istruzioni per l'installazione della sincronizzazione utente

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

Sincronizzazione utente in background

sling-dist-workflow

  • Pacchetto VLT: è un file zip di tutte le modifiche apportate a un editore, che deve essere distribuito tra gli editori. Le modifiche apportate a un editore generano eventi selezionati dal listener di eventi change. Questo crea un pacchetto vlt contenente tutte le modifiche.

  • Pacchetto di distribuzione: contiene informazioni sulla distribuzione per Sling. Queste sono informazioni su dove il contenuto deve essere distribuito e quando è stato distribuito per ultimo.

Cosa Succede Quando …

Pubblica sito dalla console Sites di Communities

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

L’utente viene creato o modifica il profilo in Pubblica

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

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

Viene creato un nuovo gruppo community su Pubblica

Anche se avviata da un'istanza di pubblicazione, la creazione del gruppo community, che si traduce in nuove pagine del sito e in un nuovo gruppo di utenti, in realtà avviene nell'istanza di authoring.

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 iscrizione sono Sling distribuiti a tutte le istanze di pubblicazione.

Utenti o gruppi di utenti creati tramite la console di sicurezza

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

Quando la console Amministrazione utente e sicurezza viene utilizzata per aggiungere nuovi utenti nell’ambiente di pubblicazione, la sincronizzazione utente sincronizza i nuovi utenti e la loro appartenenza al gruppo con altre istanze di pubblicazione, se necessario. La sincronizzazione utente sincronizza anche i gruppi di utenti creati tramite la console di sicurezza.

Pubblicazioni utente 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 esistenti OSGi. Non è necessario aggiungere nuove configurazioni per abilitare la sincronizzazione utente.

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

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 abilitata la sincronizzazione utente, vengono sincronizzati solo gli utenti e i gruppi appena creati .

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

Le seguenti configurazioni sono necessarie per abilitare la sincronizzazione utente su AEM Communities. Assicurati che queste configurazioni siano corrette per evitare errori nella distribuzione del contenuto sling.

Agente di distribuzione Apache Sling - 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 sono per una singola istanza di pubblicazione. Poiché la sincronizzazione utente è 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 dell'autore esegue il ping dell'endpoint dell'esportatore degli editori. Ogni volta che un utente viene creato o aggiornato su editori specifici (n), l'autore ottiene il contenuto dai propri 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

Per AEM’istanza di authoring:

  1. Accedi con privilegi di amministratore.

  2. Accedi alla Console web.

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

  3. Individua Apache Sling Distribution Agent - Sync Agents Factory.

    • Seleziona la configurazione esistente da aprire per la modifica (icona a forma di matita).

    • Nome verifica: socialpubsync.

    • Selezionare la casella di controllo Attivato.

    • Seleziona Usa più code.

    • Specifica Endpoint esportazione e Endpoint importazione (puoi aggiungere altri endpoint di esportazione e importazione).

      Questi endpoint definiscono la posizione da cui desideri ottenere il contenuto e la posizione in cui desideri inviarlo. L’autore recupera il contenuto dall’endpoint di esportazione specificato e lo invia 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 aiuta gli editori a connettersi con l’autore e configurare la distribuzione Sling sull’autore. Questo utente autorizzato ha tutti i ACLs 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 agli editori utilizzando un utente autorizzato

Per AEM’istanza di authoring:

  1. Accedi con privilegi di amministratore.

  2. Accedi alla Console web.

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

  3. Individua Distribuzione Granite Adobe - Provider segreto di trasporto password crittografata.

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

    Verifica la proprietà name: socialpubsync- publishUser .

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

    Ad esempio, usersync-admin

    granite-paswrd-trans

Agente di distribuzione Apache Sling - Queue Agent 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, viene attivato "var/community/distribution/diff" e il replicatore creato recupera i dati da un editore e li installa su altri editori.

Per configurare i dati (percorsi dei nodi) da sincronizzare

In AEM istanza di pubblicazione:

  1. Accedi con privilegi di amministratore.

  2. Accedi alla Console web.

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

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

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

    Nome verifica: socialpubsync -reverse.

  5. Seleziona la casella di controllo Abilitato e salva.

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

  7. Ripeti 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, assicurati che ref:Members sia aggiunto a nomi di proprietà analizzate.

Per garantire la sincronizzazione dei membri

Su ogni istanza di pubblicazione AEM:

  1. Accedi con privilegi di amministratore.

  2. Accedi alla Console web.

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

  3. Individua Distribuzione granite Adobe - Diff Observer Factory.

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

    Verifica nome agente: socialpubsync \ reverse**.

  5. Selezionare la casella di controllo Attivato.

  6. Specificare rep:members come description per propertyName in nomi di proprietà cercate e salvare.

    diff-obs

Trigger di distribuzione Apache Sling - Scheduled Triggers Factory

Questa configurazione ti consente di configurare l’intervallo di polling (dopo il quale gli editori vengono inseriti nel ping e le modifiche vengono richiamate 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

Per AEM’istanza di authoring:

  1. Accedi con privilegi di amministratore.

  2. Accedi alla Console web, ad esempio http://localhost:4502/system/console/configMgr

  3. Individua Trigger di distribuzione Apache Sling - Scheduled Triggers Factory

    • Seleziona la configurazione esistente da aprire per la modifica (icona a forma di matita)
    • Verifica Name: socialpubsync-scheduled-trigger
    • Imposta l'intervallo in secondi sull'intervallo desiderato e salva.

    innesco programmato

Listener di sincronizzazione utenti di AEM Communities

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

  • NodeTypes
  • IgnorableProperties
  • IgnorableNodes
  • Cartelle distribuite

Per sincronizzare abbonamenti, seguiti e notifiche

Su ogni istanza di pubblicazione AEM:

  1. Accedi con privilegi di amministratore.

  2. Accedi alla Console web. Ad esempio, http://localhost:4503/system/console/configMgr.

  3. Individua AEM Communities User Sync Listener.

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

    Nome verifica: socialpubsync-scheduled-trigger

  5. Imposta quanto segue NodeTypes :

    rep:User

    nt :non strutturato

    nt :riferimento

    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 diversi editori.

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

    segmenti/punteggio

    social/relazioni

    attività

  7. Imposta ignorablenodes su:

    .token

    sistema

    rep :cache (poiché utilizziamo sessioni permanenti, non è necessario sincronizzare questo nodo con editori diversi)

    user-sync-listner

ID Sling univoco

AEM’istanza di authoring utilizza l’ID Sling per identificare da dove vengono i dati e a quali editori deve (o non deve) restituire il pacchetto.

Assicurati che tutti gli editori in 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 utente avrà esito negativo. Poiché l’autore non saprà da dove recuperare il pacchetto e dove installarlo.

Per garantire un ID Sling univoco degli editori nella farm di pubblicazione

Su ogni istanza di pubblicazione:

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

  2. Controlla 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, allora:

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

  4. Nella directory crx-quickstart/launchpad/felix, cerca ed elimina il file denominato _sling.id.file.

    per esempio, su un sistema Linux:

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

    ad esempio, in un sistema Windows:

    use windows explorer and search for _sling.id.file_

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

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

Ripeti questi passaggi fino a quando tutte le istanze di pubblicazione hanno un ID Sling univoco.

Vault Package Builder Factory

Affinché gli aggiornamenti si sincronizzino correttamente, è necessario modificare il generatore di pacchetti vault per la sincronizzazione utente.
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 utente può interrompersi se i nodi rep:cache sono sincronizzati tra gli editori.

Per garantire la corretta sincronizzazione degli aggiornamenti tra gli editori

Su ogni istanza di pubblicazione AEM:

  1. Accedi alla Console web, ad esempio http://localhost:4503/system/console/configMgr.

  2. Individua il Pacchetto di distribuzione Apache Sling - Vault Package Builder Factory Builder name: socialpubsync-vlt.

  3. Seleziona l’icona di modifica.

  4. Aggiungi due filtri del pacchetto:

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

    • Per sovrascrivere i nodi rep :policy esistenti con quelli nuovi, aggiungi un terzo Filtro pacchetto:

      /home/users|**+**.\*/rep:policy

    • Per evitare la distribuzione dei criteri, impostare

      Trattamento Acl: IGNORE

vault-package-builder-factory

Risolvere i problemi relativi alla distribuzione Sling in AEM Communities

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

  1. Verifica configurazioni aggiunte in modo errato. Assicurati che non vengano aggiunte o modificate più configurazioni, ma devi modificare le configurazioni predefinite esistenti.

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

  3. Controlla le autorizzazioni utente autorizzate. Se i pacchetti non sono installati correttamente, controlla che l' utente autorizzato creato nella prima istanza di pubblicazione abbia le ACL corrette.

    Per convalidarlo, invece della configurazione utente autorizzato creato modifica la Distribuzione granite di Adobe - Provider segreto di trasporto password crittografata nell'istanza Autore per utilizzare le credenziali utente amministratore. Ora prova di nuovo a installare i pacchetti. Se la sincronizzazione utente funziona correttamente con le credenziali di 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 sono sincronizzati nella farm di pubblicazione, ad esempio, i membri del gruppo non sono sincronizzati, assicurati che la configurazione Adobe Granite Distribution - Diff Observer Factory sia abilitata e che rep:Members sia impostata in nomi di proprietà cercate.

  5. Controlla la configurazione del listener di sincronizzazione utente di AEM Communities. Se gli utenti creati sono sincronizzati ma le sottoscrizioni e i seguenti non funzionano, assicurati che la configurazione del listener di sincronizzazione utenti di AEM Communities abbia:

    • Tipi di nodo: impostato su rep:User, nt:unstructured, nt:resource, rep:ACL, sling:Folder e sling:OrderedFolder
    • Nodi ignorabili: impostati su .tokens, system e rep:cache
    • Cartelle distribuite: impostate le cartelle da distribuire
  6. Controlla i registri generati durante la creazione dell’utente nell’istanza Publish. Se le configurazioni di cui sopra sono impostate in modo appropriato ma la sincronizzazione utente non funziona, controlla i registri generati al momento della creazione dell’utente.

    Verifica se l’ordine dei registri è 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. Su AEM’istanza di authoring, accedi con privilegi di amministratore.

      1. Accedi alla Console web. Ad esempio, http://localhost:4502/system/console/configMgr.

      2. Individua la configurazione Apache Sling Distribution Agent - Sync Agents Factory.

      3. Deseleziona la casella di controllo Enabled .

      Quando si disabilita la sincronizzazione utente nell’istanza di authoring, gli endpoint (esportazione e importazione) sono disabilitati e l’istanza di authoring è statica. I pacchetti vlt non vengono inseriti o recuperati dall’autore.

      Ora, se un utente viene creato sull'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 controllare quali proprietà vengono inviate ad altri servizi.

    3. Passa a un editore e crea un utente sull'editore. Di conseguenza, vengono creati degli eventi.

    4. Controlla l' ordine dei log creati al momento della creazione dell'utente.

    5. Controlla se un pacchetto vlt viene creato su /var/sling/distribution/packages/socialpubsync-vlt/data.

    6. Ora, abilita la sincronizzazione utente sull'istanza AEM autore.

    7. Sull'editore, modifica gli endpoint dell'esportatore o dell'importatore in Apache Sling Distribution Agent - Sync Agents 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