設定和設定瀏覽器 configuration-browser

AEM設定可管理AEM中的設定,並作為工作區使用。

什麼是設定? what-is-a-configuration

可以從兩個不同的觀點來考慮設定。

  • 管理員使用設定作為AEM內的工作區,以定義和管理設定群組。
  • 開發人員使用實作設定的基礎設定機制,以便在AEM中儲存和查詢設定。

簡而言之:從管理員的觀點來看,組態是您建立工作區以管理AEM中設定的方式,而開發人員應瞭解AEM如何使用及管理存放庫中的這些組態。

無論您如何認為,設定在AEM中有兩個主要用途:

  • 設定可為特定使用者群組啟用某些功能。
  • 設定會定義這些功能的存取權。

管理員設定 configurations-administrator

AEM管理員和作者可以將設定視為工作區。 藉由實作這些功能的存取許可權,這些工作區可用於收集設定群組及其相關內容,以進行組織作業。

可針對AEM中的許多不同功能建立設定。

範例 administrator-example

例如,管理員可以為可編輯的範本建立兩個組態。

  • WKND — 一般
  • WKND-Magazine

然後,管理員可以使用WKND-General設定建立一般頁面範本,然後使用WKND-Magazine下的雜誌專用範本。

然後,管理員可以將WKND-General與WKND網站的所有內容相關聯。 不過,WKND-Magazine設定只會與magazine網站相關聯。

藉由執行此動作:

  • 內容作者為雜誌建立頁面時,作者可以選擇一般範本(WKND-General)或雜誌範本(WKND-Magazine)。
  • 當內容作者為網站中其他非雜誌部分建立頁面時,作者只能從一般範本(WKND-General)中選擇。

類似設定不僅適用於可編輯範本,也適用於雲端設定、ContextHub區段和內容片段模型。

使用設定瀏覽器 using-configuration-browser

組態瀏覽器可讓管理員輕鬆建立、管理及設定AEM中組態的存取權。

NOTE
只有當您的使用者具有admin許可權時,才能使用設定瀏覽器建立設定。 管理員許可權也是指派存取權給設定或修改設定所必需的。

建立設定 creating-a-configuration

使用設定瀏覽器,即可在AEM中輕鬆建立設定。

  1. 登入AEM as a Cloud Service,從主功能表選取​ 工具 > 一般 > 設定瀏覽器

  2. 按一下​ 建立

  3. 提供設定的​ 標題 ​和​ 名稱

    建立設定

    • 標題 應該是描述性的。

    • 名稱 ​會成為存放庫中的節點名稱。

  4. 檢查您要允許的設定型別。

  5. 按一下​ 建立

TIP
設定可以巢狀化。

編輯設定及其存取許可權 access-rights

如果您將設定視為工作區,則可以在這些設定上設定存取權,以強制實行誰可以存取這些工作區,誰不可以存取。

  1. 登入AEM as a Cloud Service,從主功能表選取​ 工具 > 一般 > 設定瀏覽器

  2. 選取您要修改的組態,然後按一下工具列中的​ 屬性

  3. 選取您要新增至設定的任何其他功能。

    note note
    NOTE
    建立設定後,就無法取消選取功能。
  4. 使用​ 有效許可權 ​按鈕來檢視角色矩陣,以及這些角色目前授與組態哪些許可權。
    有效許可權視窗

  5. 若要指派新許可權,請在​ 新增許可權 ​區段的​ 選取使用者或群組 ​欄位中輸入使用者或群組名稱。

    • 選取使用者或群組 ​欄位會根據現有的使用者和角色提供自動完成功能。
  6. 從自動完成結果中選取適當的使用者或角色。

    • 您可以選取多個使用者或角色。
  7. 檢查選取的使用者或角色應該擁有的存取選項,然後按一下[新增]。
    新增存取許可權至設定

  8. 重複這些步驟,您就可以選取使用者或角色,並視需要指派其他存取許可權。

  9. 完成時選取​ 儲存並關閉

開發人員設定 configurations-developer

作為開發人員,請務必瞭解AEM as a Cloud Service如何處理設定,以及如何處理設定解析。

設定與內容分離 separation-of-config-and-content

雖然管理員和使用者可能會將設定視為工作區,以管理不同的設定和內容,但請務必瞭解設定和內容是由AEM在存放庫中分別儲存和管理。

  • /content是所有內容的首頁。
  • /conf是所有設定的主目錄。

內容透過cq:conf屬性參考其關聯組態。 AEM會根據內容及其內容cq:conf屬性執行查詢,以尋找適當的組態。

範例 developer-example

在此範例中,假設您有一些對DAM設定感興趣的應用程式程式碼。

Conf conf = resource.adaptTo(Conf.class);
ValueMap imageServerSettings = conf.getItem("dam/imageserver");
String bgkcolor = imageServerSettings.get("bgkcolor", "FFFFFF");

所有組態查詢的起點是內容資源,位於/content之下。 這可能是頁面、頁面內的元件、資產或DAM資料夾。 這是您要尋找適用於此內容的正確設定的實際內容。

現在擁有Conf物件,您可以擷取您感興趣的特定設定專案。 在此案例中,它是dam/imageserver,這是與imageserver相關的設定集合。 getItem呼叫傳回ValueMap。 接著您會讀取bgkcolor字串屬性,並提供「FFFFFF」的預設值,以防屬性(或整個設定專案)不存在。

現在來看看對應的JCR內容:

/content/dam/wknd
    + jcr:content
      - cq:conf = "/conf/wknd"
    + image.png [dam:Asset]

/conf/wkns
    + settings
      + dam
        + imageserver [cq:Page]
          + jcr:content
            - bgkcolor = "FF0000"

在此範例中,您可以在此處假設WKND特定的DAM資料夾以及對應的設定。 從該資料夾/content/dam/wknd開始,您可以看到名為cq:conf的字串屬性參考了應該套用至子樹狀結構的組態。 屬性設定在資產資料夾或頁面的jcr:content上。 這conf個連結是明確的,因此只要檢視CRXDE中的內容,就能輕鬆追蹤連結。

/conf內部跳轉,您可以追蹤參考並檢視是否有/conf/wknd節點。 此為設定。 其查詢對應用程式程式碼而言是透明的。 範常式式碼從未有專屬參考,而是隱藏在Conf物件之後。 要套用哪個設定,需透過JCR內容控制。

您可以看到組態包含固定名稱的settings節點,其中包含實際專案,包括您在此情況下所需的dam/imageserver。 此類專案可視為「設定檔案」,並由包含實際內容的jcr:contentcq:Page表示。

最後,您可以看到範常式式碼需要的屬性bgkcolor。 您從getItem回訪的ValueMap是以頁面的jcr:content節點為基礎。

設定解析度 configuration-resolution

上述基本範例顯示單一組態。 但在許多情況下,您會想要有不同的設定,例如預設全域設定、每個品牌的不同設定,以及子專案的特定設定。

為了支援此功能,AEM中的組態查詢具有繼承和遞補機制,其偏好設定順序如下:

  1. /conf/<siteconfig>/<parentconfig>/<myconfig>

    • /content中某處cq:conf參考的特定設定
    • 階層是任意的,而且可以像您的網站結構一樣設計,知道這一點並非應用程式程式碼的業務
    • 可由具有設定許可權的使用者在執行階段變更
  2. /conf/<siteconfig>/<parentconfig>

    • 周遊父級以取得遞補設定
    • 可由具有設定許可權的使用者在執行階段變更
  3. /conf/<siteconfig>

    • 周遊父級以取得遞補設定
    • 可由具有設定許可權的使用者在執行階段變更
  4. /conf/global

    • 系統全域設定
    • 您安裝的全域預設值
    • admin角色設定
    • 可由具有設定許可權的使用者在執行階段變更
  5. /apps

    • 應用程式預設值
    • 已修正應用程式部署
    • 在執行階段為唯讀
  6. /libs

    • AEM產品預設值
    • 僅可依Adobe變更,不允許專案存取
    • 已修正應用程式部署
    • 在執行階段為唯讀

使用設定 using-configurations

AEM中的設定是根據Sling內容感知設定。 Sling套件組合提供的服務API可用於取得內容感知設定。 內容感知組態是與內容資源或資源樹狀結構相關的組態,如上一個範例所述

如需內容感知設定、範例及使用方式的詳細資訊,請參閱Sling檔案。

ConfMgr Web主控台 confmgr-web-console

為了偵錯和測試目的,https://<host>:<port>/system/console/conf有一個​ ConfMgr ​網頁主控台,可顯示指定路徑/專案的設定。

ConfMgr

只需提供:

  • 內容路徑
  • 專案
  • 使用者

若要檢視已解析的組態並接收解析這些組態的範常式式碼,請選取​ 解析

內容感知設定Web主控台 context-aware-web-console

為了偵錯和測試目的,https://<host>:<port>/system/console/slingcaconfig有一個​ 內容感知設定 ​網頁主控台,可讓您查詢存放庫中的內容感知設定並檢視其屬性。

內容感知設定Web主控台

只需提供:

  • 內容路徑
  • 設定名稱

若要擷取所選組態的關聯內容路徑與屬性,請選取​ 解析

recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2