1

我有一个关于我们如何将产品从后台导入/同步到 CQ5 前端的问题。

架构非常简单 - 自定义后台管理所有产品(基本上它将成为事实的来源)。CQ5 驱动的网站显示搜索结果(由 Adob​​e SearchAndPromote 驱动)和产品详细信息。购买交易将在 CQ5 之外处理。

我浏览了http://dev.day.com/docs/en/cq/current/ecommerce/eCommerce-framework.html,我想知道我们应该朝哪个方向移动,但我希望有人确认我的理解是正确的。

1) 我需要创建在作者节点上运行的计划作业,该作业将调用后台并将产品作为 json 提要导入。我使用基于注释的@Service(Runnable.class) - 有没有办法设置它,让它只在作者节点上运行?

2)创建自定义服务(上面称为我的服务),它将实际创建crx中的所有节点。如果我有网站的桌面版和移动版,我是否需要将所有这些完成创建两次?有没有关于更简单的方法来创建它们的提示?

3)让CQ5复制那些产品来发布节点。

有没有更简单的方法?我的意思是,如果我使用更标准的网络应用程序,我将有一个控制器来显示产品详细信息、两个模板(一个用于移动设备,一个用于桌面)和一个可以调用后台并返回请求产品详细信息的服务。但是 Sling 世界非常不同,我想检查一下我是否理解正确。

干杯。

4

1 回答 1

1

以下是一些答案:

1) 这是一篇关于不同运行模式的不同配置的好文章: http ://helpx.adobe.com/cq/kb/RunModeSetUp.html您可以使用某些标志为 pub 和 auth 运行模式创建配置,您的代码将查找哪个标志告诉是否执行导入。

2)这取决于。CQ 倾向于拥有移动站点的内容副本,因此为移动站点复制节点可能是有意义的,但前提是这些节点是基于导入数据创建的页面(cq:Page 和 cq:PageContent)。否则,您只需将导入的数据保存在某处并在某个时刻获取(通过 JCR 查询或 .getNode() 等方法)。在这种情况下,不复制数据当然是有意义的。

3)这也取决于这里。我会考虑您可能拥有的以下力量:导入的数据应该是可编辑的吗?更新频率如何?更新量有多大?酒吧间的一致性有多重要?如果更新不是大量、不频繁并且一致性问题导入到 auth 然后复制可以工作。如果您需要能够编辑导入的数据,也可能是这种情况。如果更新是大量和/或频繁的,并且跨 pubs 的一致性并不重要(您可以承受有些人在导入期间可能会从不同的 pubs 看到不同的结果)我建议同时在所有 pubs 上运行导入,因为大规模复制的导入数据可能会影响常规页面/图像复制。

谢谢,马克斯。

于 2013-01-31T20:57:01.513 回答