Aem Adobe CQ中查找数据的存储位置

Aem Adobe CQ中查找数据的存储位置,aem,jcr,crx,Aem,Jcr,Crx,在过去三年左右的时间里,我们一直在增加对AdobeCQ的使用。我们开始使用5.4,其中几个开发人员(根据Adobe Consultants的建议)在/var/site/app节点中存储了几个数据查找“表”。它们被用作组件(如邮政编码、站点ID等)的查找存储 现在我们进入了CQ5.6,在我们的发布者实例上访问这些数据时遇到了一些困难。作者工作正常,但在发布服务器上,尝试访问数据会导致404错误。不久前,我们有其他一些顾问提到,将数据存储在/var中不是一个好主意,但我不记得背后的原因 是否有一个建

在过去三年左右的时间里,我们一直在增加对AdobeCQ的使用。我们开始使用5.4,其中几个开发人员(根据Adobe Consultants的建议)在
/var/site/app
节点中存储了几个数据查找“表”。它们被用作组件(如邮政编码、站点ID等)的查找存储

现在我们进入了CQ5.6,在我们的发布者实例上访问这些数据时遇到了一些困难。作者工作正常,但在发布服务器上,尝试访问数据会导致404错误。不久前,我们有其他一些顾问提到,将数据存储在/var中不是一个好主意,但我不记得背后的原因

是否有一个建议的位置来存储多个组件、页面或其他对象可以访问的通用查找数据


提前感谢您的帮助。

/etc
是存储与CQ显示部分分开的通用数据的好地方。例如,CQ使用
/etc/blueprints
存储有关使用LiveCopy的内容的信息。Author和publisher都有
/etc
位置,所以这不是问题。CQ可以对
/var
做一些有趣的事情,因此我不确定为什么建议将其作为存储位置。

/etc
是存储与CQ的显示部分分离的通用数据的好地方。例如,CQ使用
/etc/blueprints
存储有关使用LiveCopy的内容的信息。Author和publisher都有
/etc
位置,所以这不是问题。CQ可以对
/var
做一些有趣的事情,所以我不确定为什么会推荐它作为存储位置。

我不是它背后的推理权威,也许一个对过程中所做决定有远见的人可以介入,但从我所知,var最初是任何临时或衍生数据的位置,但不一定是面向客户的

版本控制,并且在那里存储了一堆其他信息,因此不应该向客户机公开

/etc通常是调度器上保持打开状态的位置,因此,如果查找信息属于SDLC的一部分,则放置该信息的逻辑位置在该位置内

如果查找是可编写的,则将其放在/content目录中更为明智,如果您正在执行涉及多租户的任何操作,则该目录将与重写策略相适应。此外,如果不同租户正在访问相同的查找数据, 即

可对共享位置使用重写规则。 e、 g


希望这是有意义的。

我不是这背后推理的权威,也许一个对决策有远见的人可以介入,但据我所知,var最初是任何临时或衍生数据的存放地,但不一定面向客户

版本控制,并且在那里存储了一堆其他信息,因此不应该向客户机公开

/etc通常是调度器上保持打开状态的位置,因此,如果查找信息属于SDLC的一部分,则放置该信息的逻辑位置在该位置内

如果查找是可编写的,则将其放在/content目录中更为明智,如果您正在执行涉及多租户的任何操作,则该目录将与重写策略相适应。此外,如果不同租户正在访问相同的查找数据, 即

可对共享位置使用重写规则。 e、 g


希望这是有意义的。

我不确定这个问题是否像“你应该把它放在哪里”这样简单。你的组件/页面如何请求这些信息?它是通过AJAX调用实现的吗?如果是这样的话,您应该通过一个生成JSON数据的Sling GET Servlet来访问它。如果您正在谈论通过author实例对话框访问此数据,那么位置应该无关紧要,因为通常情况下,author实例是非常开放的。如果您正在谈论访问这个数据服务器端,作为组件呈现的一部分(在JSP或其支持类中),那么您肯定不需要将它移动到任何地方,因为JcrResourceResolver可以访问它

我通常不会将任何内容放在/var下(它是树的系统部分),但解决方案不是选择另一个任意位置,只是为了可以公开它。解决方案是了解您需要在哪里访问这些信息,然后针对这种情况适当地公开这些信息。有道理吗


如果您能提供有关如何检索数据的更多详细信息,我很乐意提供更多信息。

我不确定这个问题是否像“您应该把它放在哪里”这样简单。您的组件/页面如何请求这些信息?它是通过AJAX调用实现的吗?如果是这样的话,您应该通过一个生成JSON数据的Sling GET Servlet来访问它。如果您正在谈论通过author实例对话框访问此数据,那么位置应该无关紧要,因为通常情况下,author实例是非常开放的。如果您正在谈论访问这个数据服务器端,作为组件呈现的一部分(在JSP或其支持类中),那么您肯定不需要将它移动到任何地方,因为JcrResourceResolver可以访问它

我通常不会将任何内容放在/var下(它是树的系统部分),但解决方案不是选择另一个任意位置,只是为了可以公开它。解决方案是了解您需要在哪里访问这些信息,然后针对这种情况适当地公开这些信息。有道理吗


如果您能提供更多关于如何检索数据的详细信息,我很乐意提供更多信息。

谢谢大家的回复。我将把这个带回我的团队进行进一步讨论。存储在/var下的数据不会经常更改,也不会由编辑器维护。提出这个问题是为了确定一个普遍的社区
http://www.mysite.com/mypage.html goes to /content/mysite/mypage and 
http://www.anothersite.com/anotherpage.html goes to /content/anothersite/anotherpage, 
www.mysite.com/lookups/postcodes.json /content/lookups/postcodes
www.anothersite.com/lookups/postcodes.json /content/lookups/postcodes