Настройка уведомлений и диалоговых сообщений

В этой статье описывается алгоритм настройки HTML-уведомлений, которые отправляются пользователям на разных этапах взаимодействия с контентом.

Общая информация

Все настройки в системе уведомлений вносятся администратором сайта в файл конфигурации, который находится по пути Инструменты сайта > Конфигурация > Конфигурация уведомлений.

Изображение статьи
Изображение статьи

Шаблоны Copy-icon

Конфигурационный файл, указанный ранее, использует шаблоны для электронных сообщений. Используемый шаблон - Freemarker (также известный как FTL). Переменные включаются в шаблон с использованием синтаксиса, такого как ${VARIABLE}, или внутри операторов Freemarker, например, <#list files as file>…</#list>. Форматирование даты достигается с использованием выражений, таких как scheduleDate?string["MMMMM dd, yyyy 'в' hh:mm a"].

Для подробного руководства по FTL перейдите по ссылке: http://freemarker.org/

Переменные шаблона Copy-icon

Общие переменные Copy-icon

Имя переменной Описание
date Дата отправки контента на утверждение
files Коллекция файловых объектов в отправке на утверждение.
Обычно в формате <#list files as file>…</#list>.
file.name Имя файла, включающее полный путь к репозиторию
file.internalName Внутренний лейбл файла
submitter Лицо, которое отправляет контент на утверждение
submitter.firstName Имя того, кто отправляет контент на утверждение
submitter.lastName Фамилия того, кто отправляет контент на утверждение
submitter.username Логин того, кто отправляет контент на утверждение
submissionComments Строка, содержащая комментарии лица, которое отправляет контент на утверждение
scheduleDate Дата, на которую запланирована публикация контента
siteName ID сайта
liveUrl URL-адрес, по которому доступен веб-сервер в режиме реального времени
authoringUrl URL-адрес сервера разработки

Переменная уведомления об ошибке развертывания Copy-icon

deploymentError - Сообщение об ошибке при развертывании. В настоящее время должно быть адресовано как ${deploymentError.toString()}

Настройка списка лиц, получающих уведомления Copy-icon

Вы можете настроить список тех, кто получает уведомления, введя адреса их электронной почты между тегами <deploymentFailureNotification> и/или <approverEmails>.

<notificationConfig>
  <lang name="en">
    <deploymentFailureNotification>
      <email>АДРЕС ЭЛЕКТРОННОЙ ПОЧТЫ В СЛУЧАЕ ОШИБКИ РАЗВЕРТЫВАНИЯ</email>
    </deploymentFailureNotification>
    <approverEmails>
      <email>АДРЕС ЭЛЕКТРОННОЙ ПОЧТЫ ДЛЯ УТВЕРЖДЕНИЯ КОНТЕНТА ДЛЯ ПУБЛИКАЦИИ</email>
      <email>АДРЕС ЭЛЕКТРОННОЙ ПОЧТЫ ДЛЯ УТВЕРЖДЕНИЯ КОНТЕНТА ДЛЯ ПУБЛИКАЦИИ</email>
    </approverEmails>

        ...
  </lang>
</notificationConfig>

Copy-icon

Настройка диалоговых уведомлений

Ниже приведен пример диалоговых сообщений, определенных в нашем файле конфигурации уведомлений.

<notificationConfig>
  <lang name="en">
    ...

    <generalMessages>
      <content key="scheduling-policy"><![CDATA[{siteName} обрабатывает все запросы на публикацию каждый рабочий день с 16:00 по восточному времени до 18:00 по восточному времени, если не запрашивается конкретная дата/время.<br/><br/>Все запросы, полученные после 16:00 по восточному времени, могут быть обработаны только на следующий рабочий день.<br/><br/>Если у вас есть какие-либо вопросы по поводу этой политики или вам нужно немедленно обработать запрос на публикацию, пожалуйста, напишите администратору по электронной почте.]]>
      </content>
    </generalMessages>

    <cannedMessages>
      <content  title="Не одобрено" key="NotApproved"><![CDATA[Пожалуйста, внесите следующие изменения и отправьте повторно.]]></content>
      <content  title="Опечатки" key="Typos"><![CDATA[Этот контент содержит множество орфографических и/или грамматических ошибок. Пожалуйста, исправьте и отправьте повторно.]]></content>
      <content  title="Неправильный брендинг" key="IB"><![CDATA[В этом контенте используются неправильные или устаревшие термины, изображения и/или цвета. Пожалуйста, исправьте и отправьте повторно.]]></content>
      <content  title="Нерабочие ссылки" key="BrokenLinks"><![CDATA[Этот контент содержит нерабочие ссылки, которые могут быть вызваны неполными URL-адресами и/или ошибками в написании. Пожалуйста, исправьте и отправьте повторно.]]></content>
      <content  title="Требуется одобрение владельца раздела" key="NSOA"><![CDATA[Этот контент нуждается в одобрении владельца раздела, чтобы гарантировать отсутствие негативного влияния на другие страницы/области раздела и т.д. Как только вы получите одобрение, пожалуйста, напишите в отдел веб-маркетинга и повторно отправьте запрос на публикацию.]]></content>
    </cannedMessages>

    <completeMessages>
      <content key="submitToGoLive"><![CDATA[Команде было отправлено уведомление по электронной почте. Ваш контент будет рассмотрен и (в случае одобрения) опубликован между 16:00 по восточному времени и 18:00 по восточному времени рабочего дня, в который был получен запрос. Если этот запрос отправлен в нерабочее время, он будет рассмотрен и (в случае одобрения) опубликован как можно скорее на следующий рабочий день.<br/><br/>Если вам необходимо внести дополнительные изменения в этот пункт, пожалуйста, повторно отправьте этот запрос на публикацию после их внесения.<br/><br/>Если этот запрос требует немедленного рассмотрения, пожалуйста, напишите администратору по электронной почте.]]></content>
      <content key="delete">
       Элемент(ы) был отправлен на удаление. Он будет удален в ближайшее время.
      </content>
      <content key="go-live">Элемент(ы) был отправлен на публикацию. Вскоре он будет виден на сайте.</content>
      <content key="schedule-to-go-live">Следующие элементы будут опубликованы на сайте: ${date}.&lt;br/&gt;&lt;br/&gt;</content>
      <content key="reject">Публикация была отклонена. Элементы не были отправлены на публикацию и вернулись в статус черновика.</content>
      <content key="delete">Элемент(ы) был отправлен на удаление. Он будет удален в ближайшее время.</content>
      <content key="schedule-to-go-live">Элемент(ы) будет опубликован на сайте.</content>
    </completeMessages>

      ...
  </lang>
</notificationConfig>

Copy-icon

Настройка шаблонов

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

<notificationConfig>
  <lang name="en">
    ...
    <emailTemplates>
      <emailTemplate key="deploymentError">
        <subject>Ошибка развертывания на сайте ${siteName}</subject>
        <body><![CDATA[
                <html>
                  <head>
                    <meta charset="utf-8"/>
                  </head>
                  <body style=" font-size: 12pt;">
                    <p>
                      Не удалось развернуть следующий контент:
                      <ul>
                        <#list files as file>
                          <li>${file.internalName!file.name}</li>
                        </#list>
                      </ul>
                      Error:<br/>
                      ${deploymentError.toString()}
                      <br/><br/>
                      <a href="${liveUrl}" >
                        <img style="max-width: 350px;  max-height: 350px;" src="${liveUrl}/static-assets/images/workflow-email-footer.png" alt="" />
                      </a>
                    </p>
                  </body>
                </html>
        ]]></body>
      </emailTemplate>

      <emailTemplate key="contentApproval">
        <subject><![CDATA[<#if scheduleDate??>Контент запланирован к публикации <#else>Контент утвержден к публикации</#if>]]></subject>
        <!-- Часовой пояс может быть перезаписан в следующем шаблоне -->
        <body><![CDATA[
                 <#setting time_zone='EST'>
                 <html>
                   <head>
                     <meta charset="utf-8"/>
                   </head>
                   <body style=" font-size: 12pt;">
                     <p>
                       <#if scheduleDate??>
                       Следующий контент запланирован к публикации ${scheduleDate?string["МММ дд, гггг "в "чч:мм а"]} по восточному времени.
                       <#else>
                         Следующий контент был проверен и одобрен ${approver.firstName!approver.username} ${approver.lastName!""}
                       </#if>
                       <ul>
                         <#list files as file>
                           <#if file.page>
                             <a href="${liveUrl}/${file.browserUri!""}">
                           </#if>
                           <li>${file.internalName!file.name}</li>
                             <#if file.page>
                               </a>
                             </#if>
                         </#list>
                       </ul><br/>
                       <#if scheduleDate??>
                         <a href="${liveUrl}">Нажмите здесь, чтобы просмотреть ваш опубликованный контент</a>
                         <br/>
                       </#if>
                       <a href="${authoringUrl}/site-dashboard" >
                         <img style="max-width: 350px;  max-height: 350px;" src="${liveUrl}/static-assets/images/workflow-email-footer.png" alt="" />
                       </a>
                     </p>
                   </body>
                 </html>
                 ]]></body>
      </emailTemplate>

      <emailTemplate key="submitToApproval">
        <subject>Проверка контента</subject>
        <body><![CDATA[
                 <#setting time_zone='EST'>
                 <html>
                   <head>
                     <meta charset="utf-8"/>
                   </head>
                   <body style=" font-size: 12pt">
                     <p>
                       ${submitter.firstName!submitter.username} ${submitter.lastName} отправил контент на утверждение:
                       <ul>
                         <#list files as file>
                           <#if file.page>
                             <a href="${authoringUrl}/preview/#/?page=${file.browserUri!""}&site=${siteName}">
                           </#if>
                           <li>${file.internalName!file.name}</li>
                           <#if file.page>
                                 </a>
                           </#if>
                         </#list>
                       </ul>
                       <#if submissionComments?has_content>
                         Комментарии:<br/>
                         ${submissionComments!""}
                         <br/>
                       </#if><br/>
                       <a href="${previewUrl}/site-dashboard">Нажмите здесь, чтобы увидеть контент, ожидающий утверждения</a>
                       <br/><br/>
                       <a href="${liveUrl}" >
                         <img style="max-width: 350px;  max-height: 350px;" src="${liveUrl}/static-assets/images/workflow-email-footer.png" alt="" />
                       </a>
                     </p>
                   </body>
                 </html>
                 ]]></body>
      </emailTemplate>

      <emailTemplate key="contentRejected">
        <subject>Контент нуждается в пересмотре</subject>
        <body><![CDATA[
                                 <#setting time_zone='EST'>
                 <html>
                   <head>
                     <meta charset="utf-8"/>
                   </head>
                   <body style=" font-size: 12pt;">
                     <p>
                       Следующий контент был проверен и требует некоторой доработки, прежде чем он может быть утвержден:
                       <ul>
                         <#list files as file>
                           <#if file.page>
                             <a href="${authoringUrl}/preview/#/?page=${file.browserUri!""}&site=${siteName}">
                           </#if>
                           <li>${file.internalName!file.name}</li>
                           <#if file.page>
                             </a>
                           </#if>
                         </#list>
                       </ul>
                      Причина:<br/>
                       ${rejectionReason!""}
                       <br/><br/>
                       <a href="${authoringUrl}/site-dashboard" >
                         <img style="max-width: 350px;  max-height: 350px;" src="${liveUrl}/static-assets/images/workflow-email-footer.png" alt="" />
                       </a>
                     </p>
                   </body>
                 </html>
                 ]]></body>
      </emailTemplate>
    </emailTemplates>
  </lang>
</notificationConfig>

Copy-icon