Мы используем Tridion 2009 SP1 с шаблонами XSLT
Новый мультимедийный компонент (v0.0) и его загруженный двоичный файл будут правильно опубликованы на сайте предварительного просмотра в тот момент, когда он был впервые сохранен (публикация двоичного файла выполняется с помощью шаблона tbbPublishMultimedia
, показанного ниже).
Компонент мультимедиа войдет в рабочий процесс как второстепенная версия v0.1, а в рабочем процессе (в разделе «Подготовка элемента содержимого издания»)Компонент может быть отредактирован и двоичный файл повторно загружен в компонент автором по мере необходимости.
Каждый раз, когда компонент v0.x сохраняется в рабочем процессе (как v0.1, v0.2, v0.3, v0.4 и т. д.) последняя версия компонента «в рабочем процессе» и его двоичный файл будут правильно опубликованы на сайте предварительного просмотра.
Каждый раз, когда мультимедийный компонент утверждается для публикации, он покидает рабочий процесс и становитсяновая основная версия (например, v1.0 .... или v2.0, v3.0 и т. д.).
Если основная версия впоследствии редактируется и повторно сохраняется, она становится новой дополнительнойверсия ревизии (например, 1.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")
, чтобы определить, какая версияпубликовать, но так как он не позволяет указать минорную версию, чтобы это не очень помогло