Рабочий журнал сбоев сервисов вёлся в общей XLSX-таблице, размещённой в Nextcloud и редактируемой через Nextcloud Office. Фоновый сервис отслеживает изменения отслеживаемого поля, определяет изменённую строку, сравнивает предыдущее и новое значение и формирует письмо с полным содержимым записи и ссылкой на исходный документ.
Структура уведомления
Задача
Сделать так, чтобы изменение статуса записи в общей таблице не оставалось незамеченным и не требовало ручной рассылки уведомлений.
Результат
смена статуса фиксируется автоматически
ответственные получают структурированное уведомление со всеми реквизитами записи
обычная совместно редактируемая таблица работает как лёгкий журнал регистрации и контроля событий
Что реализовано
отслеживание изменений в общей XLSX-таблице
контроль конкретного листа документа
определение изменённой строки
сравнение прежнего и нового значения статуса
формирование темы письма по событию
включение в письмо всех полей записи
ссылка на исходную таблицу Nextcloud
отправка с служебного адреса
корректное отображение кириллицы и HTML-таблицы
Архитектура
01сервис работает в фоне на стороне Linux и обращается к документу в хранилище
02предыдущее состояние отслеживаемых строк сохраняется между запусками
03изменение определяется сравнением состояний, а не событием редактора
04письмо собирается как HTML-таблица со всеми полями записи и ссылкой на документ