我刚刚从我的新工作开始,发现自己正处于一个使用Adobe AEM CQ的大项目中,我以前从未使用过它。目前,开发人员正在创建和调整组件,而内容作者正在忙着使用这些组件创作大约65页的内容。
显然,每次组件更改时,都需要使用新组件更改来更新所有创作的内容。这是一个巨大的浪费时间,因为看起来这样做的唯一方法是通过自定义脚本查找xml文件中的节点并尝试将它们转换为新的组件规范。有时这甚至不可能,作者需要重新编写大量内容并浪费大量时间。
任何有AEM经验的人都可以告诉我: 1)将创作的内容迁移到新组件有一种更简单的方法吗? 2)有更好的方法让开发人员和作者同时工作吗?
我知道理想的方法是首先开发组件,然后在这些组件之上进行编写,但这似乎不切实际,尤其是在一个大型客户端项目中,事情一直在变化。
由于
答案 0 :(得分:0)
首先,这听起来像是一个业务流程问题。在作者添加内容之前,应该对组件进行全面开发和全面测试。如果对组件的编辑是如此不同以至于您遇到此问题,我建议在构建开始之前编写功能和技术要求。
话虽如此,用于AEM的Groovy控制台是用于更新AEM站点内的节点和内容的出色工具。请在此处查看:https://github.com/Citytechinc/cq-groovy-console
答案 1 :(得分:0)
我不同意内容制作应该在所有开发的组件之后进行。这是有益的,特别是当内容制作需要花费大量时间时,在开发过程中启动它。 另一方面,我完全同意答案的另一部分。在处理内容迁移时(无论是在Go Live之前还是之后,在BAU过程中),Groovy Console都是一种方法。理想情况是所有当前内容都可以映射到新版本组件中的数据。然后,您应该能够使用脚本迁移所有内容。如果情况并非如此,那么你就不能让作者手动放置内容。
答案 2 :(得分:0)
在使用之前,必须完全开发组件。 但是,如果您想要更改组件中特定的内容(对于整个网站将保持相同的内容,就像徽标组件或标题组件一样),您可以查看设计对话框。
它的优点是:
如果您已经为n页创作了作品,当您使用“设计对话框”更改组件时,它将自动反映在使用该组件的所有页面中。
答案 3 :(得分:0)
AEM是一个CMS,其中的内容是您的数据更简单。如果您的开发过程在每次发布后数据与UI不一致,那么您的交付过程可能会出错。您可以使用以下方法使事情变得更好:
实际上,大多数AEM实现使组件向后兼容并提供新版本的升级路径。这不是技术问题,而是项目治理问题。
这篇文章正在重新铺设,所以不要让人们从当前的答案状态(以及一些应该是评论恕我直言的答案)中得出错误的想法,但一般来说处理组件和发布的方法不是技术性的平台的问题。