在%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的某些部分?
换句话说,在架构和模板更改之后,让用户获得最新版本的组件,架构下拉列表和模板选择的最佳方法是什么?
答案 0 :(得分:9)
modification
和version
属性的值成为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">
这仅清除JS
和CSS
相关的缓存。当用户访问CM时,CM会加载包括最新副本在内的所有文件。
我是否应该将此用于任何CM端更改,例如GUI扩展,架构更改或模板链接架构?或者它仅适用于Content Manager Explorer的某些部分?
对于此行,答案为否。因为当用户对架构进行任何更改时,应在所有发布上刷新更改。目前在浏览器上没有发生这种情况。
希望在即将推出的版本中可以修复此问题。
换句话说,在架构和模板更改之后,让用户获得最新版本的组件,架构下拉列表和模板选择的最佳方法是什么?
目前,用户应该进行强制刷新,以获取所有出版物的最新信息。
答案 2 :(得分:2)
SDL Tridion CMS界面缓存CMS项目,以便更快地浏览和加载自己的界面。这有时意味着:
这就是为什么有时在组件字段中没有显示新关键字,或者在尝试添加组件页面时未显示新组件模板的原因。
增加节点中的修改号将导致所有CMS项目向CMS用户显示最新版本。您将看到是否使用此值来引用CMS GUI使用的CSS和JS文件。
作为一名开发人员,我也关闭了我的Firefox缓存(我更喜欢firefox for firebug扩展,非常适合使用GUI扩展)因为这意味着你不需要去改变这个值,简单的浏览器刷新似乎总能做到这一点。关闭缓存在此处说明:https://superuser.com/questions/23134/how-to-turn-off-the-firefox-cache