Code Monkey home page Code Monkey logo

dochubexamplemetamodel's Introduction

Пример метамодели (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.

dochubexamplemetamodel's People

Contributors

valentinkozlov avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.