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

标签 tridion

我们将 Tridion 2009 SP1 与 XSLT 模板一起使用

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

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

每次将 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")
确定要发布的版本,但因为它不允许您指定
次要版本,所以这并没有多大帮助

最佳答案

最近我真的没有对 XSLT 模板做过多少工作,不确定我能帮上什么忙。无论如何,您可以确认这仅适用于 XSLT 还是适用于其他模板?如果它只发生在 XSLT 上,那么您可能会遇到错误,而如果它发生在所有其他语言上,那么它可能只是“设计使然”,除了打开增强请求之外,您无能为力。

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

关于tridion - 多媒体二进制文件 - 对于次要版本元数据发布但实际的二进制文件没有?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9411486/

相关文章:

tridion - 模拟 Tridion 2011 SP1 HR1 中的核心服务

Tridion 2009 SP1 Broker 未返回结果

tridion - 如何在 Tridion 中为上下文菜单项获取页面(次要版本)的元数据?

tridion - 无法从 Visio 连接 SDL Tridion 内容管理器

tridion - 如何在 Tridion 中搜索富文本字段的源选项卡内的内容

cloud - 云中的 Tridion - 资源

tridion - 将大型二进制文件上传到 SDL Tridion 多媒体组件时出错

tridion - SDL Tridion 环境数据框架 HTTP 请求

paging - Tridion分页-获取结果总数

tridion - 您如何使用SDL Tridion 2011 GUI(使用Chrome或Firefox)查看列表中的项目数?