AEM配置用于管理AEM中的设置并用作工作区。
配置可以从两个不同的角度来考虑。
总结:从管理员的视图角度,配置是您创建工作区以管理AEM中的设置的方式,而开发人员应了解AEM如何使用和管理存储库中的这些配置。
无论从您的角度如何,配置在AEM中起着两个主要作用:
AEM管理员和作者可以将配置视为工作区。 这些工作区可用于通过实施这些功能的访问权限来收集设置组及其相关内容以用于组织目的。
可以为AEM中的许多不同功能创建配置。
例如,管理员可以为可编辑模板创建两种配置。
然后,管理员可以使用WKND-General配置创建一般页面模板,然后使用WKND-Magazine下的特定于杂志的模板。
然后,管理员可以将WKND-General与WKND站点的所有内容相关联。 但是,WKND-Magazine配置将仅与杂志站点相关。
通过执行以下操作:
不仅可编辑模板可进行类似设置,云配置、ContextHub区段和内容片段模型也可进行类似设置。
配置浏览器允许管理员轻松创建、管理和配置AEM中配置的访问权限。
只有当用户具有admin
权限时,才能使用配置浏览器创建配置。 admin
为了向配置分配访问权限或以其他方式修改配置,还需要权限。
在AEM中使用配置浏览器创建新配置非常简单。
以Cloud Service身份登录AEM,从主菜单中选择工具 -> 常规 -> 配置浏览器。
点按或单击创建。
为配置提供标题和名称。
检查您希望允许的配置类型。
点按或单击创建。
配置可以嵌套。
如果您将配置视为工作区,则可以对这些配置设置访问权限,以便强制哪些人员可能访问这些工作区,也可能不访问这些工作区。
以Cloud Service身份登录AEM,从主菜单中选择工具 -> 常规 -> 配置浏览器。
选择要修改的配置,然后点按或单击工具栏中的属性。
选择要添加到配置的任何其他功能
在创建配置后,无法取消选择某个特征。
使用有效权限按钮视图角色矩阵及其当前授予配置的权限。
要分配新权限,请在添加新权限部分的选择用户或用户组字段中输入用户或用户组名称。
从自动完成结果中选择适当的用户或角色。
检查选定用户或角色应具有的访问选项,然后单击添加。
重复这些步骤以选择用户或角色,并根据需要分配其他访问权限。
完成后,点按或单击保存并关闭。
作为开发人员,了解AEM作为Cloud 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控制台,它允许查询存储库中的上下文感知配置并查看其属性。
只需提供:
单击解析以检索选定配置的关联上下文路径和属性。