我们目前的设置是我们有两个目标,Staging和Live。协作者可以在受影响的组件仍处于工作流程内时对其进行更新。最终活动设置为将相关页面发布到Live。是否可以从工作流程中将组件更新(修订版,例如2.2,2.5)发布到暂存?
Page.Publish()方法的TOM API文档似乎没有输入参数来满足此目的。
编辑:我们当前设置的其他详细信息:我们尝试发布的页面有一个“自定义渲染器”,可以这么说。页面模板设置为递归地从某个文件夹中提取组件并相应地构建HTML。使用的方法是 Folder.GetItems(OrganizationalItemItemsFilter)。它检索组件列表及其数据。该页面没有组件演示文稿。
答案 0 :(得分:2)
对于标准的Tridion解决方案,即使用Page + ComponentPresentations + Workflow,这就足够了:
在activateWorkflow
方法中将True
参数设置为Publish()
将发布工作流程修订版。这是第三个参数:
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的version-zero -v0
trick。
请注意,如果您决定这样做,最新版本将始终发布到您的目标,并且可能不完全是“已批准”的内容。