Практикум. Уведомления о днях рождениях. Уведомления
В рамках текущего практикума необходимо создать и настроить шаблоны для отправки поздравлений на дни рождения и юбилеи. Также необходимо настроить почтовый сервис, чтобы конечный пользователь мог получить поздравление на почту.
Перед настройкой модуля «Уведомления» необходимо предварительно реализовать настройки, описанные в главах: |
Создание и настройка шаблонов уведомлений
Необходимо создать два шаблона уведомлений для поздравления с Юбилеем и Днем Рождения. Позже будет настроен алгоритм для проверки возраста сотрудника и отправки уведомления по одному из шаблонов на почту исходя из типа события – юбилей или день рождения (см. «Настройка задачи с сервисным действием по запуску алгоритма»).
Для настройки рассылки уведомлений потребуется подготовить шаблон отправляемого сообщения. Для этого необходимо перейти в реестр типа объектов «Шаблон уведомления» через пункт меню «Администрирование» - «Управление объектами» - «Шаблон уведомления».
Добавьте новый объект в реестре уведомлений, в модальном окне выберите тип шаблона «Шаблон уведомления».
Создайте уведомление «Поздравление с днем рождения» [BITRHDAY_NOTIFICATION], в поле «Рассылка отдельного письма каждому получателю» выберите «Да». Уведомление будет содержать в себе поздравление сотрудника с днем рождения.
Ниже необходимо заполнить шаблоны заголовка и основного сообщения письма. В редакторе можно настроить текст и его форматирование. В поле «Редактор шаблона заголовка» с помощью клавиатуры введите «С днем рождения!».
В редакторе шаблона сообщения необходимо указать имя сотрудника, у которого день рождения, а также поздравление. В поле редактора шаблона сообщения введите «С днем рождения,». В шаблоне можно вставить атрибут объекта и результат расчета алгоритма. Для указания имени сотрудника вставьте атрибут – для этого воспользуйтесь кнопкой «Вставить» и выберите опцию «Атрибут объекта».
В модальном окне заполните поля: тип объекта – «Сотрудник отдела», атрибут – «Фамилия». Для вставки атрибута в шаблон воспользуйтесь кнопкой «Добавить атрибут».
Аналогично вставьте атрибут «Имя» типа объектов «Сотрудник отдела». В шаблоне в конце предложения укажите восклицательный знак. Сохраните шаблон уведомления.
В следующей строке шаблона необходимо добавить алгоритм, который будет передавать текст поздравления сотрудника.
На платформе GreenData предусмотрена работа с алгоритмами. Алгоритм – это некая последовательность вычислительных шагов, используемая для выполнения определенной задачи или преобразования данных. Система поддерживает работу со всеми типами алгоритмов: линейными, разветвляющимися, циклическими и вспомогательными. Они задаются на языке Groovy – объектно-ориентированном языке программирования, который является дополнением к языку Java.
По аналогии со вставкой атрибута, воспользуйтесь кнопкой «Вставить» и выберите опцию «Результат расчета алгоритма». В модальном окне в поле «Добавить алгоритм» добавьте новый, для этого раскройте панель дополнительных действий и выберите опцию «Добавить».
Редактор алгоритмов содержит в себе поле для формулы и панель «Инструменты», на которой располагаются доступные функции: набор функций определяется типом алгоритма.
Создайте алгоритм «Алгоритм поздравления с днем рождения» [BITRHDAY_NOTIFICATION_ALG]. В результате выполнения алгоритма должно возвращаться поздравление, случайно выбранное из реестра поздравлений.
Заполните поле формулой алгоритма.
Воспользуйтесь функциями:
Выполните следующие шаги чтобы повторить формулу алгоритма:
1. Создайте переменную, которая будет хранить текст поздравления. Для этого с помощью клавиатуры введите «def birthday_text», где def – функция создания новой переменной, а birthday_text – наименование переменной. Также можно воспользоваться функцией var из раздела «Алгоритмы»: в модальном окне вставьте наименование переменной и добавьте ее в формулу алгоритма с помощью кнопки «Создать»;
2. После обозначения переменной введите с помощью клавиатуры знак призвания (:=).
3. В качестве присеваемого значения необходимо указать случайно выбранное поздравление. Воспользуетесь источником данных на основе SQL, для реализации выборки данных, систематизированных по определенным критериям. Выберите функцию queryForObjectOrNull из раздела «Источники»: в появившемся модальном окне с реестром источников создайте новый источник в новой вкладке;
4. Выберите тип источника «Источник данных на основе SQL»;
5. Создайте новый источник «Поиск случайного поздравления (День рождения)» [SQL_BD_RANDOM_TEXT] и сохраните его;
6. Далее необходимо заполнить текст запроса, для этого введите следующий:
SELECT CONGRATULATION FROM DICT_CONGRATULATION WHERE DICT_EVENT_ID = 848150 ORDER BY RANDOM() LIMIT 1
В качестве значения «848150» необходимо указать код экземпляра «День рождение» типа «Событие». Для этого необходимо в отдельной вкладке перейти к реестру типа объектов «Событие», после этого в реестре перейти к редактированию экземпляра «День рождение». Необходимый код объекта находится в адресной строке после части «card/».
7. Сохраните источник данных. Чтобы проверить его работоспособность, воспользуйтесь кнопкой «Просмотр источника данных».
В появившемся модальном окне должен быть один элемент, выбранный случайным образом из реестра поздравлений.
8. Вернитесь к настройке алгоритма. В реестре источников выберите только что созданный;
9. Далее необходимо вывести содержимое переменной, для этого воспользуетесь функцией return из раздела «Алгоритмы», а после нее укажите переменную «birthday_text» с помощью функции var.
Сохраните алгоритм с помощью кнопки «Ок». После этого алгоритм отобразится в модальном окне списка привязанных алгоритмов. Вставьте результат расчета алгоритма в шаблон с помощью соответствующей кнопки.
После этого в редакторе шаблона сообщения отобразится наименование алгоритма, результат которого будет указываться в уведомлении, сформированном по текущему шаблону.
Сохраните шаблон уведомления и вернитесь в реестр шаблонов. Аналогично создайте шаблон для поздравления с юбилеем.
Создайте шаблон «Поздравление с Юбилеем» [ANNIVERSARY_NOTIFICATION], Рассылка отдельного письма каждому получателю – «Да».
В качестве заголовка введите «С Юбилеем!». В поле шаблона сообщения также введите «С Юбилеем, », а далее вставьте атрибуты фамилии, имени и отчества типа «Сотрудник отдела». Сохраните шаблон.
В шаблоне сообщения в следующей пустой строке вставьте результат расчета алгоритма. Создайте новый алгоритм «Алгоритм поздравления с Юбилеем» [ANNIVERSARY_NOTIFICATION_ALG], который будет возвращать случайное поздравление на юбилей.
Заполните поле формулы алгоритма по аналогии с алгоритмом «Алгоритм поздравления с днем рождения» В качестве источника данных создайте новый источник «Поиск случайного поздравления (Юбилей)» [SQL_ANNIVERSARY_RANDOM_TEXT] и в качестве текста источника укажите:
SELECT CONGRATULATION FROM DICT_CONGRATULATION WHERE DICT_EVENT_ID = 848151 ORDER BY RANDOM() LIMIT 1,
где на месте «848151» введите код экземпляра «Юбилей» типа объектов «Событие».
Сохраните настройки источника данных и завершите настройку алгоритма. После сохранения алгоритма, укажите его в шаблоне сообщения. Сохраните шаблон уведомления.
Настройка почтового сервиса
Отправка уведомлений на почту пользователям системы невозможна без настроенной интеграции почтового сервиса, который позволяет автоматизировать процесс обработки данных почтовых сообщений, устраняя необходимость ручного ввода или копирования информации.
Для настройки взаимодействия с почтовым сервисом в Системе используется тип объектов «Учетная запись электронной почты» [SYS_MAIL_ACCOUNT] - экземпляры этого типа используются при настройке интеграции с почтовым сервисом. Эти и другие конфигурации платформы настраиваются через экземпляры системных типов, наследуемых от типа «Системные настройки» [SYS_SETTING]. К реестру типа можно перейти через пункт меню «Администрирование» - «Настройки» - «Системные настройки».
В реестре выберите объект «Интеграция с почтовым сервисом», после чего в правой части страницы отобразится боковая панель с параметрами выбранной настройки. Для реализации отправки сообщений на почту, необходимо добавить учетные записи, которые будут использоваться для аутентификации на почтовом сервисе. Для создания новой учетной записи необходимо в группе атрибутов «Учетная запись электронной почты» в реестре учетных записей создать новый объект.
В качестве примера представлена настройка параметров для аутентификации в почтовом сервисе Яндекс. Создайте учетную запись «Настройки отправителя GreenData Saas», также заполните наименование отправителя – «GreenData». В поле «Адрес отправителя» укажите адрес электронной почты, к которой у вас есть доступ. Значения для полей «Хост», «Порт» и «Протокол» необходимо заполнить в соответствии с документацией.
Также необходимо создать пароль приложения: в поле «Пароль» создайте новый, для этого на панели дополнительных действий выберите опцию «Добавить». Создайте новый пароль «Пароль почты Яндекс» [YA_PASSWORD], в поле «Значение» необходимо указать пароль приложения.
Создание пароля приложения реализуется на стороне почтового сервиса, который нужен для контроля доступа к данным этого сервиса на сторонних сервисах. В рамках практикума необходимо создать пароль приложения на стороне почтового сервиса Яндекс, для этого воспользуйтесь инструкцией. После чего появится пароль, который необходимо скопировать и указать в поле «Значение». Также очистите поле «Необходимо шифрование».
Сохраните настройки интеграции с почтовым сервисом. Проверить корректность настроек можно с помощью алгоритма, который будет рассмотрен далее (см. Бизнес-процессы).