Что нового в Loginom 7.4

В новой версии Loginom расширены возможности интеграции, пользовательского интерфейса и информационной безопасности. В Loginom Integrator реализован MCP-сервер. Дополнены механизмы аутентификации и авторизации: добавлена поддержка SASL (GSSAPI/Kerberos) для LDAP и Active Directory Federation Services в качестве провайдера для OpenID-аутентификации. Повышена устойчивость работы за счет восстановления пользовательских сессий при потере соединения с Loginom Server. Улучшен визуализатор Куб. Расширены настройки администрирования, в том числе в области информационной безопасности.

Loginom Integrator

В Loginom Integrator добавлена реализация MCP-сервера. Этот функционал доступен в редакции Enterprise.

MCP (Model Context Protocol) — протокол, позволяющий AI-агенту вызывать внешние инструменты (tools). Loginom Integrator поддерживает MCP-протокол и выполняет роль MCP-сервера, позволяя представлять опубликованные в качестве веб-сервисов сценарии Loginom как набор инструментов.

MCP tools генерируются по опубликованным узлам в опубликованных пакетах. Общий MCP-сервер для всех пакетов доступен по адресу http://<Server>/<App>/mcp/. Для обращения к MCP-серверу отдельного пакета используется URL http://<Server>/<App>/mcp/<PackageName>/.

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

MCP использует уже существующий в Loginom механизм публикации веб-сервисов. Для публикации MCP-инструмента достаточно при публикации пакета включить опцию Публиковать MCP-сервер в диалоге «Добавление веб-сервиса».

Особенности использования и ограничения:

  • В рамках стандарта взаимодействие между MCP-клиентом и MCP-сервером может осуществляться различными способами передачи данных: Streamable HTTP, STDIO, SSE. В текущей реализации Loginom Integrator для взаимодействия с MCP-клиентом используется Streamable HTTP (через URL).
  • MCP-сервер работает в режиме stateless. В данном режиме MCP-сервер не хранит состояние сессии между запросами: каждый запрос обрабатывается как самостоятельный.
  • В текущей реализации не поддерживается отправка MCP-клиентам уведомлений notifications/tools/list_changed об изменении списка опубликованных инструментов. Поэтому после изменений в публикациях инструментов (добавление, удаление, переименование) MCP-клиенту может потребоваться повторно запросить актуальный список инструментов с помощью tools/list.

Дополнительные материалы:

Loginom Server

Повышена устойчивость работы за счёт восстановления пользовательских сессий при потере соединения с Loginom Server.

При потере соединения с сервером Loginom в веб-интерфейсе приложения появится окно, в котором пользователю будет предложено подключиться к серверу или закрыть сессию. Если соединение будет успешно восстановлено, пользователь сможет продолжить работу в сессии, как будто потери соединения не было.

Важно: если сервер завершил работу или сессия была закрыта администратором из Диспетчера, то восстановить ее не представляется возможным.

Если при запуске Loginom Server прослушиваемые порты заняты, в лог будет записано сообщение вида Ошибка привязки к <host>:<port> (<error>) (где <host> и <port> — адрес и порт проверяемого интерфейса соответственно, а <error> — текст ошибки). Если ошибка возникла при создании Unix-сокета, то в лог будет записано сообщение вида: Ошибка при создании UNIX-сокета (<socket_name>): <synapse_error>. (где <socket_name> — указанное в файле конфигурации имя файла/сокета, и <synapse_error> — текст ошибки, предлагаемый библиотекой Ararat Synapse).

Аутентификация пользователей через OpenID

В качестве провайдера для аутентификации пользователей по стандарту OpenID может использоваться Active Directory Federation Services (AD FS). При использовании AD FS опция «Получение имени пользователя из токена» в Параметрах OpenID должна иметь значение true, т.к. для этого провайдера имя пользователя нельзя получить из информации о пользователе, оно передается как клейм в токене доступа.

В случае отсутствия свойства, заданного при помощи «Клейма имени пользователя» в информации о пользователе, или клейма в токене выдается ошибка:

  • при тестировании настроек OpenID — «Токен не содержит клейм preferred_username или Информация о пользователе не содержит свойство preferred_username»,
  • при логине — «Не удалось получить имя пользователя» (ранее текст сообщения был «Токен не содержит имя пользователя»).

LDAP аутентификация

В новой версии расширены возможности LDAP аутентификации: добавлена поддержка механизма SASL GSSAPI (Kerberos V5). Механизм SASL GSSAPI позволяет службе loginomd, запущенной из-под доменной учётной записи, аутентифицироваться на LDAP-сервере по протоколу Kerberos без передачи логина и пароля, что избавляет от необходимости ввода и сохранения логина/пароля в конфигурационных файлах Loginom, повышая безопасность системы.

Новый режим настраивается через параметр LDAP «Служебная учетная запись: аутентификация», который поддерживает варианты «Простая», «SASL DIGEST-MD5» и «SASL GSSAPI». Аутентификация настраивается независимо для служебной учётной записи и учетных записей пользователей.

Добавлена возможность использования списка базовых доменов в Параметрах LDAP. В поле «Базовый домен» можно перечислить несколько базовых доменов, разделив их символом «;». Поиск происходит поочередно с каждым BaseDN, заданным в поле «Базовый домен», в порядке их перечисления.

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

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

Примечание: иногда нельзя выполнить поиск по общему доменному имени, так как отсутствует домен с этим именем. Возникает ошибка вида: `0000202B: RefErr: DSID-03100844, data 0, 1 access points ref 1: 'example.com'`. В этом случае можно использовать глобальный каталог (для AD надо в настройках задать порт 3268 вместо 389).

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

Изменения в области информационной безопасности

В редакции Enterprise для страниц Loginom Studio «О программе» и «Начало» можно отключить запрос информации с сайта loginom.ru об актуальной версии и новостях. Для этого необходимо в конфигурационном файле client.json указать { "disablenewsfetch": true }.

Для пароля к учетной записи в Параметрах LDAP и для ключа клиента в Параметрах OpenID при сохранении в файл конфигурации применяется шифрование.

Новые параметры в Администрировании

В связи с появлением возможности восстановить сессию при потере соединения с сервером были добавлены новые параметры в Администрировании:

  • в Параметры подключения добавлена опция «Время жизни сессии после разрыва», позволяющая задать время жизни сессии после потери соединения (потеря соединения при этом должна быть обнаружена системой, в противном случае сессия может висеть бесконечно). При отключении сессии по таймауту (неактивности), сессия на сервере более не хранится, и подключиться к ней нельзя. Максимальное время жизни сессии, которое можно задать этой опцией — 12 часов, минимальное — 0 (сессии не хранятся после отключения).
  • в Параметры безопасности были добавлены опции:
    • «Переподключаться только с текущего IP» — настройка запрещает восстанавливать сессии с других IP адресов (по умолчанию отключена). Влючая параметр, нужно учитывать, что в этом случае не получится восстановить сессию при изменении провайдера сети или при изменении технологии подключения, например с Wi-Fi на 4G.
    • «Требовать аутентификацию при переподключении» — настройка требует обязательной аутентификации при попытке восстановления сессии (по умолчанию отключена).

В Параметрах OpenID добавлена опция «Получение имени пользователя из токена», позволяющая получать имя пользователя из токена доступа. Этот параметр должен иметь значение true в случае использования Active Directory Federation Services в качестве провайдера для аутентификации пользователей по стандарту OpenID.

Еще один новый параметр — «Обновлять полное имя пользователя». Если он имеет значение true, при каждом подключении пользователя из полученного токена доступа извлекается полное имя пользователя и устанавливается в описание пользователя, аналогично обновлению ролей и прав. Если параметр имеет значение false, то как и раньше, полное имя пользователя с OpenID аутентификацией забирается из токена доступа при первом подключении пользователя, а затем остается неизменным.

В Параметрах LDAP настройка «Учетная запись» переименована в «Служебная учётная запись: логин/DN», а параметр «Пароль» — в «Служебная учётная запись: пароль».

Также добавлен новый параметр, отвечающий за настройку механизма SASL GSSAPI (Kerberos V5): «Служебная учётная запись: аутентификация». Он определяет метод аутентификации для служебной учетной записи (под которой выполняется поиск пользователей в службе каталогов) на сервере LDAP.

Параметр «Служебная учётная запись: аутентификация» может принимать значения: «Простая», «SASL DIGEST-MD5» и «SASL GSSAPI». Если выбран вариант «SASL GSSAPI», то покдлючение под служебной учетной записью выполняется без логина и пароля. Если установлено значение «Простая», то используются Distinguished Name (DN) пользователя и пароль в открытом виде, а при «SASL DIGEST-MD5» — механизм SASL с DIGEST-MD5 шифрованием.

На странице «Параметры» добавлен поиск, соответствующая кнопка появилась на панели инструментов.

Планировщик задач

В Планировщике задач появилась возможность использовать переменные, полученные пользователем из токена доступа при OpenID аутентификации в приложении. Переменные токена можно посмотреть во вкладке «Переменные» при редактировании задачи. Это действие доступно только для пользователей с OpenID аутентификацией.

Список переменных токена представлен в виде таблицы в отдельном модальном окне «Переменные из токена OpenID».

Также доступно обновление этих переменных согласно текущим настройкам OpenID (назначенному списку переменных) и значениям из текущего токена (текущей сессии).

Новые возможности в визуализаторах

В Кубе несколько диаграмм, расположенных с одной стороны кросс-таблицы, можно размещать друг над другом. Для этого добавлены новые элементы интерфейса:

  • подсвечиваемые области для перетаскивания;
  • пункт «Повернуть» в подменю изменения положения в контекстном меню диаграммы.
Диаграммы в Кубе

Диаграммы в Кубе

Для числовых агрегаций фактов Куба добавлены следующие отображения:

ОтображениеНазвание аналогичного вычисления в ExcelОписание
Процент от родителя по горизонтали% от суммы по родительскому столбцу (% of Parent Col Total)Отношение значения к значению непосредственного родительского заголовка в колонках. У ячеек крайней левой колонки нет родительских заголовков, для них по аналогии с Excel возвращается 100%. Если родительский итог нулевой или отсутствует, то будет пропущенное значение.
Процент от родителя по вертикали% от суммы по родительской строке (% of Parent Row Total)Отношение значения к значению непосредственного родительского заголовка в строках. У ячеек крайней нижней строки нет родительских заголовков, для них по аналогии с Excel возвращается 100%. Если родительский итог нулевой или отсутствует, то будет пропущенное значение.
Процент от общего итога% от общей суммы (% of Grand Total)Отношение значения к значению общего итога всей кросс-таблицы (нижняя левая ячейка). Если родительский итог нулевой или отсутствует, то будет пропущенное значение.

В Кубе реализован режим разбиения сводных заголовков в кросс-таблице, в том числе при экспорте в файл. Под сводным заголовком понимается любой заголовок, размах (rowspan/colspan) которого в таблице более 1 ячейки. Сводные заголовки разбиваются на заголовки размером 1x1:

  • заголовки фактов и агрегаций разбиваются на одинаковые;
  • развернутые заголовки измерений разбиваются на одинаковые, но только первый из них может содержать кнопку сворачивания/разворачивания заголовков, метку и всплывающую подсказку наличия сортировки в свёрнутых подзаголовках;
  • свернутые заголовки измерений разбиваются на исходный заголовок и последовательность заголовков «Итого:» для каждого уровня ниже.
Повтор сводных заголовков в Кубе

Повтор сводных заголовков в Кубе

На основе настроенного фильтра в визуализаторе Таблица теперь можно создать узел сценария Фильтр строк.

В модальном окне настройки фильтра добавлена кнопка «Создать узел "Фильтр строк"», которая становится доступна, если визуализатор активен и добавлено хотя бы одно условие фильтрации. После ее нажатия откроется окно создания нового узла Фильтр строк. Предусмотрена возможность перейти к этому узлу сразу после создания.

В визуализаторе Таблица в окне настройки формата для поля типа Дата/время добавлен пример формата HH:NN:SS.ZZZ, чтобы пользователю было проще понять, что такой формат отображения значений Дата/время поддерживается.

Из визуализаторов КубТаблица и Качество данных появилась возможность выполнять экспорт в формат xlsx.

В визуализаторе Статистика добавлено обновление ячеек таблицы после расчета медианы и уникальных значений. Для строковый полей теперь отображаются значения Минимум (MinLength), Максимум (MaxLength) и Среднее (MeanLength).

В Быстром просмотре для переменных теперь отображается колонка «Описание».

Изменения в стандартных компонентах

JavaScript и Python

В компонентах JavaScript и Python изменилось название параметра «Тайм-аут ожидания (мс)», теперь он называется более точно «Тайм-аут ожидания запуска (мс)».

В мастере настройки компонента Python поле ввода параметра «Тайм-аут ожидания запуска (мс)» скрывается, если установлена опция «Запускать в отдельном процессе».

Замена

Расширена информация в сообщении об ошибке в регулярном выражении. Теперь сообщение об ошибке включает в себя и исходную проблему, например: «Задано неверное регулярное выражение Regular expression compile error at offset 4: missing terminating ] for character class».

Калькулятор

В функции Калькулятора EncodeTime и EncodeDateTime добавлен опциональный параметр Миллисекунды. Кроме того, параметр Секунды теперь тоже стал опциональным.

Нейросеть

Для компонентов Нейросеть (классификация) и Нейросеть (регрессия) для непрерывных полей по умолчанию установлен нормализатор Стандартизация (ранее для таких полей нормализация по умолчанию не использовалась).

Условие

В мастере настройки узла Условие изменен интерфейс страницы «Настройка списка условий». Теперь условия настраиваются так же, как в узле Фильтр строк.

Экспорт в Excel файл

В мастере настройки компонента Экспорт в Excel-файл для вещественных значений появилась возможность настраивать числовой формат. Формат вещественных столбцов может принимать два значения: общий или числовой. При значении «Общий» дальнейшая настройка формата становится недоступной. При значении «Числовой» можно настроить количество знаков после запятой и признак «Разделять тысячи».

Целые числа экспортируются в Excel-файл в числовом формате (ранее такие поля имели общий формат).

В предпросмотре мастера настройки компонента Экспорта в Excel-файл целые числа форматируются и отображаются с 0 знаков после запятой, без разделения тысяч.

Экспорт в базу данных и хранилище данных

Добавлена возможность задавать тип экспорта в базу данных через значение управляющей переменной. В автоматически формируемую метку узла Экспорт в базу данных добавляется метка управляющей переменной, через которую задан тип экспорта.

Проведена оптимизация экспорта в процесс хранилища данных.

Изменения в Файловом хранилище

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

Избранное в хд

На операционной системе Linux в дереве Навигация папки отображались в том порядке, в котором они были созданы. Такой порядок отличался от Windows-версии и создавал неудобство при поиске. Ситуацию исправили, теперь в Файловом хранилище используется естественный порядок сортировки при работе на любой операционной системе:

  • для сортировки по Имени в Файловом хранилище используется естественный порядок с учетом текущей локали, заглавные буквы до строчных;
  • в дереве Навигация папки сортируются по имени по возрастанию в естественном порядке с учетом текущей локали, заглавные буквы до строчных;
  • на странице Файлового хранилища включена начальная сортировка по имени по возрастанию.

Изменения в пользовательском интерфейсе и поведении приложения

Пользователь с локальной аутентификацией (средствами Loginom) теперь может самостоятельно изменять свой пароль. В главное меню приложения добавлен пункт «Изменить пароль», при нажатии на который появляется модальное окно смены пароля.

При смене пароля учитываются параметры безопасности: лимит попыток ввода пароля, тайм-аут ввода пароля и др. Также новый пароль должен удовлетворять установленным параметрам Парольной политики.

Если при выходе из Loginom имелись несохраненные пакеты, то пользователь получал предупреждение об этом и запрос на подтверждение выхода. В новой версии логика обработки такой ситуации изменена. Теперь пользователь получит запрос на сохранение всех несохраненных пакетов с вариантами ответов: «Сохранить и выйти», «Выйти без сохранения», «Отмена».

В случае выбора «Сохранить и выйти», и наличия открытых «черновиков», для каждого «черновика» будет предложен диалог сохранения файла. Если в диалоге сохранения файла нажать «Отмена», то «черновик» сохранен не будет, а приложение будет закрыто.

В мастерах настройки узлов, требующих обучения и при этом не обученных, на последнем шаге вместо кнопки «Выполнить» отображается кнопка «Обучить».

Из дерева панелей «Навигация» и «Производные компоненты» реализован переход к базовому узлу для производных узлов и к источнику ссылки для Узлов-ссылок и Подключений.

Команда «Перейти к базовому узлу» доступна в контекстных меню производных узлов, узла Цикл и Выполнение узла в дереве навигации сценария и панели «Производные компоненты», а команда «Перейти к источнику ссылки» — в контекстном меню Узлов-ссылок и Подключений в дереве навигации сценария.

При вызове команды перехода к узлу-источнику:

  • если узел находится в открытом пакете — выполняется навигация к нему;
  • если исходный узел не найден в открытых пакетах, выводится запрос на открытие пакета.
Переход к базовому узлу

Переход к базовому узлу

​​​​Изменилось позиционирование выходного узла Подмодели, а также поведение при выделении и перетаскивании узлов:

  1. Выходной узел Подмодели всегда «привязан» к правой границе области построения сценария, больше не дергается случайным образом и не наезжает на узлы справа.
  2. Узлы не могут находиться вплотную к нижнему или правому краю области построения сценария, всегда есть прокручиваемый отступ.
  3. При перетаскивании узлов область построения сценария увеличивается («растягивается») с учетом пунктов 1 и 2.
  4. При выделении нельзя перетащить рамку за пределы области построения сценария, нельзя изменить размеры области построения сценария.
  5. Автоматическая прокрутка при выделении/перетаскивании стала удобнее, реагирует на нахождение мыши за пределами области построения сценария.

Максимальная ширина и высота блока Заметки увеличены до 7680 x 4320.

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

Логирование

При запуске Loginom в лог Loginom Server записывается информация об операционной системе, на которой он запущен. Пример записи в логе: Loginom Enterprise запущен {"VERSION": "7.4.0-alpha", "OS": "openSUSE Tumbleweed 20250827 kernel 6.16.3-1-default glibc 2.42"}.

#7.4#release notes

Смотрите также

Подписывайтесь на телеграмм-канал Loginom
Новости, материалы по аналитике, кейсы применения, активное сообщество
Подписаться