Версия 1.22.3
В этой версии произошло расширение инструментов ESM-платформы за счет появления новых таблиц: Потребности, Закупки, Бюджеты, Затраты компании, и таблицы для хранения Продуктов компании. Появилась настройка табулирования на формах таблиц. Также улучшения затронули виджет Summary, индикации, отображение страниц на портале и почтовые уведомления. Помимо этого, произведены системные улучшения, ускоряющие работу платформы.
Новая функциональность
Настройка табулирования на формах
Добавили возможность настройки табулирования на формах таблиц. Теперь вы можете настроить удобные для вас способы передвижения по элементам форм с помощью клавиатуры. Подробнее о настройке табулирования читайте в статье Представление форм.
Новые таблицы
Продукт/Product – новая таблица, предназначенная для хранения продуктов компании. Записи продуктов содержат информацию о ресурсах, конфигурацией которых является продукт: сотрудниках, технологиях, партнерах и поставщиках. Создание и управление записями таблицы доступно пользователям с новыми ролями product_agent и product_manager.
Финансовые таблицы – новые таблицы, которые закладывают основу для формир ования Потребности, управления Бюджетом и Закупками, а также фиксации фактических затрат по центрам финансовой ответственности.
Новые таблицы являются расширяемыми и будут использоваться в будущих версиях приложений ITAM и SDLC.
Подробное описание вы найдете в разделе Сервисные инструменты платформы:
Раздел в документации | Таблицы |
---|---|
Продукт |
|
Потребности |
|
Закупки |
|
Бюджеты |
|
Фактические строки затрат |
|
Статьи затрат |
|
Центры финансовой ответственности |
|
Валюты |
|
Фискальные периоды |
|
Системные улучшения
Индикации
Теперь при удалении индикатора или снятии флажка Активен система будет предупреждать об отмене текущих связанных индикаций. После подтверждения действия пользователем, активные индикации будут отменены. При деактивации или удалении индикатора, на форме связанных индикаций в поле Когда изменено будет отображаться время отмены индикации. Читайте подробнее в статье Индикации.
Виджет Summary
В виджете Summary на форме согласования теперь отображаются только заполненные поля. Для отображения виджета на портале убедитесь, что в целевой записи создан вид представления, Default/По умолчанию. Если его нет, то настройте его. Больше информации о виджете читайте в статье Summary.
Изменения на формах
Убрали поля с атрибутами модели CMDB на форме таблицы Конфигурационная единица/Configuration Items:
- Мощность/Power
- Информационная система/Information system
- DNS/DNS
- IP-адрес/IP Address
record/sys_business_rule/163914487417347092
).
Убрали кнопку Изменить/Edit из связанных списков для пользователей, у которых нет прав на редактирование записей. Изменения затронули формы следующих таблиц:
- Модель запроса/Request Model (sys_rmc_model)
- Коллекции/Collections (sys_re_collection)
- Модели/Models (sys_re_model)
- Формы/Form Views (sys_ui_form)
- Секции форм/Form Section Elements (sys_ui_form_section)
- Списки/List Views (sys_ui_list)
Уведомления
Добавили список всех согласующих задачи в уведомления о согласовании, которые приходят по электронной почте. Список разделен на две группы – обязательные и необязательные участники согласования. Это помогает получателю определить свою роль в согласовании задачи и увидеть список всех ее согласующих.
Портал
Улучшена работа виджетов бокового меню и категорий каталога услуг на портале. Для этого мы:
- добавили 7 дополнительных атрибутов в портальный тег <sidemenu>.
- добавили на форме Портала/Portal флажок Фиксировать верхний колонтитул/Fixed header, при помощи которого вы можете зафиксировать верхний колонтитул на странице.
- добавили на форме Узла портала/Portal node флажок Игнорировать ACL/Ignore ACL. Когда флажок установлен, ограничения контроля доступа для записей в системе, на которые ссылаются динамические узлы, снимаются, и остаются только фильтры и пользовательские критерии для категорий и элементов каталогов моделей запросов.
Настоятельно рекомендуем проверить наличие и работоспособность прямых вызовов s_form родительской формы из дочерней перед обновлением на 1.22.3.
Реализована изоляция контекста исполнения клиентских скриптов для объекта s_form, в случае, когда на странице располагаются формы нескольких разных записей, в том числе в виде виджетов с Simple-тегом <form> или <remform>. Теперь клиентский скрипт строго оперирует переменной s_form, относящейся к форме, для которой был запущен. Это позволяет клиентским скриптам разных форм работать независимо, без случайных срабатываний в "соседних" формах.
-
На странице с загруженной формой в консоли браузера нельзя обратиться к форме напрямую через переменную s_form.
-
В случае, если на странице с формой записи одной таблицы присутствует RE-модель записи другой таблицы, которая добавлена на форму с помощью виджета с Simple-тегом <rem>, или модель выведена с помощью тега <remform>, клиентский скрипт модели не сможет обратиться на прямую к форме через переменную s_form. В данном случае на странице два независимых объекта форм.
Для оперирования формой в обоих случаях, указанных выше, используйте конструкцию s_widgets.getForm('formName'), где formName – название представления необходимой формы.
Оптимизация системы
Добавлены новые инструменты для мониторинга экземпляров системы и трассировки запросов, а именно:
- Добавили распределенную трассировку для сервисов Queue Consumer и Schedule Job.
- Настроили мониторинг количества обработчиков php-fpm (BACKEND_API_MAX_CHILDREN – backend-api) на облачных экземплярах. Это позволит предотвратить падения экземпляров из-за нехватки обработчиков.
- Создали инструмент интеграции OpenTelemetry и Jaeger для трассировки запросов, анализа работы приложения и выявления проблем, связанных с производительностью на on-premise экземплярах.
- Добавили переменные окружения и соединение с репликой для чтения, чтобы разгрузить мастер-базу данных.
Исправления
DEF0018978: Исправили поведение, из-за которого выполнение PUT-запросов для таблицы Запросы на обслуживание/Service Requests значительно замедлялось. Сейчас обработка запросов занимает менее одной секунды.
DEF0018781: При обновлении платформы с версии 1.19.1 и 1.20.1 на новую 1.21.3 и выше, появлялись ошибки, препятствующие успешной установке обновления. Теперь обновление происходит успешно.
DEF00187686: Исправили ошибку отображения метаданных на странице, для которой не настроено форматирование. Ранее на странице отображался список ошибок. Теперь на странице отображается сообщение об ошибке.
DEF0018747: Исправлена ошибка, приводившая к увеличению нагрузки и деградации системы, связанная с установкой мониторинга количества обработчиков php-fpm.
DEF0018730: Исправлена ошибка, при которой удаление Индикатора (sys_indicator) приводило к длительному ожиданию пересчета Индикации (sys_indication). Теперь пересчет индикации занимает менее секунды.
DEF0018436: Исправили поведение системы, приводящее к повторному выполнению блоков рабочего процесса. Теперь при запуске рабочего процесса его контекст блокируется, и другой запрос, например, из очереди, не может выполнить этот контекст повторно.
DEF0018383: Исправили некорректный номер порта для микросервиса DelayQueue в конфигурациях haproxy для on-premise экземпляров.
DEF0017778: Исправлен некорректный ответ сервиса schedule-job, когда при успешном удалении записей таблицы Запланированные импорты/Scheduled Imports и Запланированные скрипты/Scheduled Scripts появлялась запись об ошибке GRPC server SCHEDULE_JOB_IMPORT_COMMAND returns code 0 with error: . в таблице Журнал исключений/Exception Logs. Теперь удаление записей этих таблиц не сопровождается сообщениями об ошибках.
DEF0017660: Устранена возможность использовать URL в методах API SimpleRestRequest c протоколами, отличными от http и https. Теперь проводится проверка URL и, в случае неподходящего URL, выводится сообщение об ошибке. Также информация об ограничении используемых протоколов добавлена в документацию в соответствующие разделы API для разработчиков и Настройки Rest API.
DEF0017646: Устранена причина, по которой метод s_form.getValue() возвращал значение undefined после того, как фильтр связанного списка формы был изменен пользователем, но сама форма не была перезагружена. Это представляло опасность для функционирования методов s_form.save(), s_form.getValue(), s_form.getAllFields(), которые обращаются к методу s_form.getValue().
DEF0017493: Исправили проблему, приводящую коннектор monolith-source в состояние Failed, когда для таблицы была создана и вынесена на ее форму колонка типа А, после чего запись колонки удалялась и создавалась колонка с таким же именем для этой же таблицы, но другого типа.
DEF0017462: Исправлена ошибка подключения к серверу IMAP по порту 143, из-за которой приложение предпринимало попытки ошибочно установить защищенное соединение. Теперь подключение почтового сервера по порту 143 происходит без использования SSL и TLS.
DEF0017130: Попытка создать быстрый ответ для таблицы, в которой содержится большое количество записей, заканчивалась появлением ошибки 500. Теперь проблема устранена, и быстрые ответы можно создавать для таблиц с любым количеством записей.
DEF0017607: После миграции при запуске запланированных скриптов по расписанию возникала ошибка коннектора schedule-job-sink из-за нерелевантности полей process_id и proccess_at и отсутствия source-коннекторе параметра column.exclude.list. Теперь в schedule-job-sink добавлен атрибут, исключающий эти поля. Благодаря этому запланированные скрипты запускаются без ошибок.
DEF0016960,DEF0016799: После исполнения действий рабочих процессов, часто сбрасывались значения REM-атрибутов и полей для записи, имеющей активный контекст рабочего процесса, и установленных этими действиями. Это происходило в результате параллельного взаимодействия с этой записью других пользователей или системы. А также внедрен механизм dirty-атрибутов, при котором не происходит затирание данных, когда одна и та же запись обновляется в нескольких скриптах сразу. После выполнения рабочего процесса заданные REM-атрибуты сохраняют свое новое значение, а в базе обновляются только те атрибуты, которые были изменены.
DEF0016845: Исправлена проблема, из-за которой метод addQuery() с операторами ISEMPTY и ISNOTEMPTY возвращал неверный ответ. В документацию добавили информацию о том, что этот метод в серверном и клиентском скрипте может принимать только два параметра, где первый параметр - название поля, а второй - название оператора, а также добавили список операторов, которые должны использоваться без значений, в том числе ISEMPTY и ISNOTEMPTY.
DEF0014868: Пользователи без роли admin не могли полноценно настроить отчёт из-за отсутствия доступа на чтение записей в таблицах Списки/List Views и Системные цвета/System Colors. Теперь эта проблема устранена, и пользователи могут применять все функции отчетов на платформе.