MSRP - Provider risorsa di archiviazione MongoDB msrp-mongodb-storage-resource-provider

Informazioni su MSRP about-msrp

Quando AEM Communities è configurato per utilizzare MSRP come archivio comune, i contenuti generati dagli utenti (UGC, User Generated Content) sono accessibili da tutte le istanze di authoring e pubblicazione senza la necessità di sincronizzazione o replica.

Vedi anche Caratteristiche delle opzioni SRP e topologie consigliate.

Requisiti requirements

Configurazione MongoDB mongodb-configuration

Seleziona MSRP select-msrp

La console Configurazione archiviazione consente di selezionare la configurazione di archiviazione predefinita, che identifica l'implementazione di SRP da utilizzare.

Per accedere alla console Configurazione archiviazione, dall’autore:

  • Dalla navigazione globale, seleziona Strumenti > Community > Configurazione archiviazione.

msrp

  • Seleziona Provider risorsa di archiviazione MongoDB (MSRP)

  • Configurazione mongoDB

    • URI mongoDB

      predefinito: mongodb://localhost/?maxPoolSize=10&waitQueueMultiple=5&readPreference=secondaryPreferred

    • Database MongoDB

      default: community

    • Raccolta UGC mongoDB

      predefinito: contenuto

    • Raccolta allegati mongoDB

      default: allegati

  • SolrConfiguration

    • Zookeeper Host

      Se l'esecuzione avviene in modalità SolrCloud con un controllo ZooKeeper esterno, impostare questo valore su HOST:PORT per il controllo ZooKeeper, ad esempio my.server.com:2181

      Per un gruppo ZooKeeper, immettere valori HOST:PORT separati da virgole, ad esempio host1:2181,host2:2181

      Lasciare vuoto se si esegue Solr in modalità standalone utilizzando lo ZooKeeper interno.
      Predefinito: <vuoto>

      • URL Solr
        URL utilizzato per comunicare con Solr in modalità autonoma.
        Lascia vuoto se l’esecuzione avviene in modalità SolrCloud.
        Predefinito: https://127.0.0.1:8983/solr/

      • Raccolta Solr
        Il nome della raccolta Solr.
        Predefinito: raccolta1

  • Seleziona Invia

NOTE
Il database mongoDB, il cui nome predefinito è communities, non deve essere impostato sul nome di un database utilizzato per archivi nodi o archivi dati (binari). Vedi anche Elementi di archiviazione in AEM 6.5.

Set di replica MongoDB mongodb-replica-set

Per l'ambiente di produzione, si consiglia vivamente di configurare un set di repliche, un cluster di server MongoDB che implementa la replica primaria-secondaria e il failover automatizzato.

Per ulteriori informazioni sui set di repliche, consulta la documentazione di Replica di MongoDB.

Per lavorare con i set di repliche e imparare a definire le connessioni tra le applicazioni e le istanze di MongoDB, consultare la documentazione relativa al formato URI stringa di connessione di MongoDB.

Url di esempio per la connessione a un set di replica example-url-for-connecting-to-a-replica-set

# Example url for:
# servers "mongoserver1", "mongoserver2", "mongoserver3"
# replica set 'rs0'
# port numbers only necessary if not default port 27017
mongodb://mongoserver1:<mongoport1>,mongoserver2:<mongoport2>,mongoserver3:<mongoport3>/?replicaSet=rs0&maxPoolSize=100&waitQueueMultiple=50&readPreference=secondaryPreferred

Configurazione Solr solr-configuration

Un’installazione Solr può essere condivisa tra l’archivio nodi (Oak) e l’archivio comune (MSRP) utilizzando raccolte diverse.

Se entrambe le raccolte Oak e MSRP vengono utilizzate in modo intensivo, è possibile installare un secondo Solr per motivi di prestazioni.

Per gli ambienti di produzione, la modalità SolrCloud offre prestazioni migliori rispetto alla modalità autonoma (un'unica installazione Solr locale).

Per informazioni dettagliate sulla configurazione, vedere Configurazione Solr per SRP.

Aggiornamento upgrading

Se si esegue l'aggiornamento da una versione precedente configurata con MSRP, sarà necessario:

  1. Esegui l'aggiornamento ad AEM Communities

  2. Installare nuovi file di configurazione Solr

  3. Reindicizza MSRP
    Vedere la sezione Strumento di reindicizzazione MSRP

Pubblicazione della configurazione publishing-the-configuration

Il protocollo MSRP deve essere identificato come archivio comune in tutte le istanze di authoring e pubblicazione.

Per rendere disponibile la configurazione identica nell’ambiente di pubblicazione, accedi all’istanza di authoring e segui i passaggi seguenti:

  • Passa dal menu principale a Strumenti > Operazioni > Replica.
  • Seleziona Attiva albero
  • Percorso iniziale:
    • Passa a /etc/socialconfig/srpc/
  • Seleziona Attiva

Gestione dei dati utente managing-user-data

Per informazioni relative a utenti, profili utente e gruppi di utenti, spesso immessi nell'ambiente di pubblicazione, visitare

Strumento Reindicizzazione MSRP msrp-reindex-tool

Esiste un endpoint HTTP per la reindicizzazione di Solr per MSRP durante l'installazione di nuovi file di configurazione o il ripristino di un indice Solr danneggiato.

Con questo strumento, MongoDB è l'origine di verità per MSRP; i backup devono essere eseguiti solo da MongoDB.

L'intero albero UGC può essere reindicizzato, o solo un sottoalbero specifico, come specificato dal parametro *path *data.

Questo strumento può essere eseguito dalla riga di comando utilizzando cURL o qualsiasi altro strumento HTTP.

Durante la reindicizzazione, esiste un compromesso tra la memoria e le prestazioni controllate dal parametro di dati *batchSize *, che specifica quanti record UGC vengono reindicizzati per batch.

Un valore di default ragionevole è 5000:

  • Se la memoria è un problema, specificare un numero inferiore
  • Se la velocità è un problema, specifica un numero maggiore per aumentarla

Esecuzione dello strumento Reindicizzazione MSRP tramite il comando cURL running-msrp-reindex-tool-using-curl-command

Il seguente comando cURL mostra ciò che è necessario affinché una richiesta HTTP reindicizzi i contenuti generati dagli utenti archiviati in MSRP.

Il formato di base è:

cURL -u accedi -d dati reindicizza-url

accesso = administrator-id:password
Ad esempio: admin:admin

dati = "batchSize=size&path=path"

size = quante voci UGC reindicizzare per operazione
/content/usergenerated/asi/mongo/

percorso = percorso principale della struttura ad albero di contenuti generati dagli utenti da reindicizzare

  • Per reindicizzare tutti i contenuti generati dagli utenti, specifica il valore della proprietà asipath di
    /etc/socialconfig/srpc/defaultconfiguration
  • Per limitare l'indice ad alcuni UGC, specificare un sottoalbero di asipath

reindex-url = endpoint per la reindicizzazione di SRP
http://localhost:4503/services/social/datastore/mongo/reindex

NOTE
Se si sta reindicizzando DSRP Solr, l'URL è /services/social/datastore/rdb/reindex

Esempio di reindicizzazione MSRP msrp-reindex-example

curl -s -u admin:admin -d 'batchSize=10000&path=/content/usergenerated/asi/mongo/' http://localhost:4503/services/social/datastore/mongo/reindex

Come Demo MSRP how-to-demo-msrp

Per impostare MSRP per un ambiente di dimostrazione o sviluppo, vedere Come configurare MongoDB per Demo.

Risoluzione dei problemi troubleshooting

UGC non visibile in MongoDB ugc-not-visible-in-mongodb

Verificare che MSRP sia stato configurato come provider predefinito controllando la configurazione dell'opzione di archiviazione. Per impostazione predefinita, il provider di risorse di archiviazione è JSRP.

Su tutte le istanze AEM di authoring e pubblicazione, visitare nuovamente la console Configurazione archiviazione o controllare l'archivio AEM:

  • In JCR, se /etc/socialconfig

    • Non contiene un nodo srpc. Il provider di archiviazione è JSRP.
    • Se il nodo srpc esiste e contiene il nodo defaultconfiguration, le proprietà di default configuration devono definire MSRP come provider predefinito.

UGC scompare dopo l’aggiornamento ugc-disappears-after-upgrade

In caso di aggiornamento da un sito AEM Communities 6.0 esistente, eventuali contenuti generati dagli utenti preesistenti devono essere convertiti in modo da essere conformi alla struttura richiesta per l'API SRP dopo l'aggiornamento ad AEM Communities 6.3.

Su GitHub è disponibile uno strumento open source a tale scopo:

Lo strumento di migrazione può essere personalizzato per esportare contenuti generati dagli utenti (UGC, User-Generated Content) di versioni precedenti delle social community AEM per l’importazione in AEM Communities 6.1 o versione successiva.

Errore - campo non definito provider_id error-undefined-field-provider-id

Se nei registri viene visualizzato il seguente errore, questo indica che il file di schema Solr non è configurato correttamente.

JsonMappingException: campo non definito provider_id jsonmappingexception-undefined-field-provider-id

Caused by: com.fasterxml.jackson.databind.JsonMappingException: undefined field provider_id
at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:129)
at com.fasterxml.jackson.databind.ObjectMapper.writeValue(ObjectMapper.java:1819)
at com.adobe.cq.social.scf.core.BaseSocialComponent.toJSONString(BaseSocialComponent.java:196)
... 124 common frames omitted

Per risolvere l'errore, quando si seguono le istruzioni per l'installazione di MLS standard, verificare:

  • I file di configurazione XML sono stati copiati nel percorso Solr corretto.
  • Solr è stato riavviato dopo che i nuovi file di configurazione hanno sostituito quelli esistenti.

Connessione sicura a MongoDB non riuscita secure-connection-to-mongodb-fails

Se un tentativo di stabilire una connessione protetta al server MongoDB non riesce a causa di una definizione di classe mancante, è necessario aggiornare il bundle del driver MongoDB, mongo-java-driver, disponibile dall'archivio maven pubblico.

  1. Scarica il driver da https://search.maven.org/#artifactdetails%7Corg.mongodb%7Cmongo-java-driver%7C2.13.2%7Cjar (versione 2.13.2 o successiva).
  2. Copia il bundle nella cartella "crx-quickstart/install" per un’istanza AEM.
  3. Riavvia l’istanza AEM.

Riferimenti resources

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