Схемы доменов

В данном разделе представлен обзор структуры, процесса создания и валидации схем доменов в системе. Управление схемами доменов в системе осуществляется в разделе Экспертиза.

О схемах доменов

Схема домена — главный компонент домена, содержащий все его необходимые настройки. С помощью схемы можно описать конфигурацию интерфейса домена и определить просмотр сущностей домена. Конфигурация определяет набор элементов в интерфейсе и их отображение в окне системы.

Работа со схемой домена

Доступные операции над схемой домена:

Создание схемы домена

Создать схему домена можно следующими способами:

Создание схемы домена с нуля

Чтобы создать схему домена:

  1. Перейдите в раздел Экспертиза. Система отобразит список элементов экспертизы.

  2. На панели инструментов нажмите на кнопку Создать и выберите из выпадающего списка опцию Схема домена. Система отобразит окно создания схемы домена.

  3. Введите идентификатор схемы домена на латинице. Указанное значение будет сохранено в поле id схемы домена.

  4. Введите человекочитаемое название схемы домена. Значение будет сохранено в поле name схемы домена.

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

    Выбранная организация будет сохранена в значении системного атрибута organizationId.

  6. При необходимости укажите метаданные схемы домена:

    1. Автор: имя и контактные данные автора схемы. Указанное значение будет сохранено в поле author.

    2. Теги: список тегов для схемы. Значение будет сохранено в поле tags.

    3. Описание: описание схемы домена, содержащее дополнительную информацию о его назначении. Указанное значение будет сохранено в поле description в коде YAML.

  7. Нажмите на кнопку Создать. Откроется окно редактирования схемы.

  8. Настройте сущности, связи, представления и меню домена в конструкторе или в коде YAML. Выбрать режим Конструктор или Код можно с помощью переключателя.

    • <Конструктор>

    • <Код>

    1. Создайте элементы схемы в соответствующих разделах конструктора.

    2. Нажмите на кнопку Опубликовать. Отобразится окно публикации схемы.

    3. При необходимости внесите изменения в метаданные схемы.

    4. Заполните поле Версия (по умолчанию при первой публикации — 1.0.0). Указанное значение будет сохранено в поле version схемы домена.

    5. Нажмите на кнопку Опубликовать, чтобы сохранить изменения и опубликовать добавленную схему домена. Система проведет валидацию схемы. Если ошибок нет, новая схема домена появится в таблице раздела Экспертиза.

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

      Вы можете создать схему домена без ее публикации (в виде черновика) с помощью кнопки Сохранить. Черновик появится в таблице раздела Экспертиза.

    1. Заполните поля схемы домена, чтобы определить логику ее работы.

    2. Нажмите на кнопку Опубликовать версию, чтобы сохранить изменения и опубликовать добавленную схему домена. Система проведет валидацию схемы и отобразит соответствующее уведомление. Новая схема домена появится в таблице раздела Экспертиза.

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

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

Копирование схемы домена

Чтобы скопировать схему домена:

  1. Перейдите в раздел Экспертиза. Система отобразит сведения об имеющихся элементах экспертизы.

  2. Нажмите на строку схемы домена в списке. Система отобразит в правой части экрана карточку с подробной информацией о схеме.

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

  4. Введите уникальный идентификатор новой схемы домена.

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

    Измените параметр Путь в разделах Меню (menus[].route) новой схемы так, чтобы он стал уникальным. Это требуется для корректной публикации домена.

Изменение схемы домена

Чтобы изменить схему домена:

  1. Перейдите в раздел Экспертиза. Система отобразит сведения об имеющихся элементах экспертизы.

  2. Нажмите на строку схемы домена в списке. Система отобразит в правой части экрана карточку с подробной информацией о схеме.

  3. Нажмите на кнопку действий (more vertical) в верхнем правом углу карточки и выберите опцию Изменить. Отобразится окно настроек схемы.

    Вы также можете открыть окно настроек с помощью кнопки в нижней части карточки:

    • Для опубликованной версии: нажмите на кнопку Просмотр в нижней части карточки. Система отобразит окно просмотра настроек элемента экспертизы. Нажмите на кнопку Изменить в правом нижнем углу окна.

    • Для черновика: нажмите на кнопку Изменить в нижней части карточки.

  4. При необходимости выберите режим работы со схемой домена: конструктор или код.

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

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

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

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

Удаление схемы домена

Чтобы удалить схему домена:

  1. Перейдите в раздел Экспертиза. Система отобразит сведения об имеющихся элементах экспертизы.

  2. Нажмите на строку схемы домена в списке. Система отобразит в правой части экрана карточку с подробной информацией о схеме.

  3. Нажмите на кнопку действий (more vertical) в верхнем правом углу карточки и выберите опцию Удалить. Отобразится окно подтверждения удаления схемы.

  4. Нажмите на кнопку Удалить. Система удалит элемент и отобразит соответствующее уведомление. Удаленная схема домена будет исключена из списка элементов экспертизы.

Обработка ошибок валидации схемы домена

При добавлении схемы домена могут возникать различные ошибки. Ниже приведен список возможных ошибок с описаниями.

Ошибка Описание

[ERROR] YamlParseError: missing required field () at line () column ()

Отсутствуют все обязательные поля схемы RObject или схемы домена. Убедитесь, что все необходимые поля указаны.

[ERROR] YamlParseError: Incorrect structure or line shift: could not find expected () at line () column ()

Структура RObject некорректна. Проверьте правильность структуры.

[ERROR] UnreachableReference: the reference to entity () is unreachable at line () column ()

Ссылка на сущность в схеме текущего домена недостижима. Проверьте корректность ссылки на сущность.

[ERROR] UnreachableReference: the reference to attribute is unreachable () at line () column ()

Ссылка на атрибут в схеме текущего домена недостижима. Проверьте корректность ссылки на атрибут.

[ERROR] InvalidDefinition: the constraint is not supported by attribute type at line () column ()

Атрибут имеет ограничение, несовместимое с типом данных. Убедитесь, что все ограничения и параметры предварительно настроенных типов данных соответствуют схеме.

[ERROR] UnreachableReference: the entity or attribute at another domain () is unreachable: () at line () column ()

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

[ERROR] NotCompatible: the entity at the new version of domain scheme is changed or deleted: () at line () column ()

В новой версии схемы изменены или удалены сущности. Убедитесь, что в новой версии схемы домена не было изменений или удалений сущностей. Атрибуты сущностей разрешено изменять или удалять.

[ERROR] UnreachableReference: the entity or attribute at the current domain scheme is unreachable to domain (): () at line () column ()

Сущность или атрибут текущего домена, на который ссылается другой домен, недостижимы. Убедитесь, что все сущности и атрибуты текущей схемы, на которые ссылаются другие домены, достижимы.

[ERROR] NotCompatible: the attribute type at the current domain scheme is not compatible at line () column ()

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

[ERROR] NotCompatible: the attribute constraint at the current domain scheme is not compatible at line () column ()

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

Возможные ошибки валидации при использовании примесей

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

Код ошибки Описание

MIXIN_LINK_INVALID

Ссылка на источник или целевую сущность не найдена в текущем домене.

MIXIN_INHERITANCE_CONFLICT

Конфликт при определении весов примесей в иерархии наследования.

MIXIN_RECURSION_ERROR

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

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

Была ли полезна эта страница?

Обратная связь