2013-02-13 2 views
4

Я получаю приведенную ниже ошибку. Я вижу, что это упоминается в других сообщениях SO (here) & Я связался с поддержкой SDL, но у меня все еще есть проблемы с устранением проблемы. Может ли кто-нибудь предложить решение EASY? Я думаю, что шаги, которые ведут к этому являются следующие:Попытка развернуть двоичный файл в место, где уже сохранен другой двоичный файл Существующий двоичный код

1) опубликовать страницу со ссылкой на PDF 1001.
2) Удалить PDF 1001 со страницы & удалить его из КМ
3) Загрузить PDF-1002 с же имя как 1001.
4) Теперь, если вы попробуете &, вы получите сообщение об ошибке.

Поэтому мне нужно отменить публикацию PDF 1001, но он был удален из CM. Как я могу исправить эту проблему? Поддержка SDL рекомендовала исправление, связанное с редактированием ZIP-файла, созданного во время публикации транзакции. Но я дошел до публикации всех страниц публикации &, что они ушли. Ошибка сохраняется ...

ERROR: Phase: Deployment Prepare Commit Phase failed, Unable to prepare transaction: tcm:0-11111-66560, Attempting to deploy a binary 1002 to a location where a different binary is already stored Existing binary: 1001:, Attempting to deploy a binary 1002 to a location where a different binary is already stored Existing binary: 1001:, Unable to prepare transaction: tcm:0-13573-66560, Attempting to deploy a binary 1002 to a location where a different binary is already stored Existing binary: 1001:, Attempting to deploy a binary 1002 to a location where a different binary is already stored Existing binary: 1001:

ответ

8

Так что файл был удален из КМ, но CD все еще имеет ссылку на него (в соответствии с компакт-диска он все еще существует и до сих пор используется что-то).

Вы должны опубликовать страницу после удалить 1001, но перед тем добавления 1002. Это должно удалить ссылку из базы данных компакт-диска. Тогда вы должны быть в порядке, чтобы добавить 1002 и опубликовать страницу еще раз.

[EDIT] Извините, только сейчас прочитайте, что вы говорите, что не опубликовали все. Понятно, что нет, поскольку есть еще ссылка на него ... открытие виртуальной машины, она вернется с обновлениями.

[EDIT2] До сих пор не понимаю, как это остается конфликт, если отменить публикацию, но это то, что я наблюдаю на моем сервере:

  • Добавить двоичная страницу, публиковать
    • Ссылка добавлена к "REFERENCE_ENTRIES" стол в CD
  • Удалить бинарный файл со страницы, публиковать
    • Ссылка удалена из таблицы "REFERENCE_ENTRIES", двоичный удален
  • Отменить публикацию страницы (после повторного добавления двоичного файла, переиздание)
    • ссылка удаляется из таблицы "REFERENCE_ENTRIES", двоичный удален

Так, в моем случае я вижу, чего бы я ожидал. Попробуйте опубликовать страницу после удаления двоичного файла, и, если возможно, перейдите в таблицу REFERENCE_ENTRIES.

+0

Все в этом случае публикуется в файловой системе. Я вижу, что в папке данных есть несколько ссылок на 1001. Может быть, так оно и есть? Я уже говорил, что я не опубликовал все, но, возможно, мне нужно отменить все, выпустить остатки в папке «Данные», а затем опубликовать –

+0

. Если удаление папки данных является для вас вариантом, то да, пойдите для нее :) –

+0

это просто наш тестовый сервер ... так что теперь это вариант. Я думаю, нам нужно точно выяснить, почему это происходит и убедиться, что этого не происходит в prod. –

2

Эта ошибка часто вызвана тем фактом, что по умолчанию Tridion использует исходное имя файла загруженного двоичного файла в качестве имени файла на стороне доставки контента. Если вы не указали отдельную группу структур для развертывания, тогда, если у вас есть два мультимедийных компонента с тем же исходным именем загружаемого файла, Tridion попытается развернуть их в одном месте при доставке контента.К счастью, библиотеки доставки контента достаточно умны, чтобы обнаружить потенциальную переписку, и вместо этого вы получаете эту ошибку.

Во-первых - этот сценарий более вероятен в тестовых ситуациях. Например, вам нужно создать группу тестовых MMC, поэтому вы скопируете и вставьте некоторые из них, которые у вас уже есть. Угадайте, что - их имена загружаемых файлов будут одинаковыми.

Решение заключается в том, чтобы имя файла было уникальным в группе структур, в которую вы развертываете. У вас есть большой выбор, как это сделать, но общий подход заключается в том, чтобы ввести идентификатор компонента в имя файла при вызове AddBinary().

+0

Непосредственное исправление ошибки на стороне автора - это переименование загруженного имени файла для нового файла. В противном случае другой программный подход использует путь к папке, а не по умолчанию «изображения», чтобы уменьшить вероятность дублирования. –

+0

... также распространены в обучении, когда вы попросите класс загрузить пример изображения. :-) –

+1

Для этого поведения в конфигурационном файле развертывателя должна быть предусмотрена настройка перегрузки. Я бы сказал, что хороший процент времени, двоичные файлы с тем же именем, являются одним и тем же двоичным кодом, и я думаю, что это будет легко объяснить пользователям. В моем случае я обеспокоен тем, что Тридион, похоже, потерял информацию о том, что он опубликовал. Имейте в виду мой сценарий, я получаю эту ошибку из-за двоичного файла, который был удален из CM. –

0

Мы сталкиваемся с этим отказоустойчивым практически для каждой установки. Несмотря на то, что это намного более распространено в средах разработки и тестирования, отказоустойчивость может произойти и в других ситуациях. Фактически, он может эффективно разрушить весь ваш сайт, если вы попытаетесь опубликовать изображение, которое уже существует (где изображения заменяются значком «сломанное изображение»). Не уверен, как это работает, но может.

Чтобы убедиться, что загруженные загружаемые двоичные файлы являются уникальными, я бы рекомендовал написать TBB, который проверяет все двоичные файлы и добавляет tcm uri к имени файла. Добавьте это на каждый шаблон страницы, чтобы этого не произошло. Чем раньше вы это сделаете, тем меньше вероятность ошибки. Имейте в виду, что это может означать, что загрузка всегда будет публиковать новый двоичный файл, и если вы добавите шаблоны Tbb к COMPONENT, страницы будут иметь конфликт. Тем не менее, это избавит вас от необходимости объяснять рабочий процесс редакторам, которые не понимают (или лучше, принимают) отказоустойчивость.

эта страница может помочь вам начать работу: Unique Binary filenames

Смежные вопросы