Tridion 2009 SP1:如何为定期发布安排内容页面?
Posted
技术标签:
【中文标题】Tridion 2009 SP1:如何为定期发布安排内容页面?【英文标题】:Tridion 2009 SP1: How to schedule a content page for a recurring publishing? 【发布时间】:2013-02-14 21:35:04 【问题描述】:我需要使用 Tridion 2009 SP1 每周自动发布两次 xml 页面。根据我与 SDL 支持团队的讨论,没有可用的现成功能。我也在这里看到了 2011 年的解决方案,但没有看到 2009 SP1。您能帮我提供一些设置自动发布的建议吗?
【问题讨论】:
自动发布并非开箱即用,但您可以安排发布请求。如果您有应该触发更新的常规 CMS 操作,这可能会建议事件系统,或者如果您希望将来轻松安排多个日期(2009 年相当于 GUI 扩展又名自定义页面),则可以考虑其他方法。 【参考方案1】:正如您所发现的,没有开箱即用的方法。执行此操作的最简单方法是使用 powershell 或 .net 编写一个小脚本,该脚本使用 TOM 通过 Interop 调用发布操作,并使用 CMS 或发布服务器上的 Windows 任务计划程序对其进行计划。您也可以编写一个 Windows 服务,但这可能是矫枉过正。
如果您迁移到 2011 或 2013,您最好使用 Core Service 而不是 TOM。
【讨论】:
感谢克里斯的快速回复。在我们的应用程序中,我们仅使用基于 Java 的编程。那么有没有办法使用 Java 编程而不是 .net 编写此发布操作的脚本并使用 Windows 任务计划程序触发它? 不是真的,除非您使用即将过时的 Business Connector(但如果您还没有使用它,那将是一个艰难的学习曲线)因为 2009 年没有核心服务。它应该虽然只有大约 5 行代码。如果您需要 VBScript 或 C# 示例,请告诉我。 如果您可以与我们分享示例,这样我们就可以进行相应的修改并了解如何将其融入我们的应用程序,这将非常有帮助。谢谢。 不清楚您希望在 Java 中执行此操作是因为您认为这是一个更好的解决方案,还是因为您的程序员不愿意使用 Java 之外的任何代码编写代码。你能解释一下吗?【参考方案2】:发布页面的 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 文件中,您可以使用 cscript filename.vbs
执行该文件。运行脚本的用户必须是有效的 Tridion 用户,具有足够的权限将页面发布到该目标。如果您使用 LDAP,则运行脚本的用户必须是有效的模拟用户,并且您需要在创建 TDSE 对象后调用tdse.Impersonate(ValidUserName)
。
此外,pageId
和 targetId
值应与您的页面和目标的 TCM Uris 匹配。
【讨论】:
以上是关于Tridion 2009 SP1:如何为定期发布安排内容页面?的主要内容,如果未能解决你的问题,请参考以下文章
Tridion 2011 Sp1 允许将组件的修订版本发布到暂存目标
powershell 使用PowerShell和核心服务淘汰SDL Tridion 2013 SP1发布目标。见http://tridion.stackexchange.com/questions/1
powershell 使用PowerShell和核心服务淘汰SDL Tridion 2013 SP1发布目标。见http://tridion.stackexchange.com/questions/1