Пользовательские параметры

Примечание

Функционал доступен только в модуле НРЕ

Пользовательским параметрам можно задавать значения, которые затем будут доступны для вставки в различных местах системы, используя имя параметра в placeholder следующего формата: #[property.name].

Значения пользовательским параметрам задаются в разделе "Параметры системы" во вкладке "Пользовательские параметры" в группе org.unidata.mdm.system.user.defined.properties.group (группа появляется при наличии пользовательских параметров).

Добавление параметров

Чтобы добавить параметр:

  1. Убедитесь, что открыт раздел "Параметры системы" и вкладка "Пользовательские параметры".

  2. Нажмите кнопку image1 Добавить справа от заголовка секции "Пользовательские параметры".

  3. Заполните поле Имя латинскими буквами без пробелов. Является системным именем параметра. Не должно совпадать с системными именами параметров системы, может содержать только латинские буквы, цифры, точку, дефис и подчёркивание.

  4. Заполните поле Отображаемое имя. Может заполняться кириллицей и используется для отображения в интерфейсе.

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

    • Значения секретных параметров хранятся в базе данных в зашифрованном виде и недоступны пользователям без права на ресурс "Параметры системы".

  6. При необходимости заполните поле Описание дополнительной информацией о параметре.

  7. Нажмите кнопку image2 "Сохранить" в правом верхнем углу экрана.

Список пользовательских параметров сортируется по дате их создания.

Права доступа:

  • Возможность добавления/изменения/удаления параметров регулируется правом доступа "Управление пользовательскими параметрами".

  • Редактирование значений параметров регулируется правом доступа "Параметры системы".

Шифрование:

Для включения шифровки см. статью "Шифрование паролей".

В дистрибутив добавлен файл crypt-utils.jar (в директорию utils).

Включение шифрования также включит шифрование системных параметров, которые помечены как secret (в ответы на запросы получения параметров системы добавлен флаг secret).

Пример отображения раздела "Параметры системы" - вкладка "Пользовательские параметры"

Рисунок 1 - Пример отображения раздела "Параметры системы" - вкладка "Пользовательские параметры"

Использование параметров в системе

  • В текущей реализации пользовательские параметры можно использовать только в строковых параметрах операций.

  • У дескрипторов параметров операций появилось новое свойство: confidential (boolean):

    • Если параметр confidential = false, то в этом параметре нельзя использовать секретные пользовательские параметры,

    • Если параметр confidential = true, то в этом параметре можно использовать секретные пользовательские параметры.

    • Проверка происходит при сохранении и запуске операций.

  • В качестве confidential помечены следующие параметры операций:

    • Деперсонализация данных (depersonalizationJob), параметр "Узлы" (dataDepersonalizationNodes), можно использовать секретные пользовательские параметры в паролях (нельзя использовать вне паролей);

    • Задача миграции данных (migrateDataJob), параметр "URL базы данных" (jdbcSourceUrl), можно использовать секретные пользовательские параметры в пароле (нельзя использовать вне пароля);

    • Задача экспорта данных (exportDataJob), параметр "URL базы данных" (databaseUrl), можно использовать секретные пользовательские параметры в пароле (нельзя использовать вне пароля).

  • Placeholder #[property.name] может быть:

    • Полным значением строкового параметра операции;

    • Частью значения строкового параметра операции;

    • Использоваться несколько раз в значении одного строкового параметра операции (могут использоваться разные пользовательские параметры, может использоваться один и тот же пользовательский параметр).

  • Для вставки в строковый параметр операции могут использоваться пользовательские параметры не только строкового типа, но и всех других типов (BOOLEAN подставляется в виде true/false).

  • В таблицах базы данных, связанных с операциями, параметры будут сохраняться с placeholder, а не с подставленными значениями. Актуальные значения параметров будут вычислены при выполнении операции.

Управление с помощью API

  • Запрос POST /v2/core/user-defined-properties - создает пользовательские параметры, доступно только при наличии уровня прав "Полные" на ресурс "Управление пользовательскими параметрами".

  • Запрос GET /v2/core/user-defined-properties - получает все пользовательские параметры, доступно всем.

  • Запрос DELETE /v2/core/user-defined-properties?id[]=name1&id[]=name2 - удаляет пользовательские параметры, доступно только при наличии уровня прав "Полные" на ресурс "Управление пользовательскими параметрами".

Параметры запроса:

  • id - уникальный ID параметра, не должен совпадать с ID параметров системы. Может содержать только символы: латинские буквы, цифры, точку, дефис и подчеркивание;

  • displayName - отображаемое имя;

  • notice - опциональное примечание;

  • type - тип (STRING, NUMBER, INTEGER, BOOLEAN), доступен только через API, не доступен в интерфейсе. При создании параметра в интерфейсе всегда используется STRING.

  • secret - признак секретного параметра:

    • Значения секретных параметров хранятся в базе данных в зашифрованном виде, если включено шифрование (значения пользовательских параметров и параметров системы хранятся в таблице org_unidata_mdm_system.configuration);

    • Если у пользователя нет прав на ресурс "Параметры системы", то пользователь не будет получать значения секретных пользовательских параметров;

    • Если у пользователя есть права на ресурс "Параметры системы", то пользователь будет получать незашифрованные значения секретных пользовательских параметров.