Skip to content

ValentinKozlov/DocHubExampleMetamodel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Пример метамодели (metamodel)

Цели примера:

  1. Снизить порог вхождения в DocHub за счет исследования полнофункционального работающего примера.
  2. Показать пример структуры репозитория с метамоделью на основе рекомендаций SEAF
  3. Показать примеры расширения дефолтной метамодели

Суть примера

Это метамодель реализованная для примера https://github.com/ValentinKozlov/DocHubExampleManifest

Файловая структура примера


|- dochub           - Дефолтная метамодель от Романа Пионтика
|  |- entities      - Описание дефолтных сущностей метамодели
|  |- functions     - Дефолтные функции
|  |- rules         - Дефолтные валидаторы ядра метамодели
|  |- root.yaml     - В файле осуществляется импорт всех элементов дефолтной метамодели, также описана структура пакета дефолтной метамодели [archpkg](https://www.npmjs.com/package/archpkg)
|- mm-descovery     - Расширение для визуализации метамодели
|  |- entities      - Описание сущности для исследования метамодели
|  |- tools         - Вспомогательные средства для отображения метамодели
|  |- README.md     - Описание расширения root.yaml
|  |- root.yaml     - Импорт расширения
|- sweaf-core       - Swamp Enterprise Architecture Framework (SWEAF) - расширение дефолтной метамодели под потребности ГК Болота
|  |- datasets      - Общие datasets используемые в рамках всей метамодели, например, для отчетов
|  |- entities      - Описание кастомных сущностей, а также расширения для дефолтных сущностей.
|  |- functions     - Кастомные функции. Реализовано оба варианта: новый и через eval. Рекомендуется использовать новый вариант
|  |- rules         - Кастомные валидаторы
|  |- README.md     - Подробное описание кастомной метамодели
|  |- root.yaml     - Импорт всех элементов кастомной метамодели, также описана структура пакета кастомной метамодели [archpkg](https://www.npmjs.com/package/archpkg)
|- dochub.yaml      - Корневой манифест
|- README.md        - Описание репозитория
|- root.yaml        - Импорт всего репозитория, базовые настройки работы репозитория

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

Самый простой способ запустить метамодель - это воспользоваться репозиторием https://github.com/cu3blukekc/SwampHub.

Остальные способы вариативны и зависят от глубины понимания вами принципов работы DocHub.

Обновление метамодели

В данной версии примера обновление метамоделей сильно упрощено, так как теперь кастомная метамодель sweaf-core содержит либо новые сущности, либо только изменения к дефолтной. Для обновления выполните следующие шаги:

  1. В папке dochub найдите все вложенные файлы импорта (root.yaml) элементов метамодели и посмотрите какие элементы метамоддели отключены, например в данном примере в данном примере отключены штатные валидаторы rules/root.yaml и summary.yaml для компонентов
  2. С родительского репозитория полностью обновите папку dochub
  3. Отключите импорт нужных элементов дефолтной метамодели
  4. В кастомной метамоделе найдите расширения для дефолтной метамодели и сделайте merge файлов, перенося нужные изменения
  5. Проверьте что все работает

Авторские права

  1. Данный репозиторий был подготовлен Валентином Козловым https://t.me/i_frog_i.
  2. В пример были включены наработки в части реализации кастомных сущностей следующих людей:
    • Александра Трубникова
    • Андрея Бизяева
    • Никиты Пермякова

В дальнейшем планируется собрать на базе этого репозитория все интересные наработки сообщества опубликованные здесь.

Лицензия

Распространяется под лицензией Apache License 2.0 Open source license.

About

Пример расширения метамодели DocHub

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published