多媒体二进制文件 - 对于次要版本元数据发布但实际二进制文件不发布?

时间:2012-02-23 10:47:19

标签: 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 parameter例如concat($binaryid,"-v2")到 确定要发布的版本,但因为它不允许您指定 次要版本,所以这并没有多大帮助

1 个答案:

答案 0 :(得分:2)

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

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