Версия 1.28.0
В этой версии мы расширили возможности модуля авторизации: добавили возможность одновременного использования разных сервисов авторизации и обновили алгоритм поведения системы при вводе учетных данных, что сделало его более безопасным. Также мы реализовали новый виджет авторизации, который поддерживает эту функциональность.
Кроме того, мы сделали просмотр и считываемость информации более удобными. Для этого:
- добавили режим компактного просмотра форм, в котором на странице отображается больше информации и минимизируется необходимость прокручивать страницу вниз.
- добавили разделители разрядов числовых значений, вид которых можно настроить для каждого языка.
- обновили вид профиля сотрудника на портале самообслуживания.
Важным улучшением для пользователей сервисной составляющей платформы в этой версии стала возможность использовать признак VIP записи Заявителя в отчетах.
Также обновление содержит ряд системных улучшений и исправлений, направленных на повышение безопасности и улучшение общей логики системы.
Начиная с этой версии, у каждого действия рабочего процесса, кроме действия End, обязательно должен быть выход, ведущий к другому действию. Несоблюдение этого правила приведет к ошибке выполнения рабочего процесса.
Перед обновлением с версий 1.27.0 и ниже убедитесь, что все рабочие процессы на вашем экземпляре соответствуют этому критерию.
Новая функциональность
Числовые разряды в полях, Simple-тегах и Ленте активности
В этой версии платформы мы оптимизировали отображение больших целых и нецелых чисел для удобства просмотра информации. Для этого мы реализовали несколько вариантов разделителей для разрядов и дробных частей числовых значений, которые, в том числе, учитываются системой при настройке конструктора условий, а также при отображении в ленте активности.
Отображение разделителей включается с помощью нового системного свойства simple.number.enable_grouping_separator. При необходимости вы можете настроить разные разделители для каждого используемого языка интерфейса. По умолчанию: для русского языка применяется вид 1 000,25, для английского - 1,000.25.
Также в Simple-теге string появился атрибут enableGroupingSeparator, который позволяет включать и отключать отображение разделителей числовых значений, добавленных в текстовое поле внутри Simple-тега. Значение этого атрибута имеет приоритет над системным свойством.
К некоторым типам колонок разделители не применяются, в том числе разделители не применяются к колонкам типа sys_id.
Читайте подробнее в документации.
Компактный режим просмотра записей
Мы добавили опцию компактного размещения всех полей на одной странице. Переключить режим отображения на Компактный можно в меню Настроек. В этом режиме все заголовки и отступы полей форм уменьшены, благодаря чему на странице отображается больше информации, чем обычно.
Возможности авторизации через сторонние провайдеры SSO
В этой версии мы добавили возможность одновременного использования разных провайдеров авторизации. Теперь пользователи могут сами выбирать способ авторизации: используя базовую авторизацию или подключенного стороннего провайдера. Для этого в системе появились:
- таблица Провайдеры SSO (sso_provider), которая позволяет создать записи провайдеров для авторизации в системе, а также настроить отображение на форме виджета авторизации.
- обновленный виджет авторизации, в котором отображаются кнопки для авторизации удобным для пользователя способом. Количество и вид отображения кнопок можно настроить.
Читайте подробнее в документации.
Улучшения
Улучшение профиля сотрудника на портале самообслуживания
В этой версии мы обновили страницу профиля сотрудника на портале самообслуживания. Теперь в "коробочной" версии доступная информация располагается в двух виджетах:
- Static User Information SA – отображает информацию о пользователе.
- Static Record Information SA – отображает информацию о месте работы пользователя.
Это обновление позволяет пользователям быстрее находить необходимую информацию благодаря более удобной верстке и возможности подсветки заданных полей, а администраторам – легче определять, какие пользовательские данные должны быть отображены в профиле на портале самообслуживания.
Читайте подробнее в документации
Признак VIP на форме Заявителя
С этой версии поле Заявитель на форме таблицы Задачи (task) ссылается на таблицу Сотрудники. Благодаря этому изменению теперь вы можете обращаться к признаку VIP в отчетах.
Усиление безопасности для класса SimpleSystem
В версии платформы 1.28.0 мы усилили безопасность системы, добавив ACL-проверки к методам серверного класса SimpleSystem. Теперь система проверяет права доступа пользователя на операции создания, чтения и обновления при:
- изменении системных свойств (setProperty());
- работе с пользователями (getUser(), getUserID());
- изменении системных свойств (setProperty(), getProperty());
- работе с пользователями (getUser(), getUserID(), getApplicationId());
- создании URL-действий (generateUrlAction());
- работе с событиями (eventQueue(), eventQueueScheduled()).
При этом для методов eventQueue() и eventQueueScheduled() проверка ACL не производится, если скрипт выполняется в контексте с выключенными ACL-правилами.
Реализованные правила устранят уязвимости, например, несанкционированного изменения свойств через вызов метода setProperty().
Читайте подробнее в документации.
Исправления
DEF0021221: В предыдущей версии платформы при выборе даты система выставляла дату, отличную от заданной, если пользователь выбрал часовой пояс, в котором дата отличается от даты в UTC. В этой версии мы реализовали поддержку корректной работы календаря в разных часовых зонах.
DEF0021197: В предыдущей версии отсутствовала возможность добавлять критерии доступа для портальных карточек. В этой версии на их форму добавлено поле Критерии доступа, в котором вы можете указывать записи таблицы Пользовательские критерии (sys_user_criteria). Благодаря этому портальные карточки теперь отображаются в соответствии с настройками контроля доступа.
Также дополнили документацию информацией о том, что ссылка на форме портальных карточек может быть абсолютной или относительной, но только внутри портала.
DEF0020813: Правила контроля доступа не срабатывали в конструкторе условий при автозаполнении полей. Когда пользователь начинал вводить значение, список значений, которые предлагала система, содержал все, включая те, которые должны были быть скрыты от текущего пользователя. В этой версии правила контроля доступа функционируют корректно, предлагаемые варианты не содержат результаты поиска, к которым у пользователя нет доступа, а также отображается заглушка Результаты не найдены, если ни одного подходящего и доступного результата не найдено. В справочниках в таком случае отображается ошибка 404.
DEF0020414: В окне предпросмотра записи, содержащей поле WYSIWYG, содержимое этого поля отображалось полностью. В этой версии в превью содержимое этого поля отображается в сокращенном виде аналогично данным в полях типа Text.
DEF0020379: Ранее при создании организационных единиц ниже уровня Компания отсутствовала возможность выбора компании из-за неверно настроенных фильтров. В этой версии проблема устранена, и поле Компания заполняется автоматически.
DEF0019784: При работе с подключением gRPC не поддерживались значения retry и back-off, из-за чего действие Timer, которое использовалось в действии, указанном в действии Subflow, прерывалось с ошибкой. С этой версии действие Subflow выполняется корректно.
DEF0019048, DEF0019047, DEF0019044: В предыдущей версии были обнаружены уязвимости микросервисов в связи с использованием устаревших Go-библиотек x/net и gRPC. В текущей версии библиотеки обновлены до актуальных версий:
- list-exporter
- external-rabbitmq-producer
- external-rabbitmq-consumer
DEF0018874: В предыдущей версии система могла перестать отвечать при большом количестве повторных запросов. В этой версии мы предусмотрели безопасный механизм повторных обращений для клиентов gRPC.
DEF0017118: Действие рабочего процесса Switch зависало после переназначения выхода из действия, которое должно выполняться по умолчанию. Проблема возникала в связи с тем, что при изменении позиции выходов у блоков также обновлялись данные wf_activity_exit, в которой содержалось обновленное значение order записи выхода из действия. Однако в бизнес-правиле это значение порядкового номера выхода из действия, настроенного по умолчанию, не обновлялось, и рабочий процесс останавливался. В этой версии логика бизнес-правил дополнена, и действие Switch работает стабильно.
DEF0014524: Из-за несвоевременного обновления некоторых ссылок на страницах портала, пользователи после обновлений не могли попасть на актуальные версии страниц my_sc_tickets и view_model. В этой версии ссылки исправлены.
DEF0020716: В complex-offline.yml дистрибутива SimpleOne отсутствовала роль itglobal_com.docker_apps_monitoring для контейнеров мониторинга kafka_server и kafka_connect. Из-за этого было невозможно установить их одновременно с установкой Offline и Online дистрибутивов SimpleOne. В этой версии контейнеры мониторинга (экспортеры) разворачиваются на той же виртуальной машине, что и контейнеры Kafka.
Также в этой версии запуск роли itglobal_com.docker_apps_monitoring налажен, благодаря чему запуск контейнеров происходит в штатном режиме.
Патч 1.28.2
В этом патче мы устранили критические уязвимости и усилили защиту системы. Также мы доработали отображение и настройки агентского интерфейса, а именно:
- Расширили список элементов, представление которых изменяется при включении Компактного режима.
- Добавили поле Непосредственное подразделение на форме сотрудника.
- Добавили возможность размещения нескольких экземпляров виджета Static User Information SA на одной форме с настройкой условий их отображения.
Системные улучшения и исправления включают:
- обновления механизма авторизации и политики пароля.
- метод silentMode(), использование которого исключает срабатывание индикаций при обновлении записей.
- скрипт миграции портальных карточек из таблицы Узел в новую таблицу Портальные карточки.
Улучшения
Расширение возможностей Компактного режима
В этом патче доработан Компактный режим отображения агентского интерфейса. Теперь при его включении меняется отображение:
- списка записей таблиц;
- количества условий в конструкторе условий;
- связанных списков на формах записей.
Читайте подробнее в документации.
Выбор непосредственного подразделения сотрудника
На форму сотрудника добавили поле Непосредственное подразделение. Теперь руководители могут выбирать подразделение, в котором работает их сотрудник.
Читайте подробнее в документации.
Размещение и настройка нескольких виджетов Static User Information SA
В этой версии вы можете добавлять в опции виджета Static User Information SA условия его отображения. Теперь можно также расположить несколько экземпляров этого виджета на одной и той же форме, и отображать только тот, который соответствуют заданным условиям. Например, на форме инцидента можно расположить два виджета и, в зависимости от того, является инцидент инфраструктурным или нет, отображать информацию о Владельце услуги или о Заявителе инцидента.
Читайте подробнее в документации.
Миграция записей портальных карточек из таблицы Узел в Портальные карточки
В этом патче добавлен скрипт миграции Migrate Portal Card, который вы можете запустить, чтобы перенести имеющиеся данные портальных карточек из таблицы Узел (simple_node) в таблицу Портальные карточки (portal_card), доступную с версии 1.28.0. После миграции эти карточки будут отображаться в виджете Portal Cards.
Чтобы запустить скрипт, выполните следующие шаги:
- Перейдите в навигаторе в Настройка системы → Серверные скрипты.
- Найдите в списке запись Migrate Portal Card и откройте ее.
- Нажмите Запустить.
После выполнения скрипта перенесенные записи карточек будут доступны в таблице Портальные карточки (portal_card). Вы сможете проверить и настроить их отображение в портальном виджете Portal Cards.
Читайте подробнее в документации.
Перенос строки поиска на портале самообслуживания
Виджет поиска на портале самообслуживания теперь размещен в верхней части страницы. Единообразный интерфейс объединяет работу в агентском интерфейсе, на портале самообслуживания и на сайте документации.
Метод silentMode() в калькуляторе индикаций
Теперь вы можете изменять целевые записи, не вызывая срабатывания индикаций, при использовании метода silentMode().
Читайте подробнее в документации.
Политика усиленного пароля
Начиная с версии 1.28.0, вы можете определять политику пароля. Теперь система предусматривает два варианта:
- простой пароль – содержит не менее 6 символов и не содержит пробелов.
- усиленный пароль – содержит не менее 8 символов, в числе которых буквы верхнего и нижнего регистра и числа (0-9).
Включение политики усиленного пароля регулируется системным свойством simple.auth.strong_password_policy.enabled.
Пароли, созданные до включения политики усиленного пароля, останутся действительными в системе до момента их восстановления или смены, то есть при включенной политике усиленного пароля все новые пароли должны будут соответствовать новым требованиям.
Читайте подробнее в документации.
Доработка политики пароля и авторизации
В этой версии мы оптимизировали алгоритм работы авторизации и политики паролей:
- добавили валидацию введенных данных в агентском интерфейсе и на форме авторизации, созданной при помощи Simple-тега authfull.
- исправили поведение системы, когда при многократном неправильном вводе данных увеличивалось время ответа сервера.
- внедрили использование усиленной политики паролей для локальных учетных записей в веб-приложении.
Читайте подробнее в эксплуатационной документации.
Рефакторинг аутентификации и авторизации
В этой версии логика обработки токенов перенесена в новый микросервис. Удалены:
- таблица User Token (user_token),
- свойство user.token.ttl.
Читайте подробнее в эксплуатационной документации.
Оптимизация сервиса Rule Engine
Для снижения риска сатурации сервиса Rule Engine в этой версии:
- в параметре
inventoryможно задать количество экземпляров Rule Engine на одной виртуальной машине; - добавлены инструменты для увеличения числа партиций;
- подключен мониторинг сатурации.
Читайте подробнее в эксплуатационной документации.
Исправления
DEF0020935: Устаревшее поле Категория контракта (contract_category) не было скрыто с формы Контракты (contract), а новое поле Категория контракта (category) было активным. В этой версии устаревшее поле деактивировано, а новое переименовано в Категория контракта по активам для более точного определения его назначения.
DEF0020335: Исправлена ошибка, из-за которой при конвертации поля типа html в поле типа WYSIWYG не переносились изображения.
DEF0019715: Некорректная работа backend_worker_attachment_index приводила к аномальной утилизации RAM/CPU и остановке работы экземпляров с ошибками 502 и 503. В этой версии причины возникновения ошибок устранены.
DEF0019671: На странице Heapselect исчезли названия кнопок Сохранить и Отменить, а также не было возможности сохранить изменения на странице. В этой версии вернули названия кнопок и исправили проблему с сохранением.
DEF0018425: В предыдущих версиях неавторизованные пользователи могли получить информацию о версии платформы на экземпляре. В этой версии настройки безопасности обновлены, и версия платформы доступна только авторизованным пользователям.
DEF0015397: При создании записей в журнале История не сохранялась информация о значении полей типа Text и Choice, если они имели значение 0, и полей типа Boolean, если те имели значение false. В этой версии условия проверки дополнены, и в Истории отображаются все записи.
DEF0014651: На формах портала не работали клиентские скрипты из-за ошибки в виджете Record Default Widget. В этой версии виджет исправлен.