tridion – 多媒体二进制文件 – 对于次要版本元数据发布但实际二进制文件没有?

我们正在使用带有XSLT模板的Tridion 2009 SP1

一个全新的多媒体组件(v0.0)及其上传的二进制文件
将在正确的位置正确发布到预览网站
首先保存(二进制的发布是由
tbbPublishMultimedia模板,如下所示).

多媒体组件将作为次要修订进入工作流程
版本v0.1和在工作流程中(在“准备版内容”
项目“)可以编辑组件并重新上载二进制文件
根据需要由作者进入组件.

每次将v0.x组件保存在工作流中时(如v0.1,v0.2,
v0.3,v0.4等)组件的最新“工作流程”版本
并将其二进制文件正确发布到预览网站.

每次多媒体组件被批准发布它
离开工作流程并成为一个新的主要版本(例如v1.0 ….或
v2.0,v3.0等).

如果随后编辑并重新保存主要版本,它将变为
新的次要修订版本(例如v1.1)然后将重新发布
预览网站(以及它的二进制文件)然后它将重新进入
流程.

然而,尽管Tridion正确发布了最新的小修订版
它似乎是实际多媒体组件的版本(例如v1.1)
仅发布它包含的二进制文件的最后一个主要版本
(例如v1.0版本).有趣的是,它似乎确实发布了
该二进制文件的最新v1.1元数据(即文件类型和
文件大小)但不是二进制文件本身.

总之,Tridion似乎发布了最新的未成年人/修订版
工作流“如果多媒体组件是v0.x,则为二进制文件的版本
但是一旦存在主要版本,它将只发布最后一个主要版本
二进制文件(基本上是重新输入之前的版本)
工作流程).

无论如何,这就是它的样子……

  <xsl:template name="tbbPublishMultimedia">
     <xsl:if test="string(//tcm:Type)='Multimedia'">
        <xsl:variable name="binaryid"
        select="string(//tcm:Component/@ID)"/>
        <xsl:element name="tcm:MultimediaPublishedFileName">
           <xsl:value-of select="tcmse:PublishBinary($binaryid)"/>
        </xsl:element>
     </xsl:if>
  </xsl:template>

注意……在上面的模板中,可以将主要版本指定为
tcmse:PublishBinary参数,例如concat($binaryid,“ – v2”)to
确定要发布的版本,但因为它不允许您指定
次要版本,所以这并没有多大帮助

最佳答案
我最近对XSLT模板做的并不多,不确定我能帮忙.无论如何,您可以确认这是仅使用XSLT还是与其他模板一起发生?如果它只发生在XSLT上,那么你可能会遇到一个bug,而如果它发生在所有其他语言上,那么它可能只是“按设计”而且除了打开一个增强请求之外你无能为力.

我最近发现,如果我要求任何项目的版本0(tcm:1-23-16-v0),Tridion将返回允许当前用户阅读的项目的最新版本,包括次要版本(在c#中).也许你可以尝试一下?

转载注明原文:tridion – 多媒体二进制文件 – 对于次要版本元数据发布但实际二进制文件没有? - 代码日志