增加修改属性有什么作用?

时间:2013-02-01 20:53:44

标签: tridion

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

PowerTools discussion上提到了该设置,但也提到了SDL Live Content上的Skinning Content Manager Explorer主题。

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

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

问题

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

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

3 个答案:

答案 0 :(得分:9)

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

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

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

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

答案 1 :(得分:3)

据我所知,

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

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

  

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

对于此行,答案为。因为当用户对架构进行任何更改时,应在所有发布上刷新更改。目前在浏览器上没有发生这种情况。

希望在即将推出的版本中可以修复此问题。

  

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

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

答案 2 :(得分:2)

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

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

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

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

作为一名开发人员,我也关闭了我的Firefox缓存(我更喜欢firefox for firebug扩展,非常适合使用GUI扩展)因为这意味着你不需要去改变这个值,简单的浏览器刷新似乎总能做到这一点。关闭缓存在此处说明:https://superuser.com/questions/23134/how-to-turn-off-the-firefox-cache