Операция уведомления о чистке черновиков (draftCleanupNotificationJob)

Операция предназначена для заблаговременного информирования пользователей о предстоящем удалении черновиков, срок хранения которых подходит к концу. Она анализирует все черновики, созданные в реестрах/справочниках и отправляет уведомления (в интерфейсе и/или по электронной почте) для тех, чей возраст превысил пороговое значение, заданное в модели данных. Это позволяет пользователям своевременно принять меры - завершить работу с черновиком или перенести его в основное хранилище.

Параметры операции

  • Отправлять уведомления только на почту (флаг): Если флаг включен, уведомления отправляются исключительно по электронной почте и не отображаются в интерфейсе системы (раздел "Уведомления"). Если флаг выключен, уведомления отправляются и в интерфейс, и на email (при условии, что email-рассылка настроена).

  • Обрабатывать только черновики новых записей (флаг): Определяет, какие черновики попадают в обработку и какой параметр срока хранения используется.

    • Если флаг включен, операция обрабатывает только черновики новых записей (записей, созданных непосредственно в черновике) и использует для определения порога уведомления значение timeToNotifyNew, заданное в модели данных для соответствующей сущности.

    • Если флаг выключен, операция обрабатывает все черновики (включая черновики редактирования существующих записей) и использует стандартное значение timeToNotify.

Для периодического выполнения рекомендуется настроить запуск по расписанию (Cron-выражение).

Внутренние механизмы

  1. Операция анализирует черновики, созданные в реестрах и справочниках.

  2. Для черновиков, не отправленных на согласование, проверяется их возраст.

  3. Если возраст черновика превышает пороговое значение (timeToNotify или timeToNotifyNew в зависимости от настроек), формируется уведомление.

  4. Уведомления отправляются в соответствии с параметрами операции (только на почту или в интерфейс с на почтой).

  5. Записи, созданные в рамках мультичерновика, также учитываются операцией.

Параметры системы

Для работы email-уведомлений необходимо настроить следующие параметры (или соответствующие переменные окружения):

  • org.unidata.mdm.core.email.enabled (EMAIL_ENABLED)

  • org.unidata.mdm.core.email.server.host (EMAIL_SERVER_HOST)

  • org.unidata.mdm.core.email.server.port (EMAIL_SERVER_PORT)

  • org.unidata.mdm.core.email.username (EMAIL_USERNAME)

  • org.unidata.mdm.core.email.password (EMAIL_PASSWORD)

  • EMAIL_FRONTEND_URL - обязательная переменная окружения для корректного формирования ссылок на записи в уведомлениях.

Важно знать/Ограничения

  • Параметры timeToNotify и timeToNotifyNew задаются в модели данных для каждого реестра или справочника через API (например, POST /api/v2/data/model/register/entities/upsert). Формат значения – строка с указанием единицы времени: 1m (минута), 1h (час), 1d (день) и т.д.

  • Если заданы только timeToNotifyNew и timeToRunNew, но при этом не установлен флаг "Обрабатывать только черновики новых записей", операция не будет отрабатывать для таких сущностей, так как ожидает наличия timeToNotify и timeToRun.

  • Без корректной настройки email-параметров отправка писем производиться не будет. Если флаг "Отправлять уведомления только на почту" включен, а email не настроен, уведомления не будут доставлены.

  • Операция только уведомляет; удаление черновиков выполняется отдельной операцией.

Результат работы операции

Пользователи получают уведомления в интерфейсе и/или на электронную почту в зависимости от настроек (Рисунок 1/2).

Пример уведомления в UI

Рисунок 1 - Пример уведомления

Пример письма

Рисунок 2 - Пример письма