Важные изменения¶
Версия 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.