Что нового в Loginom 7.3

20 ноября 2025
0 комментариев

В Loginom 7.3 значительно расширена линейка стандартных компонентов. Теперь с помощью компонентов для работы с деревьями данных можно JSON преобразовать в дерево и на основе дерева сформировать JSON. Появились компоненты для объединения и слияния деревьев. В группу Интеграция добавлен компонент SQL-скрипт. Полностью переработан мастер настройки узла Фильтр строк, расширен функционал компонентов для работы с веб-сервисами, языками программирования и некоторых других. Пополнился список параметров безопасности Loginom. Появились новые возможности при работе с базами данных и в Планировщике.

Новые возможности для работы с деревьями данных

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

Компонент JSON в дерево предназначен для преобразования данных из JSON-формата в иерархическую древовидную структуру и обеспечивает гибкий парсинг JSON с возможностью автоматического или ручного формирования результирующего дерева. Для удобства работы с большими структурами данных предусмотрена возможность загрузки шаблона дерева из XSD-схемы или непосредственно из JSON-файла.

Компонент Объединение (дерево) позволяет исходный набор данных древовидной структуры, дополнить записями присоединяемых деревьев. Узел на основе этого компонента может работать в одном из двух режимов:

  • Конкатенация всех активных деревьев — в этом случае корневой узел выходного дерева представляет собой массив, содержащий корневые узлы деревьев из всех активных входных портов.
  • Выбор первого активного дерева — выходное дерево содержит те же данные, что и дерево в первом активном входном порту. Корневой узел выходного дерева является массивом в случае, если корневой узел хотя бы одного из входных деревьев является массивом (от активности входных портов это не зависит). Этот режим полезен, если узел Объединение (дерево) используется после узла Условие, когда только одна из ветвей сценария содержит активное дерево данных.

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

Компонент SQL-скрипт

Компонент SQL-скрипт предназначен для выполнения пользовательских SQL-запросов в различных СУБД. Поддерживается выполнение скриптов, которые не возвращают курсоры, и работа с транзакциями. Для работы компонента необходимо Подключение к соответствующей базе данных, по аналогии с компонентами Импорт из базы данных и Экспорт в базу данных. Компонент принимает на вход как табличные данные, так и переменные, а на выходе содержит набор данных, в который выводится информация о статусе выполнения и ошибках.

Мастер настройки узла представляет собой редактор SQL, который поддерживает подсветку синтаксиса и автодополнение. На отдельной странице мастера настройки можно установить дополнительные параметры, такие как тайм-аут работы скрипта, игнорирование ошибок и другие.

Компонент SQL-скрипт можно полноценно вставить в поток обработки данных. Это открывает много возможностей и не ухудшает структуру сценариев обработки. Например, можно создать таблицу в базе данных, если она еще не существует, и сразу записать в нее данные, или выполнить какой-то скрипт для каждой строки входного набора. Поля и переменные со входа узла можно использовать в скрипте как параметры и макроподстановки.

Важно: В работе компонента есть ограничения, связанные с особенностями выполнения транзакций и скриптов в различных СУБД.

SQL в Loginom

Редизайн компонента Фильтр строк

Мастер настройки узла Фильтр строк полностью переработан. Основное окно настройки представляет собой таблицу, в строках которой задаются условия. Для задания условия нужно в первом столбце таблицы выбрать поле, во втором — условие и в третьем указать значение для сравнения. Сложные условия задаются несколькими строками таблицы, между которыми по умолчанию применяется оператор И. Если необходимо использовать оператор ИЛИ, то он указывается в явном виде между строками с помощью контекстного меню или панели инструментов, расположенной над таблицей.

Аналогичным образом настраивается фильтрация в визуализаторе Таблица и на странице «Фильтрация данных» в мастере настройки узла Импорт из базы данных.

Filter в Loginom

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

Подключение к базе данных без использования пула подключений

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

Режим работы в одной сессии позволяет выполнять операции с данными во временной таблице в нескольких узлах.

При настройке Подключения совместно с опцией «Работать в одной сессии» можно указать «Тайм-аут ожидания сессии (с)». В этом случае попытка параллельного использования подключения завершится с ошибкой «Подключение к БД занято», если за указанный тайм-аут эта единственная сессия не освободилась. То есть второй узел будет ожидать сессию в течение тайм-аута. Минимальное значение параметра «Тайм-аут ожидания сессии (с)» — 0, максимальное — 2073600 (24 суток).

Процесс ожидания сессии может быть отменён из Панели «Процессы».

Особенности режима работы в одной сессии:

  • Режим работы в одной сессии недоступен для подключений к хранилищам данных, MS Access и MS Excel, а также других подключений через ODBC и Microsoft Office Access Engine.
  • В мастере настройки подключения ODBC параметр отображается, т.к. до активации подключения неизвестно, какой драйвер используется.
  • Процесс активации Подключения появляется в Панели «Процессы» 1 раз при условии, что не было разрывов соединения.
  • Не выполняется автоматическое переподключение в случае потери соединения.
  • Для SQLite в режиме «Работать в одной сессии» нельзя параллельно выполнять несколько узлов Импорт из базы данных. Если при этом задать тайм-аут ожидания сессии, то все узлы Импорт из базы данных для активации встанут в очередь и будут выполняться последовательно по мере освобождения сессии подключения. В этом режиме появляется возможность выполнять «параллельные» экспорты (не будет появляться сообщение о том, что нельзя выполнить одновременный экспорт в одну базу), при этом узлы Экспорт в базу данных встанут в очередь, с учетом заданного тайм-аута.

Новые возможности при работе с ClickHouse

Реализована возможность работы с кластером ClickHouse. В мастере настройки подключения ClickHouse добавлен новый параметр «Кластер», его значение можно выбрать из выпадающего списка (для ClickHouse в облаке этот параметр подключения игнорируется и выпадающий список не заполняется). Если указан параметр подключения «Кластер», то запросы, выполняемые при работе компонента Экспорт в базу данных модифицируются:

  • Запрос CREATE TABLE создает 2 таблицы:

    • Таблицу с данными с суффиксом _data и ENGINE = ReplicatedMergeTree для автоматической репликации в кластере (если выполнять INSERT INTO в эту таблицу, то данные попадут на сервер, к которому подключены).
    • Distributed таблицу (если выполнять INSERT INTO в эту таблицу, то данные будут равномерно распределены по таблицам кластера).
  • Запрос на удаление DROP TABLE подготавливается с указанием ON CLUSTER {cluster}. Если передаётся Distributed таблица, то данные удаляются также из таблиц, по которым она создана.

  • Запрос DELETE FROM перенаправляется на запрос TRUNCATE TABLE.
  • Мутация ALTER TABLE ... DELETE FROM, которая используется при экспорте в базу данных для удаления по ключам, а также запрос TRUNCATE TABLE, который используется для удаления данных из таблицы, выполняются с указанием ON CLUSTER {cluster}. Если передается Distributed таблица, то данные удаляются из таблиц, по которым она создана. Если Distributed таблица создана для кластера, отличного от указанного в параметре «Кластер», то выполнение завершится ошибкой.

Особенности выполнения импорта из базы данных при работе в режиме кластера:

  • Если выполнять импорт Distributed таблицы {db}.{table}, то конкатенируются данные из таблиц кластера, указанных при создании Distributed таблицы в аргументах Distributed(cluster, database, table[, sharding_key[, policy_name]]).
  • Если выполнять импорт из таблицы с данными {db}.{table}_data, то импортируются данные только с сервера, к которому подключены.

В мастер настройки подключения к ClickHouse добавлены новые параметры:

  • Тайм-аут сетевой записи (с) — определяет в течение какого времени выполняется запись пакета. Если достигнуто значение тайм-аута и не получен ответ, то соединение закрывается. Значение по умолчанию — 120 с; диапазон значений редактора: [0, 2073600], где 2073600 с — это 24 суток, а 0 означает бесконечность.
  • Тайм-аут сетевого чтения (с) — определяет в течение какого времени выполняется чтение пакета. Если достигнуто значение тайм-аута и не получен ответ, то соединение закрывается. Значение по умолчанию — 120 с; диапазон значений редактора: [0, 2073600].

Изменения в работе с MS SQL Server

В Подключение MS SQL добавлены параметры, которые позволяют устанавливать защищенное соединение с MS SQL Server, даже если на стороне MS SQL Server шифрование не включено. Параметры для настройки протокола шифрования:

  • Шифровать протокол — значение по умолчанию False.
  • Не проверять сертификат сервера — по умолчанию сертификат проверяется (значение параметра False). Эта настройка не отображается в мастере настройки подключения, если в параметрах безопасности (Администрирование Loginom) включена опция «Всегда проверять SSL-сертификаты».

Важно:

  • Настройки «Шифровать протокол» и «Не проверять сертификат сервера» могут игнорироваться в зависимости от глобальных настроек OLEDB драйвера в реестре Windows и версии OLEDB драйвера.
  • Если параметр «Шифровать протокол» имеет значение False, то это не означает, что нет шифрования, т.к. шифрование может быть затребовано сервером или включено в реестре Windows.
  • MS SQL OLEDB 18 и более ранние версии драйвера никогда не проверяют сертификат сервера, даже если протокол шифруется по требованию сервера.
  • MS SQL OLEDB 19 не проверяет сертификат, только когда Trust Server Certificate отключено и в реестре, и в приложении («Шифровать протокол» равно False). Во всех остальных случаях проверяет.
  • На Linux при подключении без клиента подпись сертификата сервера проверяется, когда сервер СУБД не требует шифровать протокол, а в приложении включено «Шифровать протокол».
  • На Linux при подключении без клиента не проходят проверку самоподписанные сертификаты.

При работе в Loginom на операционной системе Linux поддерживается подключение через ODBC-клиент, когда не установлен параметр «Не использовать клиент СУБД». В качестве клиента используются MSODBCSQL или FreeTDS, при этом MSODBCSQL является более приоритетным.

По умолчанию в Linux при добавлении нового подключения к MS SQL используется именно ODBC-клиент (параметр «Не использовать клиент СУБД» отключен), т.е. в качестве основного способа взаимодействия с сервером СУБД MS SQL из Linux предполагается ODBC-драйвер, который должен быть установлен в системе. Использование ODBC-драйверов в качестве основных обусловлено стабильностью работы, а также более полной поддержкой протокола.

Важно: При открытии пакетов, созданных в предыдущих версиях, сбрасывается опция «Не использовать клиент СУБД». Т.е. подключения к MS SQL перестанут работать, если в системе нет соответствующего ODBC-драйвера (MSSQLODBC или FreeTDS). При переносе пакета с Windows на Linux будет использоваться подключение через ODBC-драйвер.

Доступные настройки:

  • Если значение переменной окружения LOGINOM_MSSQL_ODBC_ONLYtrue или 1, то подключение к MS SQL выполняется только через ODBC.
  • Переменной окружения LOGINOM_MSSQL_ODBC_DRIVER можно задать, какой ODBC-драйвер использовать для подключения к SQL Server. Возможные значения: libmsodbcsql и libtdsodbc. Если переменная LOGINOM_MSSQL_ODBC_DRIVER не задана, то драйвер выбирается автоматически (в приоритете MSODBCSQL). Если переменная LOGINOM_MSSQL_ODBC_DRIVER задана, но значение не распознано, то в лог записывается предупреждение и драйвер выбирается автоматически.

Известные ограничения при работе через ODBC:

  • Не поддерживается «Тайм-аут блокировки». При необходимости его можно установить вручную в скрипте импорта из базы данных: SET LOCK_TIMEOUT timeout_period.
  • Не поддерживается тип sql_variant.
  • Для MSODBCSQL:
    • невозможно подключиться к старым серверам без изменения параметров безопасности OpenSSL (с использованием протоколов, шифров и алгоритмов подписи, признанных небезопасными);
    • если unixODBC собран без DEFAULT_ICONV_ENCODING UTF-16, не будут выполняться запросы при использовании в их тексте символов Unicode с кодом выше 65535.
  • Для FreeTDS:
    • не поддерживается опция подключения «Не проверять сертификат сервера»;
    • если не включено «Шифровать протокол», то пакет с логином и паролем не шифруется;
    • не восстанавливается соединение в случае разрыва.

Для MS SQL добавлена поддержка типа xml при подключении через ODBC.

В рамках одного подключения теперь можно импортировать строки с разными кодовыми страницами. В связи с этим параметр «Кодовая страница» в мастере настройки Подключения переименован в «Язык сообщений».

Подключение расширений для SQLite

Расширения SQLite — это дополнительные программные компоненты, которые добавляют в ядро SQLite новые функции, отсутствующие в ее стандартном наборе. Много полезных расширений можно найти на специализированных ресурсах (например, https://github.com/nalgeon/sqlean или https://sqlpkg.org/). Для использования расширений их необходимо скачать и положить в папку sqlite рядом с исполняемым файлом Loginom (при установке Loginom с настройками по умолчанию для Windows путь к исполняемому файлу C:\Program Files\Loginom\Server, для Linux — /var/opt/loginom/server).

Следует относиться с осторожностью к выбору расширений. Расширения, которые работают с файлами, имеют прямой доступ к файловой системе, минуя файловое хранилище Loginom.

Другие изменения в работе с базами данных

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

  • Удаление существующей таблицы (если она существует) с использованием команды DROP TABLE IF EXISTS table_name или её аналога для СУБД, не поддерживающих IF EXISTS.
  • Создание новой таблицы посредством соответствующего SQL-запроса.

При установленном флаге «Удалять существующую таблицу» на вкладке SQL-запрос над основным редактором запроса для создания таблицы появляется дополнительный текстовый блок (только для чтения) с командой удаления существующей таблицы.

Запрос на удаление таблицы для всех ODBC подключений и MS Access выполняется с игнорированием ошибок.

При экспорте в базу данных теперь можно по входным строковым полям создавать столбцы с максимально возможным размером (nvarchar(max), ntext, clob). Для диалога создания таблицы в мастере настройки узла Экспорт в базу данных добавлен выбор типа поля «Строковый (макс)», а также кнопка «Все строковые макс», которая заменяет тип Строковый на Строковый (макс) для всех полей.

При экспорте в базу данных можно создавать таблицы с установкой ключевых полей. Для диалога создания таблицы в мастере настройки узла Экспорт в базу данных добавлены редакторы выбора ключевого поля и установки признака «Не NULL». Поддерживается групповое редактирование полей.

В мастере настройки узла Импорта из базы данных в режиме Выбор таблицы теперь выводится описание полей таблицы (не поддерживаются для подключений SQLite и Excel). Кроме того, добавлена настройка «Формировать метки полей из описания». Когда эта опция включена, метки полей, в том числе отображаемые в Предпросмотре и при настройке фильтра, берутся из описаний полей таблицы базы данных. Для полей без описания метки соответствуют именам полей. Настройка отображается, если база данных поддерживает описание полей.

ImportDB в Loginom

В Предпросмотре узла Импорт из базы данных появилась возможность копирования данных в буфер обмена.

В Подключениях MySQL, PostgreSQL и ClickHouse в Настройки SSL добавлен параметр «Проверка сертификата сервера», который может принимать значения:

  • отключена — проверка сертификата не выполняется;
  • только подпись — проверяется только подпись ЦС (недоступно для ClickHouse);
  • полная — проверяется подпись ЦС и хост (используется по умолчанию).

Таким образом, появилась возможность задать проверку через системные сертификаты. Для этого параметр «Сертификат CA» должен быть не задан. Если в параметрах безопасности Loginom включена опция «Всегда проверять SSL-сертификаты», то используется режим проверки сертификата сервера «Полная» и свой корневой сертификат нельзя установить. Редакторы становятся недоступными, установленные значения игнорируются при выполнении узлов.

Если в пакетах, подготовленных в предыдущих версиях Loginom, сертификат ЦС не задан, то проверка сертификата сервера будет отключена. Если задан сертификат ЦС, то для MySQL и PostgreSQL будет использоваться проверка сертификата сервера «Только подпись», а для ClickHouse — «Полная».

При экспорте в PostgreSQL для режимов «Дополнить таблицу данными», «Очистить таблицу и заполнить данными» и «Выполнить TRUNCATE и заполнить данными» добавлена настройка «Использовать быстрый загрузчик» с доступными значениями:

  • Авто (значение по умолчанию). В режиме «Авто» быстрый загрузчик не используется для представлений (VIEW, MATERIALIZED VIEW), таблиц c правилами (RULE) и для неподдерживаемых типов полей. То есть, если при подготовке запроса будет обнаружено, что экспорт выполняется в представление или в таблицу с подсчетом правил, а также будут найдены неподдерживаемые типы данных, то будет выполнен экспорт стандартным запросом INSERT.
  • Да — для записи строк в таблицу используется запрос вида COPY BINARY table FROM STDIN.
  • Нет — экспорт выполняется с помощью стандартного запроса INSERT.

При небольшом количестве строк в наборе данных (менее 100) в любом случае используется стандартный INSERT.

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

Режим «Авто» используется по умолчанию в том числе и для пакетов, подготовленных в более ранних версиях, а для них в некоторых случаях производительность может снизиться.

Добавлена возможность спрашивать логин/пароль при подключении к хранилищу данных в интерактивном режиме.

Настроенное Подключение теперь можно склонировать.

Добавлена поддержка Oracle Database 23. Для клиентов OCI 23 и выше поля типа BOOLEAN определяются как имеющие тип Логический.

Для MySQL поддерживается libmysqlclient 24 (при работе под Linux), что соответствует MySQL Server 9.0.

Loginom больше не поддерживает подключение к Interbase. Во всех ранее созданных пакетах настроенные подключения к Interbase будут заменены на Firebird.

Изменения в работе с веб-сервисами

Важно: В подключениях REST-сервис и SOAP-сервис была убрана опция «Тайм-аут обмена данными (мс)». Все сетевые операции при получении данных, кроме непосредственного установления соединения, теперь работают без тайм-аутов. Во всех пакетах, созданных в более ранних версиях Loginom, этот параметр тоже не будет отображаться.

Вместо тайм-аута обмена данными нужно использовать редактируемое свойство «Общий тайм-аут (с)», которое добавлено в мастера настройки узлов REST-запрос и SOAP-запрос. Общий тайм-аут может иметь значение от 0 до 2073600 (24 дня). При достижении тайм-аута соответствующая ошибка записывается в порт выходных данных, и дальнейшая обработка входных данных останавливается. По умолчанию тайм-аут не задан (значение ).

В мастерах настроек подключений REST-сервис и SOAP-сервис параметр «Игнорировать ошибки SSL-сертификата» переименован в «Не проверять сертификат сервера». Этот параметр не отображается в мастере настройки и игнорируется при выполнении узлов, если в параметрах безопасности Loginom включено «Всегда проверять SSL-сертификаты» или «Всегда проверять сертификаты HTTPS».

При настройке подключений REST-сервис и SOAP-сервис можно явно указать тип аутентификации Basic. В этом случае в первом HTTP-запросе отправляется заголовок Authorization: Basic base64(<username>:<password>) и, если ответ сервера — 401 Unauthorized, то попытки использовать другую схему аутентификации не выполняются.

Добавлена поддержка типов аутентификации NTLM и Negotiate для HTTP-запросов (ранее такая возможность была в Loginom 6). Negotiate работает только через NTLM, т. е. без поддержки Kerberos, для протокола NTLM поддерживается только версия v2.

При настройке подключения REST-сервис теперь можно задать тип URL-параметров:

  • Строка запроса — параметры помещаются в строку запроса как param-name=param-value (как и было ранее).
  • Добавление сегментов — этот способ позволяет добавлять параметры как продолжение пути запроса. Т. е. если пользователь ввёл URL http://example.com/operation-path, то после выполнения узла REST-запрос все параметры из таблицы будут добавлены как продолжение пути http://example.com/operation-path/value1/value2/.... Последовательность добавления параметров к запросу прямая, т. е. в порядке их следования в таблице. Это важно учитывать, поскольку последовательность параметров влияет на результат запроса.
  • Замена — параметры можно добавлять в URL-строку через специальный синтаксис :param1. В этом случае через таблицу параметры добавить нельзя.

Параметры в подключении REST-сервис настраиваются только в момент настройки мастера. При изменении URL через переменную параметры не обновляются и работают как были настроены первоначально (их имя и тип не меняются, новые параметры не добавляются, а старые не удаляются).

Ранее было допустимо использовать пустое имя параметра, сейчас пустое имя параметра задать не получится ни для одного из типов URL-параметров.

К REST-запросам POST, PUT и PATCH теперь также можно добавлять URL параметры.

В настройках узла REST-запрос появились новые параметры:

  • Задержка между запросами (мс)
  • Количество повторных запросов в случае ошибки
  • Задержка между неудачными запросами (мс)

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

  • возникла сетевая ошибка;
  • сервер вернул статус 408 (Request Timeout);
  • сервер вернул статус 429 (Too Many Requests);
  • сервер вернул любую из 5xx ошибок.

Если запрос выполнен с ошибкой, то в лог будет добавлена соответствующая запись. Когда после ошибки подразумевается повтор запроса, в лог заносится предупреждение (warn) вместо ошибки. Если последняя попытка подключения неудачная, то она уже записывается в лог как ошибка (error).

Новые возможности при работе с Python

Через параметры компонента и настройки узла теперь можно задать окружение Python (имя базового образа контейнера). В параметры компонента Python добавлены новые настройки:

  • Окружение по умолчанию (PY_ENV) — переменная окружения PY_ENV передается в процесс интерпретатора, обрабатывается в python_run.sh для запуска Python в изолированном окружении. Значение выбирается из списка, определенного в параметре «Известные окружения», или, если параметр «Разрешить неизвестные окружения» имеет значение true, вносится вручную. Для Linux по умолчанию используется значение python, для Windows — не задано.
  • Известные окружения — список окружений, доступный для выбора в узле Python, который определяет администратор, выполняющий установку и настройку Python.
  • Разрешить неизвестные окружения — разрешает использовать окружения, не указанные в предыдущих 2-х параметрах. Если параметр имеет значение false (по умолчанию для серверных редакций), то при использовании в узле Python окружения, не указанного в списке «Известные окружения» и не являющегося окружением по умолчанию (PY_ENV), конфигурирование и выполнение узла завершится ошибкой.
  • Использовать PY_ENV как — параметр доступен только на Linux и определяет способ организации изолированных окружений. Передается в python_run.sh через переменную окружения PY_ENV_USAGE. Предопределенные значения:
    • venv — путь venv (путь к одному из заранее подготовленных виртуальных окружений Python);
    • image — имя образа (имя одного из заранее подготовленных docker образов; одно окружение Python — это один docker образ).
  • Контейнерный CLI — параметр доступен только на Linux и определяет инструмент контейнеризации, если параметр Использовать PY_ENV как имеет значение image. Передается в python_run.sh через переменную окружения DOCKER_OR_PODMAN. Предопределенные значения docker и podman.

Важно: параметры, определяющие окружение, передаются в python_run.sh только, если параметр «Передавать переменные окружения узла» имеет значение true.

В мастере настройки узла добавлен параметр «Переменная окружения PY_ENV». Он отображается, если параметр компонента «Передавать переменные окружения узла» имеет значение true и Python запускается в отдельном процессе. Значение параметра задается через выпадающий список, который содержит следующие элементы:

  • По умолчанию — используется значение, установленное в параметре компонента «Окружение по умолчанию (PY_ENV)».
  • Значения из списка, определенного в параметре компонента «Известные окружения». Если параметр компонента «Разрешить неизвестные окружения» отключен, то можно выбрать только значение из списка, иначе — можно указать собственное значение.

Для параметра «Путь интерпретатора» на Linux добавлено предопределенное значение python_run.sh.

У узла Python добавлен порт «Управляющие переменные». Через значение управляющей переменной можно динамически выбирать окружение Python и задавать значение параметра «Тайм-аут ожидания запуска (мс)».

Появилась возможность добавить произвольное количество выходных наборов для узла Python. Если выходной набор не единственный, меняется страница мастера настройки выходных столбцов — каждая выходная таблица настраивается на отдельной вкладке.

Изменения в JavaScript и JavaScript Fetch API

Компонент JavaScript поддерживает настраиваемое число выходных наборов данных. Если выходной набор не единственный, меняется страница мастера настройки выходных столбцов — каждая выходная таблица настраивается на отдельной вкладке.

В JavaScript Fetch API:

  • по умолчанию проверяется сертификат HTTPS-сервера (ранее не проверялся);
  • добавлена возможность создавать запросы с credentials, через которые передаются имя пользователя и пароль для HTTP-аутентификации;
  • добавлен класс AbortController, который позволяет реализовать отмену выполнения запроса по тайм-ауту для REST-запросов, реализуемых через Fetch API.

Новые функции и Предпросмотр в Калькуляторах

В Калькулятор добавлены недостающие функции для определения числа полных временных интервалов между датами:

  • QuartersBetween(Дата1, Дата2[, Абсолютное_Значение = True]) — возвращает полное количество кварталов между двумя датами.
  • WeeksBetween(Дата1, Дата2[, Абсолютное_Значение = True]) — возвращает полное количество недель между двумя датами.

Если Абсолютное_Значение = False и Дата2 раньше Дата1, то функции вернут отрицательное число временных промежутков между датами.

В Калькулятор добавлены функции семейства криптографических алгоритмов SHA-2: SHA256, SHA384, SHA512, SHA512_224 и SHA512_256.

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

В описаниях функций Калькулятора Khi2 заменено на Chi2. Функции DKhi2, FKhi2, PKhi2 и InvKhi2 оставлены для обратной совместимости, т. е. по именам доступны оба варианта написания этих функций, но в описании только новые имена.

Новые возможности при импорте данных из файловых источников

Множественный импорт текстовых и Excel-файлов теперь можно выполнять в режиме параллельной обработки, что ускоряет процесс импорта. Соответствующие параметры добавлены в мастера настройки этих узлов.

При настройке импорта из текстового и Excel-файла можно выбрать режим автоматического определения параметров импорта (разделители, форматы, типы данных и т. п.). Функционал работает аналогично запросу select * в базах данных. Автоопределение можно задать для всех столбцов или только для новых, а также полностью отключить эту опцию. При использовании опции «Автоопределение столбцов» не потребуется перенастройка узла, если на ранее настроенный узел импорта будет подан набор данных другой структуры (например, с большим количеством столбцов).

В Импорте из XML-файла добавлено настраиваемое свойство «Проверять по Schematron-правилам». Если опция включена, то при импорте выполняется проверка Schematron правил, описанных в XSD-схеме.

Изменения в других Компонентах и Подключениях

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

В компонентах Группировка и Таблица в переменные для варианта агрегации «Список» добавлены новые разделители: Перенос строки Windows (CRLF), Перенос строки Linux (LF) и Табуляция (⭾).

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

В компонентах Слияние, Объединение и Дополнение данных изменился список обязательных полей на выходе. Ранее все поля в выходных наборах данных узлов на основе этих компонентов были обязательными, теперь:

  • в Слиянии все поля в выходном наборе данных стали необязательными;
  • в Объединении и Дополнении данных обязательными будут поля, по которым входные наборы данных связаны, а остальные поля — необязательными.

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

Сортировка данных выполняется параллельно в несколько потоков. Узел при разных кейсах использования обрабатывает данные от 2 до 7 раз быстрее.

В мастере настройки узла Сортировка появился настраиваемый параметр «Максимальное количество потоков», который имеет значение по умолчанию «Автоопределение». Автоопределение работает следующим образом:

  • если входные данные закэшированы на предыдущих узлах (например, в Параметрах полей) или установлена опция «Кэшировать все данные», то число потоков равно числу логических процессоров;
  • в противном случае число потоков равно 1, и будет выполнена однопоточная сортировка.

Для оптимальной работы узла рекомендуется использовать значение «Автоопределение» для параметра «Максимальное количество потоков».

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

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

Условия необязательности корневого узла в различных компонентах, если ни один из узлов дерева не был перенастроен пользователем:

  • Подмодель — всегда;
  • Дерево в таблицу — в мастере настройки не выбран ни один узел;
  • Дерево в JSON — всегда;
  • Калькулятор (дерево) — в калькуляторе нет ни одного выражения;
  • Объединение (дерево) — всегда;
  • Слияние (дерево) — в мастере настройки не выбран узел основного дерева, к которому выполняется присоединение.

В Параметрах полей исключенные поля теперь считаются необязательными. Ранее поля, помеченные как исключенные, считались обязательными. Если такое поле отсутствовало в предыдущем узле, то при активации Параметров полей возникала ошибка «Порт „Входной источник данных“ не настроен». Такое поведение противоречило логике исключения полей как ненужных в дальнейшей обработке. В новой версии, если пользователь указал, что поле исключенное, то оно не удаляется при синхронизации, а в мастере настройки входного порта узла такое поле будет отображаться с назначением «Исключенное».

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

В Подключении Kafka включена проверка hostname в серверном сертификате (ssl.endpoint.identification.algorithm=https). Когда в параметрах безопасности Loginom включена опция «Всегда проверять SSL-сертификаты» нельзя переопределить значения enable.ssl.certificate.verification, ssl.endpoint.identification.algorithm (проверка хоста), ssl.ca.certificate.stores, ssl.ca.location, ssl.ca.pem.

Мастер настройки Подключение набора XSD-схем теперь состоит из одной страницы.

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

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

В визуализаторе Таблица при задании условия фильтраций "в списке"/"вне списка" можно получить список уникальных значений для колонки (ранее этот функционал не был реализован в визуализаторе Таблица).

Обновленный маппинг полей и узлов деревьев

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

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

Mapping в Loginom

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

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

Обязательные поля в узлах импорта

Установлено следующее правило определения обязательности полей в узлах импорта: если пользователь выбирает конкретные поля (проставляет галочки, и т.п.), то эти поля на выходе узла Импорта считаются обязательными. Для таких полей при маппинге требуется связь с Входным полем и их нельзя исключить в мастере настройки маппинга полей (при настройке выходного порта).

В таблице приведено описание обязательных и необязательных полей для компонентов, отвечающих за импорт данных:

КомпонентОбязательные поляНеобязательные поля
1С запрос Всегда все поля
Импорт из базы данныхВ режиме «Таблица» конкретные поля, указанные для импорта с помощью галочекВо всех остальных случаях (импорт по *, любой SQL-запрос)
Импорт из текстового файлаВсе поля, которым пользователь выставил признак «Использовать» на странице мастера «Настройки форматов импорта»Во всех остальных случаях (все поля в режиме «Автоопределять столбцы: Все», новые поля в режиме «Автоопределять столбцы: Только новые»)
Импорт из Excel-файлаВсе поля, которым пользователь выставил признак «Использовать» на странице мастера «Настройка полей»Во всех остальных случаях (все поля в режиме «Автоопределять столбцы: Все», новые поля в режиме «Автоопределять столбцы: Только новые»)
Импорт из XMLПоля, явно выделенные пользователем, которые попадут в выходной набор данных 
Разбор XMLПоля, явно выделенные пользователем, которые попадут в выходной набор данных 
SOAP-запросПоля, явно выделенные пользователем, которые попадут в выходной набор данных 

В пакетах, подготовленных в более ранних версиях Loginom, во всех импортах из файловых источников, в компонентах Разбор XML и SOAP-запрос — все столбцы будут необязательные (сохраняется старая логика).

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

Параметры парольной политики

В редакции Enterprise на Странице «Параметры» (Администрирование Loginom) появилась новая группа настроек «Параметры парольной политики» для установки минимальных требований к паролю локальной учетной записи. Настройки парольной политики сохраняются в общем файле конфигурации Settings.cfg.

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

Независимо от парольной политики максимальная длина пароля ограничена 1024 символами. Также сохраняется ранее существовавшее ограничение — пароль не может начинаться или заканчиваться символом пробела.

Ограничение парольной политики не действует на старые пароли.

Параметры безопасности

В параметрах безопасности появилась опция для глобального принудительного включения проверки SSL-сертификатов на этапе установки TLS-соединения. Параметр влияет на работу импортов из файловых источников по URL, компонента JavaScript (Fetch API), LDAP и OpenID аутентификации и подключений:

  • REST-сервис
  • SOAP-сервис
  • Kafka
  • MySQL
  • PostgreSQL
  • ClickHouse

Аналогичная настройка «Всегда проверять сертификаты HTTPS» включает принудительную проверку сертификата сервера для HTTPS соединений и влияет на работу импортов из файловых источников по URL, компонента JavaScript (Fetch API), OpenID аутентификации и подключений к веб-сервисам.

Добавлены настройки для ограничения мультисессионности (подключения под одним и тем же аккаунтом с нескольких мест):

  • Запрет мультисессионности для пользователей — запрещает вход пользователю, если с этим же аккаунтом уже есть активная сессия (по умолчанию отключено).
  • Ограничение мультисессионности для администраторов — позволяет настроить один из трех вариантов ограничения для учетной записи пользователя с ролью «Администрирование»:
    • Нет — администраторы могут подключаться с одного аккаунта из нескольких мест (используется по умолчанию).
    • Запрет входа — запрещает вход, если с этим же аккаунтом уже есть активная сессия. Не рекомендуется использовать этот режим или использовать его с опциями «Таймаут закрытия сессии» и «Период проверки соединения», так как возможно появление незакрытых сессий, вследствие чего вход с данного аккаунта администратора будет недоступен.
    • Закрыть текущие сессии — закрывает существующие сессии с этим аккаунтом, перед повторным входом. Если закрыть сессию не получается, то вход с этим аккаунтом не разрешен.

При работе под Windows добавлено опциональное использование OpenSSL вместо SChannel при HTTPS-запросах. Для этого необходимо установить значение true для параметра безопасности «OpenSSL приоритетнее SChannel для HTTPS». Действие параметра распространяется на компоненты REST-сервис и SOAP-сервис. Включение опции может решить проблему с ошибками SSL/TLS при выполнении запросов к внешним системам с активированной валидацией SSL-сертификатов (например, при взаимодействии с API Telegram).

Важно: Добавлена проверка доменного имени или IP-адреса сервера, на который выдан сертификат. Из-за этого в пакетах, подготовленных в предыдущих версиях Loginom, на Linux могут перестать работать подключения REST-сервис и SOAP-сервис по HTTPS без опции «Игнорировать ошибки SSL сертификата» или с использованием клиентского сертификата из файла, а также Kafka по SSL. В этом случае потребуется их перенастройка.

Параметры подключения

Для подключений через Unix socket появился новый параметр «Unix socket permissions», который определяет какие пользователи имеют право использовать сокет, управляя таким образом безопасностью взаимодействия между процессами, использующими Unix socket для обмена данными.

Значение параметра вводится как восьмеричное число. По умолчанию установлено значение 770. Loginom Server и Loginom Integrator работают от разных пользователей с общей основной группой, которая используется для связи через файл Unix socket.

Для Unix socket требуется только право на запись, поэтому добавлять или отзывать права на чтение/выполнение не имеет смысла (т. е. фактически значение 770 равно 220).

Параметр доступен, если Loginom Server работает под Linux. После изменения значения параметра требуется перезапуск Loginom Server.

Параметры OpenID и LDAP

В настройки OpenID добавлена опция «Формат ответа», использующаяся при формировании запроса аутентификации через OpenID и разборе ответа после успешной аутентификации. Параметр может иметь одно из двух значений:

  • Параметры в query — параметры ответа от провайдера OpenID расположены после знака ? в адресной строке.
  • Параметры в fragment — параметры ответа расположены после # (используется по умолчанию).

Опция позволяет настроить аутентификацию через Yandex или Google. Следует учитывать, что их токены не являются JWT, поэтому никакой информации кроме имени пользователя в этом случае получить невозможно. Чтобы пользователь мог войти в Loginom с данными аккаунта Yandex необходимо предварительно выполнить следующие шаги:

  • В Параметрах OpenID использовать пару настроек:
    • Роль нового пользователя: отсутствует
    • Обновлять роль пользователя: false
  • На Странице «Пользователи» добавить пользователя с аутентификацией OpenID и указанием логина этого пользователя. В качестве логина должна быть часть email-адреса до @.
  • Назначить роль этому пользователю, так как пользователь без роли не будет допущен.

Таким образом новые пользователи (не указанные в списке) не смогут зайти, а те, что были явно добавлены, смогут зайти под своими Yandex-аккаунтами.

Проверить настройки LDAP и OpenID можно в Параметрах LDAP и OpenID соответственно, нажав на значение «Тестировать» в параметре «Тестирование аутентификации».

При тестировании LDAP аутентификации проверяется заполнение параметров: Хост, Учетная запись, Пароль, Базовый домен, Фильтр LDAP, Атрибут с именем пользователя. Информация о тестовом подключении будет выведена в отдельном окне. В этом же окне можно выполнить тестовый поиск пользователя.

LDAP

При тестировании OpenID происходит открытие новой страницы браузера с переходом на внешнюю страницу аутентификации. После успешной аутентификации эта страница браузера закрывается и открывается окно с результатами тестирования OpenID. Результаты включают в себя все этапы аутентификации от обмена кода на токен до получения значений настроенных клеймов.

Добавлена настройка «Не проверять сертификат сервера» в параметры LDAP и OpenID. Теперь по умолчанию сертификат сервера проверяется (из-за этого может перестать работать аутентификация LDAP и OpenID). Если проверка не нужна, то ее нужно явно отключить.

Параметры логирования

В Параметрах логирования добавлена опция «Логировать удаление файлов», доступная в серверных редакциях. Если значение параметра true, то в лог записывается информация об удалении файлов и директорий из Файлового хранилища.

Добавлено логирование количества строк в выходном табличном порту при активации узла. Информация о количестве записей добавляется в лог для узлов, в настройках которых установлена опция «Логировать количество строк», или, если параметр «Логировать количество строк при активации...» имеет значение true.

Страница «Пользователи»

В параметрах учетной записи пользователя появилась новая настройка «Разрешить сохранять пароль к БД». Опция доступна только совместно с ролью «Проектирование сценариев». Значение учитывается при настройке подключения к базе данных. Если флаг установлен, то при открытии мастера настройки подключения значение параметра «Спрашивать пароль» будет принудительно выставлено в true и его нельзя будет изменить. Данный флаг не влияет на уже настроенные подключения, он принудительно устанавливает флаг «Спрашивать пароль» только когда открывается мастер настройки подключения. Значение этого параметра можно получать из OpenID токена.

При обновлении Loginom до версии 7.3 (файл Users.cfg создан ранее в предыдущих версиях) права на сохранение пароля для подключений выдаются всем пользователям с ролью «Проектирование сценариев». Если при запуске сервера файл Users.cfg отсутствует, то пользователю user, создаваемому по умолчанию, выдаются права на сохранение паролей для подключений к БД.

Администратор Loginom теперь может принудительно указать пользователю на необходимость смены пароля. В окне добавления/редактирования пользователя добавлена опция «Требовать смену пароля при следующем входе». Если флаг выставлен, то пользователь при следующем входе в Loginom Studio получит всплывающее окно с требованием изменения пароля. После изменения пользователем пароля опция деактивируется, и при следующем входе смена пароля не будет запрашиваться. Информация о смене пароля, а также о неудачной попытке записывается в лог.

Важно: Если этот флаг выставлен для пользователя, у которого нет прав на работу в интерактивном режиме, то использовать такую учетную запись будет нельзя. Например, если у пользователя service установить «Требовать смену пароля при следующем входе», то при вызове через Integrator (если в Integrator нет свободных закэшированных сессий к Loginom Server) будет возникать ошибка с текстом сообщения «Пароль пользователя должен быть изменен».

На Странице «Пользователи» добавлен поиск по колонкам «Логин» и «Полное имя»:

  • в панели инструментов добавлена кнопка «Поиск» для вызова формы поиска;
  • в выпадающем меню указанных колонок доступна панель поиска по этой колонке.

Общие папки

Для задания имени общей папки разрешено использовать символы кириллицы. Имя общей папки не может содержать символы: \ / : * ? " < > |.

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

В Планировщике задач реализованы дополнительные триггеры для запуска задач:

  • Запускать после завершения другой задачи — позволяет настроить запуск задачи после успешного или неуспешного выполнения другой задачи, нескольких задач или того же самого задания.
  • Запускать при запуске сервера — точкой отсчета для запуска пакета является момент запуска сервера.

В окне «Добавление задачи» появилась вкладка «Триггеры», а вкладка «Расписание» теперь находится внутри вкладки «Триггеры».

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

При задании расписания в Планировщике теперь можно указывать не только дни недели или месяца, но и время запуска (например, запускать выполнение пакета с 9:00 каждый час в течение 8 часов). Также появилась возможность при настройке запуска задачи по расписанию одновременно задавать и дни недели, и дни месяца.

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

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

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

BatchLauncher

В BatchLauncher добавлена возможность подключаться к Loginom Server по Unix domain socket. Имя файла Unix domain socket указывается через параметр port. Считаем, что в параметре port указан Unix domain socket, если значение не номер порта (от 1 до 65535) и, если не указан параметр address.

Добавлен параметр запуска -deactivate, который включает/отключает цепную деактивацию групп узлов после их полного выполнения для освобождения используемой сценарием памяти. Опция -deactivate=false гарантированно отключает автоматическую деактивацию (даже если она выставлена в настройках пакета/сервера). Аналогично -deactivate=true гарантированно включает ее. Использование опции без значения (-deactivate) идентично записи -deactivate=true.

Важно: Ранее ключ -deactivate интерпретировался как передача переменной с именем deactivate в выполняемый пакет. Теперь этот ключ контролирует автоматическую деактивацию узлов. Если через BatchLauncher требуется задать значение переменной deactivate, то теперь для этого следует использовать ключи вида:

  • -.deactivate=value — для переменной пакета;
  • -PortName.deactivate=value — для переменной узла, находящейся внутри порта с именем PortName.

При запуске BatchLauncher без параметров в первой строке вывода отображается название программы и версия «Loginom BatchLauncher <версия>», а затем уже синтаксис команд утилиты (ранее выводился только синтаксис).

Автоматическая деактивация группы узлов после их полного выполнения

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

Деактивация узлов включается после разблокировки узла в процессе активации. При этом проверяется, есть ли у узла потомки (узлы, подсоединенные к выходным портам узла, за исключением связанных через порт порядка выполнения) и не является ли узел выходным узлом Подмодели. При отсутствии потомков и, если узел не является выходным узлом Подмодели, запускается процесс деактивации узлов в обратном порядке.

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

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

Аутентификации Peer

В Loginom под Linux доступен новый тип аутентификации Peer. Этот способ аутентификации использует имя пользователя операционной системы и исключает необходимость ввода пароля для локальных соединений, снижая риск перехвата учётных данных.

Аутентификация Peer применима только при подключении к Loginom Server через UnixSocket, т. е. этот тип аутентификации может быть использован для пользователя, от имени которого Integrator или BatchLauncher подключаются к Loginom Server. Для пользователей, подключаемых к серверу интерактивно через браузер, его не имеет смысла задавать.

В окне добавления/редактирования параметров пользователя (Cтраница «Пользователи» в Администрировании Loginom) появилось новое поле «Системный пользователь», в котором должно быть указано uid или имя пользователя операционной системы. Если «Системный пользователь» не указан, то предполагается, что имя пользователя операционной системы совпадает с полем «Логин». Поле доступно для редактирования, если в поле «Аутентификация» выбран тип Peer и не заполнено поле «Логин».

В файлах конфигурации Users.cfg и Integrator.dll.config для пользователя service настроено подключение через Peer. Таким образом, при новой установке Integrator будет подключаться к Loginom Server с Peer аутентификацией.

Установка Loginom под Linux

При установке Loginom под Linux пользователю с ролью «Администрирование» (admin) по умолчанию добавляется флаг необходимости смены пароля. Таким образом пароль администратора меняется не во время установки, а при первом входе пользователя с ролью «Администрирование» через веб-интерфейс. Опция особенно полезна для редакции Cloud.

При обновлении Loginom Server, установленного в качестве службы, сохраняется пользовательский вариант файла server.json. Ранее этот файл при обновлении заменялся стандартным вариантом из дистрибутива, и настройки, которые были сделаны пользователем, никак не сохранялись, что могло приводить к неработоспособности Loginom после обновления и требовать дополнительных настроек.

В список базовых образов для Loginom Server добавлен Debian 13, предлагаемый по умолчанию, а также Astra Linux 1.8.

Теперь можно использовать базовые образы не только из docker.io, как было ранее, но и из других репозиториев.

Быстродействие

Проведена низкоуровневая оптимизация, что позволяет еще лучше использовать аппаратные ресурсы.

Оптимизирован процесс определения выполняемого пакета и узла в Loginom Integrator, что повышает производительность в случаях, когда к Integrator выполняется очень много запросов, которые должны обрабатываться за доли секунды.

Оптимизирована работа параллельного Цикла, а также в параллельном Цикле теперь используется параллельное заполнение выходного набора данных из нескольких потоков. В результате в некоторых случаях Цикл стал выполняться почти в 5 раз быстрее.

Выражения в Калькуляторе стали вычисляться быстрее на 7-70% (в зависимости от сложности Выражения и используемых функций).

Оптимизированы функции Калькулятора Replace, Trim, Upper, Lower, CRC32, MD5, SHA1.

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

Мастер маппинга деревьев стал открываться быстрее.

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

При работе под Windows по сравнению с версией 7.2 скорость в среднем выше на 20%. Под Linux прогресс еще более заметен — новая версия быстрее на 28%.

Удобство использования

Для Узлов сценария и Подключений теперь можно сформировать метку автоматически на основе настроек компонента. Автоматическая метка будет сокращенно отражать настройки узла. Например, для узлов импорта из файловых источников автоматическая метка будет содержать имя файла или имя переменной, если путь к файлу задается через переменную, а для узла Свертка столбцов будет сформирована по принципу: Инф.: + список меток информационных столбцов + Трансп.: + список меток транспонируемых столбцов. Пользователь может самостоятельно выбрать режим формирования метки узла. В пакетах, созданных до версии 7.3, для всех узлов будет установлен режим «Пользовательская метка», а для узлов, добавленных в пакет в версии 7.3, по умолчанию будет использоваться режим «Автоматическая метка».

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

Для узлов Выполнение узла, Цикл и Узел-ссылка по умолчанию метка формируется из метки исполняемого узла.

У узла-ссылки на Подключение метка изменится, если этот узел перенастроить на другое Подключение.

Для меток узлов ограничено максимальное число строк. Многострочные метки могли полностью закрывать узел и все элементы ниже, блокируя доступ к ним, поэтому для длинных меток отображаются только первые 3 строки.

В заголовке окна настольных редакций Loginom отображается название пакета и путь внутри пакета.

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

В окно настройки Производного компонента добавлено поле, отображающее его GUID. Аналогичное поле добавлено в окно настройки модификатора доступаПодключения.

В модальном окне «Поиск» панели Навигация появилась возможность поиска компонентов сценария как по GUID, так и по Метке. Также можно указать тип компонента, по которому будет выполняться поиск: Узел, Производный компонент, Подключение или по всем. Поиск можно начать с выбранного узла в дереве Навигация, установив флаг «Начать поиск с выделенного».

В визуализаторе Куб если с зажатой клавишей Alt кликнуть по непустой ячейке кросс-таблицы Куба, то во всех развёрнутых Диаграммах Куба будет подсвечена точка данных, если она есть и не принадлежит скрытой серии. Если же аналогичным образом кликнуть по точке данных в Диаграмме Куба, то произойдёт выделение соответствующей ячейки кросс-таблицы и прокрутка на неё.

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

При клонировании узла его визуализаторы переносятся на вновь созданный узел.

В Панели «Процессы» отображается оставшееся время выполнения процесса.

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

Повышение информативности

Если при подключении по TLS возникала ошибка, которая не относится к TLS, то сообщение об ошибке было неинформативным. Добавили отдельную обработку таких ситуаций, чтобы пользователи получали более конкретную информацию об ошибке.

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

На Странице «Вход» при долгом подключении через OpenID отображается маска «Загрузка».

Если в процессе открытия пакета не удается восстановить ссылку на какой-то пакет, то в сообщении об ошибке будет указано, в каком именно пакете есть ошибочная ссылка на пакет.

При остановке Loginom Server в лог будет добавлено сообщение об этом.

В начало каждого log-файла теперь добавляется информация о версии Loginom.

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

В сообщении об ошибке выводится время ее возникновения (если это возможно).

Во всем приложении были изменены подписи на кнопках:

  • «Отменить» на «Отмена».
  • «Применить» на:
    • «Изменить» — при редактировании;
    • «Добавить» — при добавлении;
    • «Сохранить» — если действительно в этот момент будет произведено сохранение;
    • «OK» (в остальных случаях).
  • Во всех запросах на удаление текст кнопки «Да» заменен на «Удалить».
#7.3#release notes

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

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