我有其他企业CMS的经验,如Teamsite& Tridion,但没有亲身体验过CQ5。我想知道,CQ5通常如何与一个内容丰富的大型网站集成。功能?定义为页面的功能是使用来自非CMS存储库或Web服务的数据生成的。
我的问题是,CQ5内容是作为后端服务读取的吗?我知道API是基于http的。但是,该API通常是从服务器还是客户端调用的?对于我的示例,假设我有一个页面主要来自链接到某些非CMS企业系统的Web服务,但我想要页脚和右轨道是“内容”,以便用户可以轻松改变它。在什么时候通常会组合不同的页面来源?
我很想知道因为我使用asp.net。我知道CQ5是Java,所以我希望大多数cusomters都是java商店,但我认为如果它只是另一个后端web服务,那么ASP对于ASP.net网站来说很容易消费。
答案 0 :(得分:3)
说实话,我的问题真的不是很清楚。所以我要回答这个问题。
回答有关不同网页来源的问题: 客户端通常向服务器发起http或json请求(尽管服务器到服务器的调用在扩展基础结构的情况下并不罕见),服务器只是执行必要的调用(使用apis)并传递请求的答案。但是在请求返回时,所有对api的调用都是由服务器完成的,服务器只是返回渲染的html或json,或者你想要拥有数据和/或内容的任何结构化形式。 页面由各种组件组成。有些组件是相当静态的。其他人非常动态,例如从网络服务,外部数据库或其他cms中提取数据。这些资源的组合发生在页面的呈现上,而页面的呈现又是由对该页面的请求触发的。显而易见的例外是调度程序缓存系统,如果可能的话,它将返回页面的缓存版本。但简而言之,所有渲染和api调用都是服务器端。
CQ5非常灵活,因为它分为2个实例。后端(作者)是页面的实际创作发生的地方。前端(发布)基本上是前端,并为客户端(通常)进行实际渲染。 如果您选择使用发布实例,那么后端服务就是您的诚实。我已经看到cq5用作它的用途(cq5是前端),我已经看到cq5用作后端服务(例如:作为hybris的后端服务提供商)。我已经看到了这种组合,其中一部分用作另一个系统的后端服务,另一部分用于公共网站前端。
答案 1 :(得分:1)
CQ丰富的HTTP API(基于Apache Sling)可以以各种格式(包括JSON和XML)完全访问CQ内容,因此可以轻松地将CQ内容集成到其他系统中。
在另一个方向,您可以使用Sling的ResourceProvider机制访问外部内容并使其成为CQ内容树的一部分。请参阅http://sling.apache.org/documentation/the-sling-engine/resources.html处的Sling Resources文档中的“自定义资源提供程序”。