Кастомизация системы

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

Для frontend Unidata MDM используйте этот шаблон, который также включает документацию. Используйте шаблон и перечень пользовательских точек расширения для своей работы.

Точки расширения

Точки расширения (User Exits) представляют собой программный код на языке Java, выполняемый при наступлении определенного события.

User Exits применяются при необходимости выполнения каких-либо нестандартных действий, выходящих за рамки возможностей системы. Например, если для выполнения операции вставки необходима отправка особого уведомления, содержащего аутентификационные данные для последующей авторизации в сторонней системе.

Полный список User Exits вы можете найти в модуле types в src/declareUe.ts. Это автогенерируемый файл. Он обновляется после каждой команды npm ci или npm run dev.

Сторонние способы генерации ExternalId

Unidata MDM предоставляет возможность реализации сторонних способов генерации External ID. Реализованные способы становятся доступными для выбора при настройке свойств реестра/справочника и кодового атрибута.

Для использования сторонних способов генерации:

  1. Реализуйте Java-интерфейс, который описывает алгоритм сторонней стратегии. Пример:

    public interface ExternalIdGenerator {
     /**
     * Generate external id by ctx
     * @param ctx ctx
     * @return return external id
     */
     Object generateExternalId(ExternalIdResettingContext ctx);
    }
    
  2. Поместите JAR-файл, содержащий реализацию стратегий, в каталог <TOMCAT_HOME>/unidata-integration.

  3. Подключите сторонние стратегии в файле unidata-conf.xml в секции externalIdStrategies. Пример конфигурации:

    <conf:configuration xmlns:conf="http://conf.mdm.unidata.com/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://conf.mdm.unidata.com/">
          <conf:externalIdStrategies>
    <conf:strategy id="randomIdStrategy" name="Генерация случайным способом" description="Генерирует случайное long значение" class="com.unidata.mdm.backend.common.integration.strategy.RandomLongExt ernalIdGeneratorTest"/>
    ...
    
        </conf:externalIdStrategies>
      <conf:exits>
    
  4. Поля id и name обязательны. Рекомендуется добавлять описание стратегии в description.

  5. Перезапустите сервер системы.