AEM設定可用於管理AEM中的設定,並作為工作區。
可從兩個不同的觀點來考慮配置。
總之:從管理員的角度來看,設定是您建立工作區以在AEM中管理設定的方式,而開發人員應了解AEM如何在存放庫中使用和管理這些設定。
無論從您的角度來看,設定在AEM中有兩個主要用途:
AEM管理員及作者可將設定視為工作區。 這些工作區可用於透過對這些功能實作存取權限,以收集設定群組以及其相關內容,以利於組織用途。
可在AEM中針對許多不同功能建立設定。
例如,管理員可為可編輯的範本建立兩個設定。
然後,管理員可使用WKND-General配置建立常規頁面模板,然後使用WKND-Magazine下該雜誌的特定模板。
然後,管理員可將WKND-General與WKND網站的所有內容相關聯。 但WKND-Magazine配置只與雜誌網站相關聯。
執行此動作:
不僅可編輯的範本,雲端設定、ContextHub區段和內容片段模型也可進行類似的設定。
組態瀏覽器可讓管理員輕鬆建立、管理和設定AEM中組態的存取權限。
只有當您的使用者擁有admin
權限時,才能使用「設定瀏覽器」建立設定。 admin
為了指派存取權給設定或以其他方式修改設定,也需要權限。
使用「設定瀏覽器」在AEM中建立新設定非常簡單。
以Cloud Service身分登入AEM,並從主功能表選取Tools -> General -> Configuration Browser。
點選或按一下建立。
為您的設定提供Title和Name。
檢查您要允許的配置類型。
點選或按一下建立。
配置可以嵌套。
如果您將設定視為工作區,則可在這些設定上設定存取權限,以強制哪些人可以和哪些人不可以存取這些工作區。
建立配置後,無法取消選取特徵。
身為開發人員,請務必了解AEM as aCloud Service如何搭配設定運作,以及處理設定解析的方式。
雖然管理員和用戶可能將配置視為工作場所來管理不同的設定和內容,但務必了解配置和內容由儲存庫中的AEM單獨儲存和管理。
/content
是所有內容的首頁。/conf
是所有設定的首頁。內容透過cq:conf
屬性參考其相關聯的設定。 AEM會根據內容執行查詢,其內容cq:conf
屬性可尋找適當的設定。
在此範例中,假設您有一些對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
。 此類項目可視為「設定文檔」,通常由cq:Page
表示,該jcr:content
包含實際內容。
最後,我們看到范常式式碼所需的屬性bgkcolor
。 我們從getItem
返回的ValueMap
是以頁面的jcr:content
節點為基礎。
上述基本範例顯示單一設定。 但在許多情況下,您會想要有不同的設定,例如預設全域設定、每個品牌的不同設定,以及子專案的特定設定。
若要支援此功能,AEM中的設定查閱會依下列偏好順序提供繼承和備援機制:
/conf/<siteconfig>/<parentconfig>/<myconfig>
/content
中某處的cq:conf
引用的特定配置/conf/<siteconfig>/<parentconfig>
/conf/<siteconfig>
/conf/global
admin
角色設定/apps
/libs
AEM中的設定是以Sling內容感知設定為基礎。 Sling套件組合提供服務API,可用來取得內容感知設定。 上下文感知配置是與內容資源或資源樹相關的配置,如上例中所述。
如需內容感知設定、範例及其使用方式的詳細資訊,請參閱Sling檔案。
為了進行偵錯和測試,在https://<host>:<port>/system/console/conf
處有一個ConfMgr Web控制台,可顯示指定路徑/項的配置。
只需提供:
按一下解析以查看已解析哪些配置並接收將解析這些配置的示例代碼。
為了偵錯和測試之用,https://<host>:<port>/system/console/slingcaconfig
提供上下文感知設定 Web主控台,可在存放庫中查詢上下文感知設定並檢視其屬性。
只需提供:
按一下解析以檢索選定配置的關聯上下文路徑和屬性。