Важные изменения

Версия 6.9

1. Устаревшая версия REST API

В релизе 6.9 REST API версия v1 отмечена как устаревшая, поэтому исключена из продуктов Юниверс. Описанные ниже запросы доступны только в версии v2:

Исключены из SE/EE:

  • org.unidata.mdm.rest.core

  • org.unidata.mdm.rest.v1.search

  • org.unidata.mdm.rest.v1.meta

  • org.unidata.mdm.rest.v1.data

  • org.unidata.mdm.rest.v1.draft

  • org.unidata.mdm.rest.v1.dq.core

  • org.unidata.mdm.rest.v1.dq.data

  • org.unidata.mdm.rest.v1.bulk.core

  • org.unidata.mdm.rest.v1.matching.core

  • org.unidata.mdm.rest.v1.matching.data

  • com.unidata.mdm.rest.v1.bulk.remove.records

  • com.unidata.mdm.rest.v1.workflow.core

Исключены из CE:

  • org.unidata.mdm.rest.core

  • org.unidata.mdm.rest.v1.data

  • org.unidata.mdm.rest.v1.meta

  • org.unidata.mdm.rest.v1.draft

  • org.unidata.mdm.rest.v1.search

  • org.unidata.mdm.rest.v1.dq.core

  • org.unidata.mdm.rest.v1.dq.data

  • org.unidata.mdm.rest.v1.matching.core

  • org.unidata.mdm.rest.v1.matching.data

  • org.unidata.mdm.rest.v1.bulk.core

2. Миграция с Elasticsearch на OpenSearch

Предупреждение

В релизе 6.9 Юниверс MDM перешла с Elasticsearch на OpenSearch. Появились изменения публичного API

  • Изменилась сигнатура org.unidata.mdm.search.service.SearchService#setIndexSettings. Настройки передаются как IndexSettings, а не Map<String, Object>. Пример использования нового класса: org.unidata.mdm.job.reindex.service.impl.ReindexDataJobPrepareItemWriter#PREPARE_INDEX_PARAMS.

  • org.unidata.mdm.search.service.impl.AdminComponentImpl#getNodesInfo переименован в org.unidata.mdm.search.service.impl.AdminComponentImpl#getNodesCount и возвращает число узлов. Если необходима остальная информация по узлам, требуется доработка.

  • Конструкторы AdminComponentImpl, SearchComponentImpl и SearchServiceImpl принимают org.unidata.mdm.search.service.impl#OpenSearchClientWrapper вместо org.elasticsearch.client.Client.

  • Изменен класс, возвращаемый protected-методами BaseComponentImpl.

  • Изменен класс, возвращаемый public-методами SearchComponentImpl. Обработкой таких значений занимается org.unidata.mdm.search.service.impl.SearchServiceImpl#extractSearchResult(org.unidata.mdm.search.context.SearchRequestContext, java.util.List<org.universe.opensearch.client.opensearch.core.SearchResponse<com.fasterxml.jackson.databind.node.ObjectNode>>).

  • В параметре org.unidata.mdm.core.audit.enabled.storages изменено одно из возможных значений: es → index.

При переходе на OpenSearch необходимо выполнить дополнительные шаги для сохранения данных аудита.

3. Проверки аутентификации по имени пользователя и IP адресу

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

При установке системы с нуля или обновлении с более старых версий необходимо в файл backend.properties внести параметр org.unidata.mdm.core.job.clean.inactive.passwords.cronex или INACTIVE_PASSWORD_CLEAN_JOB_CRONEX переменную среды контейнера для запуска очистки паролей.

Остальные параметры доступны для редактирования через UI и не требуют дополнительной записи в файл.

4. Обновление прав пользователя без выхода из системы

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

  • Если пользователь обновляет собственные настройки, то изменения автоматически обновятся на UI.

  • Еcли пользователь обновляет настройки другого аккаунта, то на экране пользователя, имеющего активную сессию, отобразится модальное окно с возможностью принять обновления (Рисунок 1).

Модальное окно с уведомлением об изменениях

Рисунок 1 – Модальное окно с уведомлением об изменениях

5. Дополнительные события аудита

При обновлении системы с существующей БД новые события аудита будут доступны только после выполнения следующих действий:

  • В параметр системы "Хранилище журнала аудита" (org.unidata.mdm.core.audit.enabled.storages) добавьте значение "index".

  • Обновите пути аудита "Маршруты сообщений модуля Core" (org.unidata.mdm.system.messaging.domains.core-messaging) из core.xml.

6. Обновление шаблона Excel для импорта / экспорта записей

Было изменено название листа комплексного атрибута в XLSX-файле. Теперь указывается имя самого атрибута и имя вложенного объекта.

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

Версия 6.8

1. Миграции базы данных

Предупреждение

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

Если при обновлении с предыдущих версий необходимо мигрировать существующие базы данных, то выполните следующие действия:

  • Создайте резервные копии БД и поисковых индексов.

  • Обновите систему до Юниверс MDM 6.8. Не запускайте систему.

  • До запуска системы выполните следующий SQL-код вручную:

    alter extension "uuid-ossp" set schema public;
    alter extension "postgres_fdw" set schema public;
    alter extension "hstore" set schema public;
    
  • Расширение timescaledb (схема org_unidata_mdm_timelog) при этом не обновляется. Чтобы обновить расширение, пересоздайте его с удалением. Выполните следующий SQL-код вручную:

    drop schema if exists org_unidata_mdm_timelog_core cascade;
    drop extension if exists timescaledb cascade;
    
  • При запуске системы применятся все изменения, будет создана новая схема org_unidata_mdm_timelog.

Это не затрагивает сценарий первичной установки Юниверс MDM 6.8. При установке на чистый сервер миграции инициализируют базу данных автоматически.

2. Миграция данных в Docker volumes

В версии 6.8 изменились имена Docker volumes. Изменение влияет на случаи, когда необходимо обновить Юниверс MDM с более ранних версий, и если система была установлена через Docker, а данные при этом хранились в Docker volumes. Чтобы провести миграции volumes вам необходимо обратиться к вендору за инструкцией.

3. Устаревшая версия REST API

Предупреждение

В релизе 6.8 запросы REST API v1 отмечены как устаревшие, так как не совместимы с новой моделью безопасности системы. В следующем релизе API v1 будет удален. Рекомендуется переход на v2.

4. Невозможность обновления прав доступа

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

5. Переход формата времени на UTC

Начиная с версии 6.7 timestamp перешел на UTC (Zulu time), в связи с этим формат времени должен оканчиваться на букву Z.