Перейти к основному содержимому
Версия: 1.27.0

Версия 1.27.0

В этой версии платформы мы реализовали настройку SSO через Keycloak по OIDC и добавили несколько новых виджетов, в частности сделали доступ к спискам необходимых таблиц прямо с форм агентского интерфейса и страниц портала с помощью нового Simple-тега, а также реализовали в нем все привычные для пользователя возможности взаимодействия.

Системные улучшения включают добавление библиотеки Connect Manager в Indication Calculator и обновления коннекторов, повышающие информационную безопасность системы.

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

Новая функциональность


Портальный виджет карточек

Теперь вы можете настроить переход к разделам портала через карточки нового виджета. Расположение карточек и количество, которое отображается по умолчанию на портале, определяется в настройках. Отображение карточек также адаптируется к разрешению экрана устройства и если карточек слишком много, виджет может скрывать часть из них. Создавайте записи карточек, добавляйте их наименование и описание, загружайте изображения и указывайте порядок карточек в таблице Портальные карточки (portal_card).

Подробнее читайте в документации.

Портальный виджет объявлений

В этой версии мы обновили виджет объявлений и сделали возможным отображение большего количества записей в двух колонках. При наведении на название объявления, которое не вместилось в одну строку, отображается полный текст заголовка. Также мы настроили состояния виджета для разных разрешений экрана.

Типы объявлений подсвечиваются разными цветами для удобства поиска необходимой информации. Процесс публикации объявлений остался прежним.

Подробнее читайте в документации.

Переход на поток авторизационного кода

В этой версии приложение перешло с имплицитного потока на поток авторизационного кода (Authorisation Code Flow). Теперь вы можете настроить потоки авторизации SSO (с ключом и без ключа) в Keycloak при помощи OIDC. Процесс включает маппинг ролей и обновление данных при входе. Таким образом, при установленном параметре маппинга назначенные роли корректно передаются в систему и зарегистрированные пользователи имеют необходимый доступ. Также удаленные роли из Keycloak не будут назначаться авторизованным пользователям.

При наличии активного токена аутентификации пользователи могут повторно войти в систему без повторного ввода учетных данных.

Настроить соединение могут пользователи с новой ролью SSO_admin.

Подробнее читайте в документации.

Симпл-тeг списка записей с инструментами контроллера

В этой версии вы можете разместить полноценный список на странице портала или прямо в секции формы агентского интерфейса. Используйте для этого Simple-тег recordList.

В виджете также отображается конструктор условий с возможностями фильтрации, сортировки и группировки, поиска по колонкам и дополнительными действиями, позволяющими Создавать, Назначать, Завершать и Добавлять записи. Вы можете настроить вид списка через бургер-меню на форме виджета.

Обновление содержание виджета доступно без перезагрузки страницы.

Подробнее читайте в документации.

Улучшения


Универсальный виджет Static Record Information SA

Виджет Static Task Information SA переименован в Static Record Information SA и теперь он также доступен для размещения на портале. Для более детальной настройки отображения виджета были добавлены новые параметры, позволяющие определять, какие данные будут отображены в виджете, а какие скрыты.

Читайте подробнее в документации.

Доступ к объекту на форме из UI-действия в области связанного списка

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

  1. Если пользовательское действие инициирует запуск серверного скрипта, используйте переменную parent для доступа к объекту записи, содержащемуся в форме. Также эту переменную можно использовать в поле Условие на форме UI-действия.
  2. Если пользовательское действие инициирует запуск клиентского скрипта, используйте объект формы SimpleForm, также как и для пользовательского действия формы.

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

Читайте подробнее в документации.

Поисковая индексация REM-атрибутов

В этой версии в результатах поиска появятся значения REM-атрибутов, в которых фигурирует поисковое выражение.

Чтобы позволить системе выполнять глобальный поиск по этому атрибуту, установите флажок Полнотекстовый поиск на форме модели расширенной записи. При снятии флажка для проиндексированного атрибута созданные ранее индексы будут удалены.

В настройках вы можете определить, какие именно REM-атрибуты доступны для поиска.

Подробнее читайте в документации.

Обновленный интерфейс

Улучшена верстка отображения списков в системе.

Системные улучшения


Динамический коннектор Configure Connect

В этой версии добавлены коннекторы:

  • динамический коннектор dynamic-monolith, который первоначально не передает данные никакой таблицы, но при создании индикатора целевая таблица добавляется для получения ее записей.
  • статичный коннектор static-monolith, который при первоначальном развертывании экземпляра передает в Kafka таблицы Календарь (sys_schedule), Часовой пояс (sys_timezone) и Элемент календаря (sys_schedule_element) .
Реализация библиотеки Connect Manager в Indication Calculator

Для микросервиса Indication Calculator разработана библиотека Connect Manager, управляющая настройками динамического коннектора dynamic-monolith.

Библиотека только добавляет таблицы для передачи данных, обновляя конфигурационное поле table.include.list коннектора через REST API Kafka-Connect.

Микросервис Indication Calculator подключается к узлам кластера kafka-connect с помощью Haproxy, используя переменные KAFKA_CONNECT_HOST и KAFKA_CONNECT_PORT.

Для динамического и статического коннекторов отключены снэпшоты. Для этого в конфигурацию коннекторов добавлено поле "snapshot.mode": "never".

Перед созданием индикатора Indication Calculator происходит валидация за счет сверки микросервиса и списка исключений монолитного коннектора, в котором перечислены таблицы, на которые запрещено создавать коннектор.

При создании индикатора на запрещенные таблицы из table.exclude.list микросервис возвращает ошибку и не создает индикатор.

Обновление версии коннектора debezium-postgresql

В этой версии система поддерживает версию коннектора debezium-postgresql не ниже 2.5.4 для обеспечения информационной безопасности системы.

Исправления


DEF0020940: Возникала проблема с обновлением экземпляров с версии мастера из-за ошибки в указанных конечных точках. В этой версии проблема исправлена – конечные точки указаны корректно.

DEF0019594: Была найдена уязвимость в виде возможного внедрения HTML инъекции (уязвимость CWE-80). Содержимое передаваемого параметра могло попасть в письмо от доверенного источника и встроиться в страницу, из-за чего появлялась возможность внедрить HTML-тег с указанием ссылки на внешний ресурс. В этой версии настроена санитизация контента, благодаря чему нежелательные символы и хэштеги удаляются.

DEF0019492: Из-за некорректной работы Debezium replication слоты удерживали WAL, поскольку коннектор не выполнял фиксацию последнего LSN, а значения в столбце replicationslotlag измерялись мегабайтами и не сбрасывались. Проблема была связана с использованием единого экземпляра PostgreSQL, который включал несколько баз данных, одна из которых с высоким трафиком, а коннектор читал данные из базы данных с низким трафиком. Это приводило к тому, что репликационный слот с низким трафиком удерживал WAL, который не относился к таблицам, включенным в публикацию для данного слота. В этой версии мы учли проблему и настроили корректную работу стенда при проверках элементов, связанных с базой данных, на больших временных интервалах.

DEF0019330: В поле Подразделение (unit_id) записи Центра финансовой ответственности (cost_center) был неверно настроен фильтр справочника, из-за чего было невозможно выбрать необходимую запись. Проблема была связана с тем, что поле ссылалось на колонку Компания с системным наименованием company, а не company_id. В этой версии настройки фильтра исправлены.

DEF0019175: Из-за отсутствия параметра replication factor в топиках, работа контейнеров, обеспечивающих работу микросервисов, которые потребляют сообщения из Kafka (rule-engine, indication-calc и list-exporter), останавливалась вместе с остановкой брокера, к которому они были подключены. В этой версии параметр настроен и при остановке брокера потребители переключаются на другие активные узлы брокеров и продолжают работать в штатном режиме.

DEF0017982: Время публикации статей было динамическим и отображало текущее системное время вместо времени публикации. Причина заключалось в том, что бизнес-правило для отображения времени публикации было записано в приложении ITSM. В этой версии бизнес-правило перенесли в приложение Simple Application, что восстановило корректное отображение времени на записях статей.

DEF0017670: В предыдущей версии пользователи с любыми ролями могли выбрать системные таблицы и поля, к которым не имели доступ, для построения отчетов. Это было связано с тем, что модуль отчетов не поддерживал контекстные правила доступа (ACL). В этой версии доступ к этим таблицам ограничен, а также добавлено системное свойство reports.disable.table_ids, в котором вы можете указать ID отчетов, к которым необходимо закрыть доступ. Также в рамках этого дефекта была восстановлена работа фильтра поля Таблица, из-за которой при вводе наименования колонки возникали проблемы с поиском необходимой таблицы.

DEF0016486: Пользователи, которые были авторизованы на экземплярах с настроенным SSO ADFS не могли выйти из системы и после нажатия Выйти оставались активными в системе. В этой версии поведение авторизации исправлено.