4

我需要使用 Tridion 2009 SP1 每周自动发布两次 xml 页面。根据我与 SDL 支持团队的讨论,没有可用的开箱即用功能。我也在这里看到了 2011 年的解决方案,但没有看到 2009 SP1。你能帮我一些设置自动发布的指示吗?

4

2 回答 2

3

正如您所发现的,没有办法开箱即用。最简单的方法是使用 powershell 或 .net 编写一个小脚本,该脚本使用 TOM 通过 Interop 调用发布操作,并使用您的 CMS 或发布服务器上的 Windows 任务计划程序来安排它。您也可以编写一个 Windows 服务,但这可能是矫枉过正。

如果您迁移到 2011 或 2013,您最好使用 Core Service 而不是 TOM。

于 2013-02-14T22:32:26.623 回答
3

发布页面的 VBScript 文件实际上只有几行代码。我现在无法对此进行测试,但是使用 Tridion 对象模型文档(提示:这是一个 CHM 文件),您应该能够修复我在此遗漏的任何内容:

Dim pageId, targetId
Dim tdse, page
pageId = "tcm:12-12-64"
targetId = "tcm:0-1-65537"
set tdse = CreateObject("TDS.TDSE")
tdse.initialize()
set page = tdse.GetObject(pageId, 1)
call page.Publish(targetId, false, false, false)

将其保存在 .vbs 文件中,您可以使用 .vbs 执行该文件cscript filename.vbs。运行脚本的用户必须是有效的 Tridion 用户,具有足够的权限将页面发布到该目标。如果您使用的是 LDAP,那么运行脚本的用户必须是有效的模拟用户,并且您需要tdse.Impersonate(ValidUserName)在创建 TDSE 对象后调用。

此外,pageIdtargetId应与您的页面和目标的 TCM Uris 匹配。

于 2013-02-15T23:20:51.430 回答