Giter VIP home page Giter VIP logo

dochub's People

Contributors

agaydenger avatar antonioprime avatar apoddubny avatar badou90 avatar biakaveron avatar clayzenx avatar cu3blukekc avatar deadbead avatar freshtouch avatar gerzhan avatar kmyachin avatar mumg avatar rosticos avatar rpiontik avatar tmnvvv avatar toffguy77 avatar valentinkozlov avatar visorbnv avatar vlad-markin avatar zhilyaev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dochub's Issues

Feature Request: Плагин DocHub для Intellij Idea

Очень не хватает подсказок при добавлении аспектов и links.

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

Такая возможность станет киллер фичей для этого проекта :)

Feature Request: Тогл extra-links для контекста SELF

Очень не хватает возможности просмотра входящих связей компонента от других компонентов

Например, допустим у нас есть 10 разных сервисов и все делают запросы в сервис А.
У каждого сервиса мы прописываем, что он ссылается на этот сервис А.
Просматривая SELF-контекст каждого сервиса мы видим связь с сервисом А.
Но зайдя на страницу SELF-контекста сервиса А мы ничего не увидим, потому что внутри компонента сервиса А нет никаких описаний связей.

Дублировать эти связи очень накладно в плане поддержки. Поэтому нужна возможность отображения SELF-контекст включая extra-links (например, в виде кнопки включения/выключения или дополнительной вкладки self-with-extra-links), как это делается при описании контекстов.

Линии стрелок теряют свой стиль при обратном направлении

Почему то не для всех вариантов направлений происходит окрашивание линий стрелок и они остаются красными.

image

components:
  c1:
    title: c1
    entity: rectangle
  c2:
    title: c2
    entity: rectangle
  c3:
    title: c3
    entity: rectangle
  c4:
    title: c4
    entity: rectangle
  c5:
    title: c5
    entity: rectangle
  c6:
    title: c6
    entity: rectangle
  c7:
    title: c7
    entity: rectangle
  c8:
    title: c8
    entity: rectangle
  c9:
    title: c9
    entity: rectangle
  c10:
    title: c10
    entity: rectangle
  c11:
    title: c11
    entity: rectangle
  c12:
    title: c12
    entity: rectangle
  c13:
    title: c13
    entity: rectangle
  c14:
    title: c14
    entity: rectangle
  cc:
    title: cc
    entity: rectangle
    links:
      - id: c1
        direction: ->
        title: ->
      - id: c2
        direction: -->
        title: -->
      - id: c3
        direction: --->
        title: --->
      - id: c4
        direction: -u->
        title: -u->
      - id: c5
        direction: -l->
        title: -l->
      - id: c6
        direction: <-->
        title: <-->
      - id: c12
        direction: <-l->
        title: <-l->
      - id: c13
        direction: <-d->
        title: <-d->
      - id: c14
        direction: <->
        title: <->
      - id: c7
        direction: <-
        title: <-
      - id: c8
        direction: <--
        title: <--
      - id: c9
        direction: <---
        title: <---
      - id: c10
        direction: <-u-
        title: <-u-
      - id: c11
        direction: <-l-
        title: <-l-
context:
  cc:
    title: cc
    location: cc
    extra-links: false
    uml:
      $before: >
        skinparam {
          linetype ortho
          actorStyle awesome
          nodesep 75
          ranksep 150
        }
    components:
      - cc
      - c1
      - c2
      - c3
      - c4
      - c5
      - c6
      - c7
      - c8
      - c9
      - c10
      - c11
      - c12
      - c13
      - c14

Feature Request: Тултип для стрелки связи

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

А если подписи нет то отображать текст типа "BBB → AAA"

Feature Request: Выпадающий список вместо вкладок контекстов

При просмотре аспектов список контекстов, в которых встречается аспект, отображается в табах.
Если названия контекстов длинные (а они обычно длинные), то промотать на самый последний контекст можно только прощелкав все табы. (пример #28)

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

Отсутствие ошибок при пустых обязательных полях на форме

Если для сущности объявляю атрибут обязательным(required: true), а на карточке объекта его не заполняю, то форма просто показывает пустое поле. Никаких ошибок DocHub не выводит.
fields: # Зависимость от вендора VendorLock: title: Вендорский продукт required: true
Результат:
изображение

Поддержка AsyncAPI

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

Авторизация только через корень

Если давать ссылку на созданный раздел не авторизированному раннее пользователю, то схема не отобразиться, на веб-морде не появиться никаких предупреждений, при этом фронт будет ловить ошибку 401
image
Авторизоваться можно только через корень - https://dochub2.rabota.space/ , только при переходе по этой ссылке пользователя перекинет на страницу авторизации

Ошибки permission denied при локальной сборке через docker compose

При локальной сборке докхаба (не в режиме плагина) командой docker compose up --build в лог вылезает несколько ошибок вида:
dochub | sed: can't create temp file '/usr/share/nginx/html/50x.htmlXXXXXX': Permission denied
Кажется на работу это не влияет, но вдруг.
Я полечил это не самым элегантным образом - в файл Dockerfile вставил строку USER root перед строкой

COPY --chown=101 --from=builder /var/www/dist /usr/share/nginx/html

Схлопывание ссылок

Хотелось бы по какому-то параметру схлопывать одинаковые ссылки (например, если одна и та же ссылка описана в двух местах - в исходящием компоненте и во входящем тоже)
Помню, что мы говорили про возможность введения параметра single:true.

Возможность задавать стили для entity

Можно ли как то задать entity стиль, например, изменить цвет?

попробовал добавить uml в описание ентити:

title: пример
entity: rectangle
aspects:
  - bla.blabla
uml:
  $before: >
    skinparam classFontColor red

но это не сработало

Feature Request: Задание нескольких компонентов в контекст за раз

Добрый день.

Интересует такая возможность, что бы при описании конкретного контекста можно было указать серию компонентов через указание его родительского неймспейса.
Например, имеется 3 компонента:

components:
  - dochub.services: components/dochub/l2/services.yaml
  - dochub.services.service1: components/dochub/l3/service1.yaml
  - dochub.services.service2: components/dochub/l3/service2.yaml
  - dochub.services.service3: components/dochub/l3/service3.yaml

и в контексте указываешь вот так:

...
  dochub.services:
    title: сервисы
    location: dochub/services
    extra-links: true
    components:
      - dochub.services.*
...

Возможна ли такая фича в будущем? (ща это не прокатывает)

Ошибка парсинга части манифеста приводит к неработаспособности всего докхаба

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

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

Когда у тебя много контекстов в схеме, то открывается как правило просто первый (по какому-то принципу) контекст. В большинстве случаев этот контекст никак не объясняет выбранный аспект.

Линки в контекстах вручную

Хочется иметь возможность задавать линки в рамках контекста вручную. Чтобы можно было легко описать бизнес-процесс.

Feature Request: возможность определить набор полей через forms для любого набора компонент

Текущая реализация: набор доп. полей задается в разрезе каждого entity единственным набором (https://arch.sblogistica.ru/docs/dochub.forms)

Так как за архитектурным компонентом могут стоять различные по сути сущности (системы, подсистемы, микросервисы, бизнес-домены и проч.) с потенциально совершенно отличным друг от друга атрибутным составом, то хотелось бы расширить возможность гибкого определения набора доп.полей в разрезе произвольного набора компонент (в дискуссии упоминалась реализация через фильтр).

многострочные текстовые поля в сводке объекта

Добавили поле description через forms - заполнили его длинным текстом. Длинный текст полностью не показывается - обрезается из-за чего смысл сводки теряется - пользователь ожидает увидеть интересную ему инфу в карточке объекта, а не видит...

Feature Request: Добавить новую сущность References

Отталкиваясь от интерфейса информации о компоненте, где отображаются блоки Сводка, Контекст, Документ, Иерархия, добавить еще один блок - References.

В этом блоке будут перечислены ссылки на внешнюю документацию с краткий описанием ссылки (например. формате md).
References нужны в момент, когда переносить ранее созданную документацию внутрь DocHub, например, из конфлюенса, трудозатратно, поэтому на первом этапе описания было бы неплохо видеть ссылки на первоисточники.

Поддержка dotted lines в links (<..>)

Предлагается поддержать возможность задавать пунктирные стрелки на схемах. Стандартный plantuml это поддерживает, цитата: Links between elements are made using combinations of dotted line (..), straight line (--), and arrows (-->) symbol

Пример:
components:
example_system:
title: Система
entity: component
links:
- id: system2
direction: <..>

Отображение связей в контекстах

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

(при этом неплохо оставить текущую возможность просто указать системы)

Описание для аспектов

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

Bug: в сводку компонента не выводится набор полей из forms, если поля задавать через массив

Для описания архитектуры СБЛ необходимо задать один набор дополнительных полей для компонентов с entity = component (читай - для системы или ее слагающих), другой набор дополнительных полей для компонентов с entity = actor (для бизнес-владельцев систем). Для этого требуется описание полей в forms через массив (см. приложенный рисунок).
Баг состоит в том, что использование синтаксиса массива проглатывается докхабом (то есть ошибка не выдается), но при этом новые поля на компонентах не появляются, хотя должны.

p.s.: если задавать общий набор доп.полей forms единой кучей, то есть один набор для нескольких entity, то проблем нет.

image

Обработка внутренних ссылок

Сейчас при переходе по ссылке внутри документа страница перегружается. Для тяжелых манифестов это достаточно критично. Нужно, чтобы ссылки перехватывались и открытие внутренних страниц происходило без перезагрузки.

Возможность сохранения json всего арх. репозитория

Сделали возможность в контексте (на картинке) по правой кнопке "скопировать json" - это оч. удобно для опытов в https://try.jsonata.org/.
Но проблема в том, что таким образом выгружается не весь репо, а отфильтрованная его часть (фильтр - это контекст). А мне нужен именно весь "глобальный" json - хочется на нем отрабатывать выборки с помощью jsonata - чтобы потом получившиеся сниппеты использовать внутри контекста для преобразования источника (см. доку https://dochub.info/docs/dochub.contexts - в самом конце)

Некорректно срабатывает переход по ссылке на внешний ресурс

По примеру #19 при переходе по ссылке, которая содержит в себе адрес внешнего интернета происходит переход не на внешний сайт, а на текущий.

Например, имеется

title: "[[https://github.com/RabotaRu/DocHub {перейти в описание} DocHub]]"
entity: rectangle
links:
  - id: blabla
    direction: -->

При клике на ссылку происходит переход не на
https://github.com/RabotaRu/DocHub
а на
http://localhost:8080/RabotaRu/DocHub

ветка master

Возможность указывания ссылки в title

Необходима возможность обработки разметки ссылки в формате plantUML. Например,

title: [[https://github.com/RabotaRu/DocHub {перейти в описание} DocHub]]
entity: rectangle
links:
  - id: blabla
    direction: -->

Идея запускает бесконечный цикл индексации

Идея запускает бесконечный цикл индексации

korus/spk/arch/dochub.yaml

java.lang.NullPointerException: Cannot invoke "String.getBytes(java.nio.charset.Charset)" because the return value of "java.util.ArrayList.get(int)" is null
at org.dochub.idea.arch.indexing.DocHubIndexData.stringify(DocHubIndexData.java:67)
at org.dochub.idea.arch.indexing.DocHubIndex$2.save(DocHubIndex.java:26)
at org.dochub.idea.arch.indexing.DocHubIndex$2.save(DocHubIndex.java:23)
at com.intellij.util.indexing.impl.ValueContainerImpl.saveTo(ValueContainerImpl.java:448)
at com.intellij.util.indexing.impl.ChangeTrackingValueContainer.saveTo(ChangeTrackingValueContainer.java:173)
at com.intellij.util.indexing.impl.ValueContainerExternalizer.save(ValueContainerExternalizer.java:23)
at com.intellij.util.indexing.impl.ValueContainerExternalizer.save(ValueContainerExternalizer.java:12)
at com.intellij.util.io.PersistentMapImpl.doPut(PersistentMapImpl.java:383)

В некоторых случаях (не всех) документ с типом plantuml не рендерится, при этом dochub зависает намертво.

В версии 2.2 рендеринг перестал работать корректно. К ссылке на документ добавляется параметр ?id={component_id} и отправляется сразу два запроса - с параметром и без параметра. После отправки запроса докхаб зависает так и не отрендерив документ.

При этом в некоторых случаях все отрабатывает корректно.

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.