Sincronizzazione utenti community communities-user-synchronization

Introduzione introduction

Nelle community Adobe Experience Manager (AEM), dall'ambiente Publish (a seconda delle autorizzazioni configurate), visitatori del sito possono diventare membri, creare gruppi di utenti e modificare il loro profilo membro.

Dati utente fa riferimento a utenti, profili utente e gruppi utenti.

Membri fanno riferimento a utenti registrati nell'ambiente Publish, a differenza degli 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 Publish synchronizing-users-across-a-publish-farm

Per progettazione, i dati utente creati nell’ambiente Publish 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 viene sincronizzata né replicata nelle istanze di Publish.

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

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

Istruzioni di configurazione di User Sync user-sync-setup-instructions

Per istruzioni dettagliate su come abilitare la sincronizzazione in una farm di pubblicazione, vedere Sincronizzazione utente.

Sincronizzazione utente in background user-sync-in-the-background

sling-dist-workflow

  • pacchetto vlt

    Si tratta di un file zip di tutte le modifiche apportate in un editore, che deve essere distribuito tra gli editori. Le modifiche apportate a un editore generano eventi selezionati dal listener di eventi di modifica. In questo modo viene creato un pacchetto vlt contenente tutte le modifiche.

  • pacchetto di distribuzione

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

Cosa Succede Quando… what-happens-when

Sito Publish dalla console dei siti di Communities publish-site-from-communities-sites-console

Quando un sito community viene pubblicato dalla console Sites per community, l'effetto è di replicare le pagine associate e Sling distribuisce i gruppi di utenti community creati in modo dinamico, inclusa la loro appartenenza.

L'utente è stato creato o modifica il profilo su Publish user-is-created-or-edits-profile-on-publish

Per progettazione, gli utenti e i profili creati nell’ambiente Publish (ad esempio tramite registrazione autonoma, accesso social, autenticazione LDAP) non vengono visualizzati nell’ambiente di authoring.

Se la topologia è una farm di pubblicazione e la sincronizzazione utente è stata configurata correttamente, il profilo utente utente e utente viene sincronizzato nella farm di pubblicazione utilizzando la distribuzione Sling.

Nuovo gruppo community creato su Publish new-community-group-is-created-on-publish

Sebbene avviata da un'istanza di Publish, la creazione del gruppo community, che genera nuove pagine del sito e un nuovo gruppo di utenti, si verifica in realtà nell'istanza Autore.

Come parte del processo, le nuove pagine del sito vengono replicate in tutte le istanze di Publish. Il gruppo di utenti community creato in modo dinamico e la sua appartenenza sono Sling distribuiti a tutte le istanze di Publish.

Gli utenti o i gruppi di utenti vengono creati utilizzando la console Sicurezza users-or-user-groups-are-created-using-security-console

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

Se necessario, quando si utilizza la console Amministrazione utenti e sicurezza per aggiungere nuovi utenti nell'ambiente di pubblicazione, la sincronizzazione utenti sincronizza i nuovi utenti e l'appartenenza al gruppo con altre istanze di pubblicazione. La sincronizzazione degli utenti sincronizza anche i gruppi di utenti creati tramite la console di sicurezza.

L'utente pubblica il contenuto su Publish user-posts-content-on-publish

Per i contenuti generati dagli utenti (UGC, User-Generated Content), i dati immessi in un'istanza Publish sono accessibili tramite il SRP configurato.

Best practice bestpractices

Per impostazione predefinita, la sincronizzazione utente è disabilitata. L'abilitazione della sincronizzazione degli utenti comporta la modifica di configurazioni OSGi esistenti. Non è possibile aggiungere nuove configurazioni abilitando la sincronizzazione degli utenti.

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

Prerequisiti

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

    Dopo l'abilitazione della 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 in AEM Communities sono necessarie le seguenti configurazioni. Assicurati che queste configurazioni siano corrette per evitare errori di distribuzione del contenuto Sling.

Agente di distribuzione Apache Sling - Factory agenti di sincronizzazione apache-sling-distribution-agent-sync-agents-factory

Questa configurazione recupera il contenuto da sincronizzare tra gli editori. La configurazione si trova nell’istanza di authoring. L’autore deve tenere traccia di tutti gli editori che sono presenti e 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 alla configurazione ulteriori istanze di pubblicazione.

Come viene sincronizzato il contenuto?

L’istanza di authoring esegue il ping dell’endpoint di esportazione degli editori. Ogni volta che un utente viene creato o aggiornato su editori specifici (n), l'autore ottiene il contenuto dagli endpoint di esportazione e invia il contenuto ad altri editori (n-1, che è diverso dagli 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 Agente di distribuzione Apache Sling - Factory agenti di sincronizzazione.

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

      Nome verifica: socialpubsync.

    • Seleziona la casella di controllo Abilitato.

    • Selezionare Usa più code.

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

      Questi endpoint definiscono dove desideri ottenere il contenuto e da dove 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

Adobe Granite Distribution - Provider segreto di trasporto con password crittografata adobe-granite-distribution-encrypted-password-transport-secret-provider

Consente all’autore di identificare l’utente autorizzato come autorizzato a sincronizzare i dati utente dall’autore alla pubblicazione.

L'utente autorizzato creato in tutte le istanze di pubblicazione consente agli editori di connettersi all'autore e configurare la distribuzione Sling nell'autore. Questo utente autorizzato dispone di tutti i ACL necessari.

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

Per connettere l’autore agli editori che utilizzano 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 Adobe Granite - Provider Segreto Trasporto Password Crittografata.

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

    Verificare la proprietà socialpubsync - publishUser.

  5. Imposta il nome utente e la password per l'utente autorizzato.

    Ad esempio, usersync - admin

granite-paswrd-trans

Agente di distribuzione Apache Sling - Factory agenti coda apache-sling-distribution-agent-queue-agents-factory

Questa configurazione viene utilizzata per configurare i dati da sincronizzare tra gli editori. Quando i dati vengono creati o aggiornati nei percorsi specificati in Directory principali consentite, l'opzione "var/community/distribution/diff" viene attivata 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 pubblicazione.

  2. Accedi alla console Web.

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

  3. Individua Agente di distribuzione Apache Sling - Factory agenti coda.

  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. Specificare i percorsi dei nodi da replicare in Directory principali consentite.

  7. Ripeti per ogni istanza publish.

    queue-agents-fact

Adobe Granite Distribution - Diff Observer Factory adobe-granite-distribution-diff-observer-factory

Questa configurazione sincronizza l'appartenenza ai gruppi tra gli editori.
Se la modifica dell'appartenenza di un gruppo in un editore non comporta l'aggiornamento dell'appartenenza ad altri editori, verificare che ref :members sia aggiunto a nomi di proprietà cercate.

Per garantire la sincronizzazione dei membri:

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

  2. Accedi alla console Web.

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

  3. Individua Distribuzione Adobe Granite - Diff Observer Factory.

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

    Verificare il nome dell'agente : socialpubsync -reverse.

  5. Seleziona la casella di controllo Abilitato.

  6. Specificare rep:members come descrizione per propertyName in nomi di proprietà visualizzati e Salva.

    diff-obs

Trigger di distribuzione Apache Sling - Factory dei trigger pianificati apache-sling-distribution-trigger-scheduled-triggers-factory

Questa configurazione consente di configurare l’intervallo di polling (dopo il quale viene eseguito il ping degli editori e le modifiche vengono estratte dall’autore) per sincronizzare le modifiche tra gli editori.

L’autore esegue il polling degli editori ogni 30 secondi (impostazione predefinita). Se nella cartella /var/sling/distribution/packages/ socialpubsync - vlt /shared sono presenti pacchetti, questi verranno recuperati e installati in altri autori.

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 - Factory dei trigger pianificati

    • 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, quindi salva.

    trigger pianificato

Listener di sincronizzazione utenti AEM Communities aem-communities-user-sync-listener

Per i problemi nella distribuzione Sling in cui si verifica una discrepanza nelle sottoscrizioni e nei seguenti elementi, verifica se sono impostate le seguenti proprietà nelle configurazioni del Listener di sincronizzazione utenti di AEM Communities:

  • NodeTypes
  • IgnorableProperties
  • IgnorableNodes
  • Cartelle distribuite

Per sincronizzare sottoscrizioni, operazioni 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 Listener di sincronizzazione utenti AEM Communities.

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

    Nome verifica: socialpubsync -scheduled-trigger

  5. Imposta i TipiNodo seguenti:

    rep:User

    nt:unstructured

    nt:resource

    rep:ACL

    sling:Folder

    sling:OrderedFolder

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

  6. Aggiungi tutte le cartelle da sincronizzare in DistributedFolders. Ad esempio:

    segments/scoring

    social/relationships

    activities

  7. Imposta ignorablenodes su:

    .tokens

    system

    rep:cache (poiché vengono utilizzate sessioni permanenti, non è necessario sincronizzare questo nodo con altri autori).

    utente-sync-listner

ID Sling univoco unique-sling-id

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

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 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 Publish:

  1. Passa a https://host:porta/system/console/status-slingsettings.

  2. Verifica il valore di ID Sling.

    slingid

    Se l’ID Sling di un’istanza di Publish corrisponde all’ID Sling di qualsiasi altra istanza di Publish:

  3. Arresta una delle istanze Publish 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:

    Usa Esplora risorse e cerca sling.id.file

  5. Avvia l’istanza di Publish. All’avvio gli viene assegnato un nuovo ID Sling.

  6. Verifica che l'ID Sling sia univoco.

Ripeti questi passaggi fino a quando tutte le istanze di Publish non avranno un ID Sling univoco.

Generatore pacchetti Vault - Fabbrica vault-package-builder-factory

Per sincronizzare correttamente gli aggiornamenti, è necessario modificare il generatore di pacchetti di Vault per la sincronizzazione utente.
In /home/users, viene creato un nodo */rep:cache. Si tratta di una cache utilizzata per rilevare che se eseguiamo una query sul nome principale di un nodo, questa cache può essere utilizzata direttamente.

La sincronizzazione degli utenti può essere interrotta se rep :cache nodi vengono sincronizzati tra gli editori.

Per garantire che gli aggiornamenti vengano sincronizzati correttamente tra gli editori, su ogni istanza di AEM Publish:

  1. Accedi alla console Web

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

  2. Individua Apache Sling Distribution Packaging - Vault Package Builder Factory

    Nome generatore: socialpubsync-vlt.

  3. Seleziona l’icona Modifica.

  4. Aggiungi due filtri per nodo pacchetto:

    • /home/users|-.*/.tokens
    • /home/users|-.*/rep:cache
  5. Gestione delle policy

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

    Generatore di pacchetti Vault factory

Risolvere i problemi relativi alla distribuzione Sling in AEM Communities troubleshoot-sling-distribution-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; è invece necessario modificare le configurazioni predefinite esistenti.

  2. Verifica configurazioni

    Assicurati che tutte le configurazioni siano impostate in modo appropriato nell'istanza Autore AEM, come indicato nelle Best practice.

  3. Verifica autorizzazioni utente autorizzate

    Se i pacchetti non sono installati correttamente, verificare che l'utente autorizzato creato nella prima istanza di Publish disponga degli ACL corretti.

    Per convalidarlo, invece dell'utente autorizzato creato, modifica la configurazione Distribuzione Adobe Granite - Provider segreto di trasporto password crittografata nell'istanza Autore per utilizzare le credenziali utente amministratore. Ora prova a installare di nuovo i pacchetti. Se la sincronizzazione degli utenti funziona correttamente con le credenziali di amministratore, significa che l’utente Publish creato non disponeva di ACL appropriati.

  4. Verifica configurazione Diff Observer Factory

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

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

    • Tipi di nodo- impostati su rep:User, nt:unstructured, nt:resource, rep:ACL, sling:Folder e sling:OrderedFolder.
    • Nodi ignorabili - impostati su .token, system e rep :cache.
    • Cartelle distribuite: impostare le cartelle che si desidera distribuire.
  6. Verifica i registri generati durante la creazione dell'utente nell'istanza di 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:

    code language-shell
    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. Nell’istanza di authoring AEM, accedi con privilegi di amministratore.

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

    2. Individuare la configurazione Agente di distribuzione Apache Sling - Factory agenti di sincronizzazione.

    3. Deselezionare la casella di controllo Abilitato.

      Quando si disabilita la sincronizzazione utente nell’istanza di authoring (esportazione e importazione), gli endpoint vengono disabilitati e l’istanza di authoring è statica. I pacchetti vlt non vengono sottoposti a ping o recuperati 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. Passare a un editore e creare un utente nell'editore. Di conseguenza, vengono creati gli eventi.

  4. Controlla l'ordine dei registri creati durante la creazione dell'utente.

  5. Verificare se un pacchetto vlt è stato creato in /var/sling/distribution/packages/socialpubsync-vlt/data.

  6. Ora abilita la sincronizzazione degli utenti nell’istanza Autore AEM.

  7. Nel server di pubblicazione, modificare gli endpoint di esportazione o importazione in Agente di distribuzione Apache Sling - Factory agenti di sincronizzazione.
    Possiamo scaricare ed estrarre i dati del pacchetto per verificare tutte le proprietà inviate ad altri editori e quali dati vengono persi.

recommendation-more-help
81e2cd9d-0789-409d-b87c-2a8ce4f28791