4

我们当前的设置是我们有两个目标,Staging 和 Live。协作者可以在受影响的组件仍在工作流中时对其进行更新。最后一个活动被设置为将相关页面发布到 Live。是否可以从工作流中将组件更新(例如 2.2、2.5 修订版)发布到 Staging?

Page.Publish()方法的 TOM API 文档似乎没有输入参数来完成此目的。

编辑:我们当前设置的其他详细信息:我们尝试发布的页面有一个“自定义渲染器”,可以这么说。页面模板设置为递归地从某个文件夹中提取组件并相应地构建 HTML。使用的方法是Folder.GetItems(OrganizationalItemItemsFilter)。它检索组件列表及其数据。该页面没有组件演示。

4

1 回答 1

2

对于标准的 Tridion 解决方案,即使用 Page+ComponentPresentations+Workflow,这就足够了:

在方法中设置activateWorkflow参数将发布工作流修订。这是第三个参数:TruePublish()

Public Function Publish( ByVal targets As Variant,
            ByVal activateBlueprinting As Boolean,
            ByVal activateWorkflow As Boolean,
            ByVal rollbackOnFailure As Boolean,
            Optional ByVal publishTime As Date = 0,
            Optional ByVal unpublishTime As Date = 0,
            Optional ByVal deployTime As Date = 0,
            Optional ByVal resolveComponentLinks As Boolean = True,
            Optional ByVal priority As TDSDefines.EnumPublishPriority = Normal,
            Optional ByVal ignoreRenderFailures As Boolean = False,
            Optional ByVal maximumRenderFailures As Long = 0 ) As String

参考:TOM API 文档:“ activateWorkflow | 指示项目是否正在(取消/重新)从用户的工作列表中发布。


但是,如果自定义渲染器用于构建页面输出,例如Folder.GetItems()用于检索模板中的组件时,则需要额外调用才能实际检索组件的最新版本,例如 Nuno 的版本零-v0技巧

请注意,如果您决定这样做,最新版本将始终发布到您的目标,它可能不完全是“批准”的内容。

于 2012-08-29T09:41:28.137 回答