8

我们%TRIDION_HOME%\web\WebUI\WebRoot\Configuration\System.config可以增加修改属性的值来指示内容管理器强制下载项目。

该设置在PowerTools 讨论中以及在 SDL Live Content 上的 Content Manager Explorer 主题中提及。

<server version="6.1.0.55920" modification="7">

更新 CME 的替代方法包括清除浏览器缓存(在 Chrome 中为 CTRL+Shift+Delete)或为每个用户设置缓存设置。

问题

我应该将它用于任何 CM 端更改,例如 GUI 扩展、模式更改或模板链接模式吗?还是仅适用于 Content Manager Explorer 的某些部分?

换句话说,在架构和模板更改之后,让用户获得最新版本的组件、架构下拉列表和模板选择的最佳方式是什么?

4

3 回答 3

9

modification和属性的值version成为 Tridion UI 生成/合并的每个 CSS 和 JavaScript 文件以及许多静态(图像)文件的 URL 的一部分。所以 URL 看起来像这样edit_v.6.1.0.55920.7.aspx?mode=css。由于浏览器将此视为新 URL,因此它还无法将文件保存在其缓存中。因此,它总是必须从服务器下载文件,而不是使用本地缓存中的(可能是过时的)文件。

这是一种将一些版本信息注入 URL 的技术,称为“URL 指纹识别”。谷歌通常将文件的哈希值嵌入到 URL 中,确保指纹识别发生,而不需要开发人员手动增加版本号。但无论使用哪种指纹识别方式,该技术都是一种非常有效的方式,可以确保所有浏览器都下载最新版本的代码。

如果您正在开发 GUI 扩展,通常可以通过清除浏览器缓存甚至完全禁用它(对于 Tridion 域)来获得相同的效果。但是,一旦将扩展部署到非开发服务器,更改modification属性是确保所有用户都获得最新的 JavaScript/CSS 更改而无需每个人都必须手动清除缓存的最确定方法。

Tridion 中的 URL 指纹识别仅影响 CSS、JavaScript 和图像文件。实际的 CMS 数据(例如模式和组件)是使用 XMLHttpRequests 加载的,因此不受modification属性的影响。

于 2013-02-03T02:21:21.543 回答
3

我所知道的,

<server version="6.1.0.55920" modification="7">

这仅清除JSCSS相关的缓存。当用户访问 CM 时,CM 会加载所有文件,包括最新副本。

我应该将它用于任何 CM 端更改,例如 GUI 扩展、模式更改或模板链接模式吗?还是仅适用于 Content Manager Explorer 的某些部分?

对于这条线,答案是No。因为当用户对模式进行任何更改时,更改应该在所有发布上刷新。目前这在浏览器上没有发生。

希望这可能会在即将到来的版本中得到修复。

换句话说,在架构和模板更改之后,让用户获得最新版本的组件、架构下拉列表和模板选择的最佳方式是什么?

目前,用户应该强制刷新以获取所有出版物的更新信息。

于 2013-02-02T08:12:15.090 回答
2

SDL Tridion CMS 界面缓存 CMS 项目,以便提供更快的浏览和加载其自己的界面。这确实意味着有时:

  • 自定义 GUI 扩展可能不会显示文件的最新版本
  • 最近创建或修改的 CMS 项目可能不会显示,或显示最新版本。

这就是为什么有时在组件字段中未显示新关键字,或者在尝试添加组件页面时未显示新组件模板的原因。

增加节点中的修改号将导致所有 CMS 项目向 CMS 用户显示最新版本。您将看到是否使用此值来引用 CMS GUI 使用的 CSS 和 JS 文件。

作为开发人员,我还关闭了我的 Firefox 缓存(我更喜欢 firefox 的 firebug 扩展,它非常适合使用 GUI 扩展),因为这意味着你不需要去更改这个值,简单的浏览器刷新似乎总是可以的诀窍。此处解释了关闭缓存:https ://superuser.com/questions/23134/how-to-turn-off-the-firefox-cache

于 2013-02-01T21:33:12.110 回答