srp和UGC Essentials srp-and-ugc-essentials

簡介 introduction

若不熟悉儲存資源提供者(SRP)及其與使用者產生內容(UGC)的關係,請造訪社群內容儲存儲存資源提供者概觀

本檔案的這個區段提供有關SRP和UGC的一些基本資訊。

StorageResourceProvider API storageresourceprovider-api

SocialResourceProvider API (SRP API)是各種Sling資源提供者API的擴充功能。 其中包括對分頁和原子增量的支援(適用於計分和評分)。

SCF元件需要查詢,因為需要依日期、實用性、票數等排序。 所有SRP選項都有彈性的查詢機制,不依賴分組。

SRP儲存位置整合了元件路徑。 SRP API應一律用於存取UGC,因為根路徑取決於所選的SRP選項,例如ASRP、MSRP或JSRP。

SRP API不是抽象類別,而是介面。 自訂實施不應輕易進行,因為升級到新版本時,會錯過未來內部實施改善的好處。

使用SRP API的方法是透過提供的公用程式,例如SocialResourceUtilities套件中的公用程式。

從AEM 6.0或更舊版本升級時,必須移轉所有SRP (有開放式Source工具可用)的UGC。 請參閱升級至AEM Communities 6.3

NOTE
過去,用於存取UGC的公用程式已存在於SocialUtils套件中,該套件已不存在。
如需取代公用程式,請參閱SocialUtils重構

存取UGC的公用程式方法 utility-method-to-access-ugc

若要存取UGC,請使用SocialResourceUtilities套件中的方法,該方法會傳回適合從SRP存取UGC的路徑,並取代SocialUtils套件中找到的已棄用方法。

以下是在servlet中使用resourceToUGCStoragePath()方法的最小範例:

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
}

如需其他SocialUtils取代,請參閱SocialUtils重構

如需編碼准則,請造訪使用SRP存取UGC

CAUTION
傳回的路徑resourceToUGCStoragePath()為​ 不適用於ACL檢查

存取ACL的公用程式方法 utility-method-to-access-acls

有些SRP實作(例如ASRP和MSRP)會將社群內容儲存在未提供ACL驗證的資料庫中。 陰影節點會提供本機存放庫中ACL可套用的位置。

使用SRP API時,所有SRP選項都會在所有CRUD作業之前,對陰影位置執行相同的檢查。

若要檢查ACL,請使用傳回適合檢查套用至資源UGC之許可權的路徑的方法。

以下是在servlet中使用resourceToACLPath()方法的簡單範例:

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
}
CAUTION
resourceToACLPath()傳回的路徑為​ 不適合存取UGC本身

以下儲存位置的說明在使用JSRP或是MSRP進行開發時可能會有所幫助。 目前沒有存取ASRP中儲存之UGC的UI,因為有JSRP (CRXDE Lite)和MSRP (MongoDB工具)。

元件位置

當成員在發佈環境中進入UGC時,他們與AEM網站中的元件互動。

此類元件的範例是存在於社群元件指南網站中的comments元件。 本機存放庫中註解節點的路徑為:

  • 元件路徑= /content/community-components/en/comments/jcr:content/content/includable/comments

陰影節點位置

建立UGC也會建立套用必要ACL的陰影節點。 本機存放庫中對應陰影節點的路徑是在元件路徑前加上陰影節點根路徑的結果:

  • 根路徑= /content/usergenerated
  • 註解陰影節點= /content/usergenerated/content/community-components/en/comments/jcr:content/content/includable/comments

UGC位置

UGC不會在這兩個位置中建立,而且只能使用叫用SRP API的公用程式方法來存取。

  • 根路徑= /content/usergenerated/asi/srp-choice
  • JSRP的UGC節點= /content/usergenerated/asi/jcr/content/community-components/en/comments/jcr:content/content/includable/comments/srzd-let_it_be_

注意,對於JSRP,UGC節點將​ ​出現在輸入它的AEM執行個體(製作或發佈)上。 如果在發佈執行個體上輸入,就無法在作者上的稽核控制檯中進行稽核。

相關資訊 related-information

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