Повышение статуса «предупреждение» во время публикации SDL Tridion 2011 - PullRequest
3 голосов
/ 27 марта 2012

Мы хотели бы реализовать некоторые функциональные возможности, чтобы, когда по какой-либо причине произошла ошибка во время публикации или разрешения, и мы пропустили ее, используя блок try / catch, но все равно хотели бы уведомить пользователя о том, что что-то было пропущено.

Очередь публикации SDL Tridion 2011 может фильтроваться по статусу. Одним из таких статусов является «Предупреждение». Можно ли инициировать транзакцию публикации, чтобы иметь статус «Предупреждение», используя API в коде шаблона или в пользовательском преобразователе?

Ответы [ 2 ]

4 голосов
/ 27 марта 2012

Если все, что вам нужно, это предупреждение во время публикации (например, публикация транзакции имеет предупреждение о состоянии), тогда вам нужно будет установить PublishInstruction.MaximumNumberOfRenderFailures на значение, большее нуля, если количество ошибок рендеринга меньше, чем Если указан максимум, статус публикации будет «Предупреждение».

Если ошибка возникает за пределами рендеринга, то инструкция будет отображаться как Failed.

С другой стороны, если вы хотите отобразить сообщение в GUI (в MessageCenter) с предупреждением о том, что что-то пошло не так, вам потребуется более сложная архитектура. Фрэнк работал над этим некоторое время назад. Идея (IIRC) состоит в том, чтобы иметь часть GUI, например. iframe, опрашивающий сервис, который возвращает статусы для действий публикации этого пользователя. Система событий генерирует эти состояния, отслеживая инструкцию PublishInstruction, и записывает их в какое-то хранилище (файл, дБ, память), которое служба затем опрашивает.

1 голос
/ 25 апреля 2012

Боюсь, это невозможно, но приведенные выше ответы могут помочь вам найти альтернативное решение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...