Sincronizzazione utenti 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 di configurazione della sincronizzazione utente

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

Sincronizzazione utente in background

sling-dist-workflow

  • pacchetto vlt

    Si tratta di 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 di distribuzione per Sling. Queste sono informazioni su dove il contenuto deve essere distribuito e quando è stato distribuito per ultimo.

Che 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.

Il nuovo gruppo community viene creato in 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.

Contenuto pubblicato dall'utente 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 - Sincronizza agenti 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:

  1. Accedi con privilegi di amministratore all’istanza di authoring AEM.

  2. Accedi alla Console web. Ad esempio, https://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:

  1. Accedi con privilegi di amministratore all’istanza di authoring AEM.

  2. Accedi alla Console web.

    Ad esempio, https://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à socialpubsync - publishUser.

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

    Ad esempio, user sync - 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, 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:

  1. Accedi con privilegi di amministratore all’istanza di authoring.

  2. Accedi alla Console web.

    Ad esempio, https://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. Selezionare la casella di controllo Abilitato e salvare.

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

  7. Ripeti la procedura per ogni istanza pubblica.

    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 venga aggiunto a nomi di proprietà analizzate.

Per garantire la sincronizzazione dei membri:

  1. Accedi con privilegi di amministratore all’istanza di authoring AEM.

  2. Accedi alla Console web.

    Ad esempio, https://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 descrizione per propertyName in nome proprietà cercato e salvare.

    diff-obs

Trigger di distribuzione Apache Sling - Factory dei trigger programmati

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:

  1. Accedi con privilegi di amministratore all’istanza di authoring AEM.

  2. Accedi alla Console web, ad esempio https://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 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, https://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 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 diversi editori.

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

    segments/scoring

    social/relationships

    activities

  7. Imposta ignorablenodes su:

    .tokens

    system

    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, per 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.

    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. 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 che gli aggiornamenti siano sincronizzati correttamente tra gli editori, in ogni istanza di pubblicazione AEM:

  1. Accedi alla Console web

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

  2. Individua il Pacchetto di distribuzione Apache Sling - Vault Package Builder Factory

    Nome del generatore: socialpubsync-vlt.

  3. Seleziona l’icona di modifica.

  4. Aggiungi due filtri del nodo 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 pacchetti: /home/users|+.*/rep:policy
    • Per evitare la distribuzione dei criteri, imposta: Acl Handling: IGNORE

    Fabbrica del generatore di pacchetti di Vault

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. Controllare le configurazioni

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

  3. Verifica 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 rep: i membri sono impostati in nomi delle proprietà analizzate.

  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, https://localhost:4502/system/console/configMgr.

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

    3. Deseleziona la casella di controllo Abilitato .

      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