站点编译概览

组成站点“页”的元数据文件在编译过程中进行组合,从而避免通常在运行时需要的服务器请求。您可以有效地将每次页访问呈现成本转变为一次性编译时成本。

通过减少运行时请求数可实现性能改进。这可以包括避免所有内容查询,因为您可以将这些查询的结果直接编译到页中。

因为页立即呈现,所以可以实现行为改进。因此,可以避免诸如“刷新未设置样式的内容”或组件以不确定的顺序显示在页上(例如页脚立即显示,然后随着页上的其他项呈现而向下移动)的问题。

要在 Oracle Content Management 站点内编译页,您需要将该站点作为模板导出,然后使用 OCE 工具包编译该模板并将生成的静态页上载到原始站点。以下步骤可引导您完成模板编译过程,然后介绍如何使用此模型来编译站点。

与预呈现的交互

预呈现专注于返回适合搜索引擎的结果。预呈现生成的页预期不会像原始页一样运行,并且不会执行 JavaScript。它仅返回浏览器预呈现的 HTML 以支持 SEO 文本搜索。

由站点编译创建的静态页预期将在浏览器中运行,并且其行为与原始动态站点页完全相同。这包括动态运行非编译组件和执行运行时查询,其中用户希望结果中的数据完全是最新的,而不是在编译时修复数据。

当租户管理员启用预呈现解决方案时,还可以通过预呈现服务器传送静态页。这使得索引器和 Crawler 可以处理可能仍动态呈现的部分静态页,如内容列表。

内容查询返回包含多信息文本字段值的内容项,因此当内容布局用于内容列表时,不需要单独提取这些值。

控制器站点页呈现

cec compile-template 命令使站点页可以直接在浏览器中呈现,而不必通过 Oracle Content Management 站点页控制器。

Oracle Content Management 站点使用控制器模型呈现页,而不使用编译器创建静态 HTML 页。这涉及使用多个请求获取关于站点、站点内的页以及用于呈现页的模板的信息,然后才能在浏览器中实际显示页。

注:

此外,还涉及获取 controller.js 文件等更多请求。

已编译的站点页呈现

使用 cec compile-template 命令,可以将所有这些步骤编译到静态 HTML 文件中,并通过减少或消除这些服务器请求来提高运行时站点的性能。此外,还可以进一步减少运行时不需要更改的资源的请求,并将它们编译到静态页中。

默认编译过程执行现有运行时控制器的工作,为站点中的每个 page.json 文件创建物理 HTML 页。然后,可以将这些页部署到站点并随站点一起发布,并在点击相应的页 URL 时使用这些页。