Show Menu
THEMEN×

SRP und UGC Essentials

Einführung

Wenn Sie mit dem Datenspeicherung Resource Provider (SRP) und seiner Beziehung zu benutzergenerierten Inhalten (UGC) nicht vertraut sind, besuchen Sie die Community Content Datenspeicherung und den Datenspeicherung Resource Provider-Überblick .
Dieser Abschnitt der Dokumentation enthält einige wichtige Informationen zu SRP und UGC.

StorageResourceProvider-API

Die SocialResourceProvider-API (SRP-API) ist eine Erweiterung verschiedener Sling Resource Provider-APIs. Es umfasst Unterstützung für Paginierung und atomare Inkrementierung (nützlich für Tally und Scoring).
Abfragen sind für SCF-Komponenten erforderlich, da eine Sortierung nach Datum, Hilfsbereitschaft, Anzahl der Stimmen usw. erforderlich ist. Alle SRP-Optionen verfügen über flexible Abfrage-Mechanismen, die sich nicht auf die Fehlersuche stützen.
Der Speicherort der SRP-Datenspeicherung enthält den Komponentenpfad. Die SRP-API sollte immer für den Zugriff auf UGC verwendet werden, da der Stammpfad von der ausgewählten SRP-Option wie ASRP, MSRP oder JSRP abhängt.
Die SRP-API ist keine abstrakte Klasse, sondern eine Schnittstelle. Eine benutzerdefinierte Implementierung sollte nicht auf die leichte Schulter genommen werden, da die Vorteile künftiger Verbesserungen an internen Implementierungen bei der Aktualisierung auf eine neue Version verpasst würden.
Die Mittel zur Verwendung der SRP-API werden über bereitgestellte Hilfsprogramme bereitgestellt, z. B. im Paket SocialResourceUtilities.
Beim Aktualisieren von AEM 6.0 oder früher müssen Sie UGC für alle SRP migrieren, für die ein Open-Source-Tool verfügbar ist. See Upgrading to AEM Communities 6.3 .
Bisher wurden Hilfsprogramme für den Zugriff auf UGC im Paket SocialUtils gefunden, das nicht mehr existiert.
Ersatzdienstprogramme finden Sie unter SocialUtils Refactoring .

Dienstprogrammmethode für den Zugriff auf UGC

Um auf UGC zuzugreifen, verwenden Sie eine Methode aus dem SocialResourceUtilities-Paket, die einen Pfad zurückgibt, der für den Zugriff auf UGC über SRP geeignet ist, und die veraltete Methode ersetzt, die im SocialUtils-Paket gefunden wird.
Im Folgenden finden Sie ein minimales Beispiel für die Verwendung der Methode resourceToUGCStoragePath() in einem Servlet:
import com.adobe.cq.social.srp.utilities.api.SocialResourceUtilities;

@Reference
private SocialResourceUtilities socialResourceUtilities;

@Override
protected void doGet(final SlingHttpServletRequest request, final SlingHttpServletResponse response) throws ServletException, IOException {
  String ugcPath = socialResourceUtilities.resourceToUGCStoragePath(request.getResource());
  // rest of servlet
}

Weitere SocialUtils-Ersetzungen finden Sie unter SocialUtils-Umgestaltung .
Richtlinien zum Kodieren finden Sie unter Zugriff auf UGC mit SRP .
Die Rückgabe des Pfads resourceToUGCStoragePath() ist nicht für die ACL-Prüfung geeignet.

Dienstprogrammmethode für den Zugriff auf ACLs

Einige SRP-Implementierungen, wie z. B. ASRP und MSRP, speichern Community-Inhalte in Datenbanken, die keine ACL-Verifizierung bieten. Shadow-Knoten bieten einen Speicherort im lokalen Repository, auf den ACLs angewendet werden können.
Bei Verwendung der SRP-API werden alle SRP-Optionen vor allen CRUD-Vorgängen an der Position des Schattens überprüft.
Um ACLs zu überprüfen, verwenden Sie eine Methode, die einen Pfad zurückgibt, der geeignet ist, die Berechtigungen zu überprüfen, die auf das UGC der Ressource angewendet wurden.
Im Folgenden finden Sie ein einfaches Beispiel für die Verwendung der resourceToACLPath()-Methode in einem Servlet:
import com.adobe.cq.social.srp.utilities.api.SocialResourceUtilities;

@Reference
private SocialResourceUtilities socialResourceUtilities;

@Override
protected void doGet(final SlingHttpServletRequest request, final SlingHttpServletResponse response) throws ServletException, IOException {
  String aclPath = socialResourceUtilities.resourceToACLPath(request.getResource());
  // rest of servlet
}

Der von resourceToACLPath() zurückgegebene Pfad ist nicht für den Zugriff auf das UGC selbst geeignet.