在AEM Screens中配置Author和Publish实例 configuring-author-and-publish-in-aem-screens
本页重点介绍以下主题:
- 配置Author和Publish实例
- 设置Publish拓扑
- 管理发布:将内容更新从作者传送到Publish到设备
先决条件 prerequisites
在开始使用Author和Publish服务器之前,您应该事先了解以下知识:
- AEM拓扑
- 创建和管理AEM Screens项目
- 设备注册流程
配置创作实例和Publish实例 configuring-author-and-publish-instances
以下部分将介绍如何在Author和Publish拓扑上设置复制代理。
您可以设置一个简单示例,其中托管一个Author和两个Publish实例:
- 作者> localhost:4502
- Publish 1 (pub1) > localhost:4503
- Publish 2 (pub2) > localhost:4504
设置创作实例上的复制代理 setting-replication-agents
要创建复制代理,了解如何创建标准复制代理。
Screens需要三个复制代理:
- 默认复制代理*(指定为*标准复制代理)
- Screens复制代理
- 反向复制代理
步骤1:创建默认复制代理 step-creating-a-default-replication-agent
请按照以下步骤创建默认复制代理:
-
导航到您的AEM实例>锤子图标> 操作 > 配置。
-
单击左侧导航树中的 复制。
-
从 复制 文件夹中单击作者 上的 代理,然后单击 新建 以创建新的标准复制代理。
-
输入 Title 和 Name,以便创建复制代理,然后单击 创建。
-
右键单击复制代理,然后单击 打开 以编辑设置。
-
单击 编辑。
-
在 代理设置 对话框中,输入详细信息。
note note NOTE 用户必须选中 已启用 才能启用复制代理。 在默认、Screens和反向复制代理上选中此选项。 -
导航到 传输 选项卡,并输入 URI、用户 和 密码。
note note NOTE 您还可以复制和重命名现有的默认复制代理。
创建标准复制代理 creating-standard-replication-agents
- 为pub1创建标准复制代理(应已配置现成的默认代理)。 例如,
https://<hostname>:4503/bin/receive?sling:authRequestLogin=1
- 为pub2创建标准复制代理。 您可以复制pub1的复制代理,并通过更改传输配置中的端口来更新要用于pub2的传输。 例如:
https://<hostname>:4504/bin/receive?sling:authRequestLogin=1
。
创建Screens复制代理 creating-screens-replication-agents
-
为pub1创建AEM Screens复制代理。 开箱即用地有一个名为Screens的复制代理指向端口4503。 启用它。
-
为pub2创建一个AEM Screens复制代理。 复制pub1的Screens复制代理,并将pub2的端口更改为指向4504。
note note NOTE 要了解如何配置Screens复制代理,请参阅配置Screens复制代理。
创建Screens反向复制代理 creating-screens-reverse-replication-agents
- 为pub1创建反向复制代理。
- 为pub2创建反向复制代理。 您可以复制pub1的反向复制代理,并通过更改传输配置中的端口来更新要用于pub2的传输。
设置Publish拓扑 setting-up-publish-topology
步骤1:配置基于Apache Sling Oak的发现 step-configure-apache-sling-oak-based-discovery
为拓扑中的所有Publish实例设置基于Apache Sling Oak的发现
对于每个Publish实例:
-
导航到
https://<host>:<port>/system/console/configMgr
-
单击 Apache Sling基于Oak的发现服务 配置。
-
更新拓扑连接器URL:添加以下所有参与Publish实例的URL:
https://publish:4503/libs/sling/topology/connector
https://publish:4504/libs/sling/topology/connector
-
拓扑连接器
Whitelist
列表:适应覆盖所有Publish实例的IP或子网。 确保您whitelist
所有没有端口号的Publish实例的IP/主机名。 -
启用 自动停止本地循环
每个Publish实例的配置应该相同,并且自动停止本地循环可防止无限循环。
步骤2:验证Publish拓扑 step-verify-publish-topology
对于任何Publish实例,导航到https://:/system/console/topology
。 您应该会在 传出拓扑连接器 下看到拓扑中表示的每个Publish实例。
步骤3:设置ActiveMQ Artemis群集 step-setup-activemq-artemis-cluster
此步骤允许您为ActiveMQ Artemis群集创建加密密码。
拓扑中所有Publish实例的群集用户和密码必须相同。 ActiveMQ Artemis配置的密码必须加密。 由于每个实例都有自己的加密密钥,因此必须使用加密支持来创建加密的密码字符串。 然后,可以在ActiveMQ的OSGi配置中使用加密密码。
在每个Publish实例上:
- 在OSGi控制台中,导航到 MAIN > 加密支持 (
https://<host>:<port>/system/console/crypto
)。 - 在 纯文本 中键入所需的纯文本密码(所有实例均相同)
- 单击 Protect。
- 将值 Protected Text 复制到记事本或文本编辑器。 此值可以在ActiveMQ的OSGi配置中使用。
由于默认情况下,每个Publish实例都具有唯一的加密密钥,因此请在每个pub实例上执行此步骤,并保存唯一密钥以供下次配置使用。
{1ec346330f1c26b5c48255084c3b7272a5e85260322edd59119828d1fa0a610e}
步骤4:激活ActiveMQ Artemis群集 step-activate-activemq-artemis-cluster
在每个发布实例上:
-
导航到OSGi配置管理器
https://<host>:<port>/system/console/configMgr
-
单击 Apache ActiveMQ Artemis JMS提供程序 配置
-
更新以下内容:
- 群集密码:对各个实例使用上一步骤中的加密值
- 主题:
{name: 'commands', address: 'com.adobe.cq.screens.commands', maxConsumers: 50}
验证ActiveMQ Artemis群集 verify-activemq-artemis-cluster
在每个Publish实例中执行以下步骤:
-
导航到OSGi控制台> Main > ActiveMQ Artemis
https://localhost:4505/system/console/mq
。 -
验证并检查“Cluster Information”(群集信息)>“Topology”(拓扑)>“nodes= 2”(节点= 2, members= 2)下的其它实例的端口。
-
发送测试消息(屏幕顶部“代理信息”下)
-
在字段中输入以下更改:
- 目标: /com.adobe.cq.screens/devTestTopic
- 文本: Hello World
- 查看每个实例的
error.log
,以便您能够看到消息在整个群集中发送和接收。
例如,成功配置ActiveMQ Artemis服务器时将显示以下图像。
如果您没有从 /system/console/mq 看到以下配置,请导航到 /system/console/mq,然后单击 重新启动 以重新启动代理。
删除反向链接标头要求 remove-referrer-header-requirement
按照每个Publish实例中的步骤操作:
- 导航到 OSGi控制台 > 配置管理器
- 单击 Apache Sling引用过滤器
- 更新配置并 检查允许为空
配置创作实例和Publish实例 configuring-author-and-publish-instance
设置发布拓扑后,配置Author和Publish实例以查看实施的实际结果:
步骤1:启动AEM Screens播放器(设备)
- 启动单独的浏览器窗口。
- 使用 Web浏览器(即
https://localhost:4502/content/mobileapps/cq-screens-player/firmware.html
)转到Screens播放器,或启动AEM Screens应用程序。 打开设备时,请注意设备的状态为“未注册”。
步骤2:在创作实例上注册设备 step-registering-a-device-on-author
- 转到
https://localhost:4502/screens.html/content/screens/we-retail
或单击您的项目,然后导航到“设备”>“设备管理器”。 - 单击 注册设备。
- 单击 设备注册。
- 单击要注册的设备,然后单击 注册设备。
- 验证注册码,然后单击 验证。
- 输入设备的标题,然后单击 注册。
步骤3:指定要显示的设备 step-assigning-the-device-to-display
- 在上一步的对话框中单击 指定显示区。
- 单击 位置 文件夹中渠道的显示路径。
- 单击 分配。
- 单击 完成 以完成该过程,现在已分配设备。
检查您的播放器,并注意您在渠道中添加的内容。
步骤4:将设备配置发布到Publish实例 step-publishing-device-configuration-to-publish-instances
正在验证设备
按照以下步骤复制设备用户:
- 导航到用户管理页面。 例如:
https://localhost:4502/useradmin
。 - 搜索
screens-devices-master
组。 - 右键单击该组,然后单击 激活。
您还可以从设备管理控制台激活设备。 应遵循以下步骤:
- 导航到您的Screens项目> 设备。
- 单击操作栏中的 设备管理器。
- 单击设备,然后单击操作栏中的 激活,如下图所示。
发布检查列表 publishing-check-list
以下几点概述了“发布检查”列表:
-
Screens设备用户 — 此信息存储为AEM用户,可从 工具 > 安全性 > 用户 激活。 该用户的前缀为“screens”,其中包含一个较长的序列化字符串。
-
项目 - AEM Screens项目。
-
位置 — 设备连接到的位置。
-
频道 — 此位置显示的一个或多个频道。
-
计划 — 如果使用计划,请确保已发布此计划。
-
位置、计划和渠道文件夹 — 如果相应的资源在文件夹中。
执行以下步骤以验证创作和发布行为:
- 在创作实例上更新某些渠道内容。
- 执行 管理发布 以将新更改发布到所有Publish实例。
- 按 激活 从 设备管理器 激活设备。
- 从创作实例URL中选择 编辑URL 到其中一个发布实例URL。
- 验证更新的渠道内容是否显示在AEM Screens播放器上。
- 使用其他Publish实例重复这些步骤。
步骤5:在管理员面板中将设备指向Publish实例 step-pointing-the-device-to-publish-instance-in-the-admin-panel
- 从Screens播放器查看管理员UI,长按左上角,以便:在启用了触摸的AEM Screens播放器上,或使用鼠标打开管理员菜单。
- 单击侧面板中的 配置 选项。
- 在 服务器 中将创作实例更改为Publish实例。
在AEM Screens播放器中查看更改。
或者,您也可以使用以下步骤从设备管理控制台更新/编辑服务器URL:
- 导航到您的AEM Screens项目,然后单击 设备 文件夹。
- 单击操作栏中的 设备管理器。
- 单击设备,然后在操作栏中单击 编辑服务器URL,如下图所示。 您的更改将传播到AEM Screens播放器。
通过 管理发布 功能,您可以将内容更新从创作层传送到Publish层,然后再传送到设备层。 您可以为整个AEM Screens项目或仅为某个渠道、位置、设备、应用程序或计划发布/取消发布内容。 若要了解有关此功能的更多信息,请参阅按需内容更新。
疑难解答提示 troubleshoot-tips
请访问以下部分,以获取与Author/Publish设置相关的常见问题解答。
如何在初始注册和分配后添加从https到http的重定向? add-redirect
解决方案
将“启用Proxy/Load Balancer Connection in the Jetty configuration
”设置为true
。
如何更新/content/dam/projects/<project>
外部的资产存在的离线内容和播放器下载问题? update-offline-content
解决方案
如果您希望限制更严格,请为所有/content/dam
或要使用的特定资源的bulk-offline-update-screens-service用户和screens-devices-master
组授予读取权限。
如何解决Screens复制代理错误? replication-agent
解决方案
确保未在代理配置中选中使用反向复制选项。 Screens复制代理不能用作反向复制代理,此功能的作用是将设备命令从Author转发到Publish。