Tridion: двоичные компоненты не развертываются при массовой публикации - PullRequest
2 голосов
/ 22 марта 2012

Я использую Tridion 5.3.

У меня есть веб-страница, к которой прикреплено более 100 ссылок в формате pdf.Когда я публикую эту страницу, не все pdf публикуются, хотя я получаю URL для каждого pdf, например "/pdf/xyzpdfname_tcm8-912.pdf".Когда я нажимаю на эти ссылки, я получаю ошибку 404.Для тех же самых компонентов PDF, для которых я получаю сообщение об ошибке, если я публикую их, прикрепляя 5-10 файлов PDF за один раз, они публикуются, и ошибки 404 нет, и все работает нормально.Но это не та функциональность, которая мне нужна.Кто-нибудь знает, почему Tridion не может развернуть двоичное содержимое, если я публикую его массово?

Я использую engine.PublishingContext.RenderedItem.AddBinary(pdfComponent).Url, чтобы получить URL-адрес PDF.

Ответы [ 3 ]

7 голосов
/ 22 марта 2012

Может ли это быть связано с именованием вашего PDF?

В Tridion есть механизм, предотвращающий случайную перезапись двоичного файла другим двоичным файлом с таким же именем.

Я вижу, что двоичный файл, который вы пытаетесь развернуть, имеет идентификатор:

tcm:8-755-16

, и вы называете его следующим образом:

/www.mysite.com/multimedia/pdfname_tcm8-765.pdf

Используя идентификатор варианта:

variantId=tcm:8-755

Возможно ли, что вы также публикуете тот же двоичный файл из другого шаблона?Возможно, с тем же именем файла, но с другим идентификатором варианта?

Если это так, Tridion предполагает, что вы пытаетесь опубликовать два «варианта» одного и того же двоичного файла (например, изображение с измененным размером, явно не относящееся к PDF-файлам)1016 *

Поэтому развертыватель выдает ошибку, чтобы предотвратить случайную перезапись двоичного файла, который публикуется первым.

Обойти это можно двумя способами:

1> Использоватьодин и тот же идентификатор варианта для публикации обоих двоичных файлов

2> Если вы хотите опубликовать вариант, измените имя файла на другое.

Надеюсь, это поможет!

2 голосов
/ 22 марта 2012

engine.PublishingContext.RenderedItem.AddBinary (pdfComponent) .Url предоставляет URL-адрес элемента, который будет опубликован в случае успеха, но не является гарантией того, что он будет опубликован.Вы просто устанавливаете ограничение максимального размера для своего транспортного пакета.

PS - Проверьте состояние вашей транзакции в очереди публикации, может дать подсказку

После того, как вы обновили вопрос:

Что-то ужасно не так с шаблоном и / или вашей средой.В опубликованном URL-адресе написано «tcm8-7 * 6 * 5.pdf», но Uri элемента: «tcm: 8-7 * 5 * 5».

Можете ли вы проверить, что здесь происходит?

2 голосов
/ 22 марта 2012

Посмотрите файлы журналов для вашей транспортной службы и развертывателя.Если это не обеспечивает ясности, установите для параметра Очистка значение false в cd_transport_conf.xml, перезапустите транспортную службу и повторите публикацию.Затем проверьте, все ли PDF-файлы попали в ваш транспортный пакет.

...