Обозреватель проекта#

Обозреватель проекта — это отдельное окно в интерфейсе системы, которое отображает иерархическое дерево сущностей проекта. Через него можно:

  • Открыть любую выборку.

  • Просмотреть состав выборки (сущности, операции и другие элементы).

  • Редактировать свойства операций.

Сущности в обозревателе проекта:

  • классы;

  • выборки;

  • прикладная бизнес-логика (Api);

  • пакеты прикладной бизнес-логики (Pkg).

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

Дерево сущностей#

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

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

  • Логическая структура - каталоги для сущностей определяются так: если в метаданных класса, выборки или пакета указан тег logicFolder, то каталогом этой сущности будет указанное значение, иначе физический каталог. Пример значения: logicFolder = "audit.test"

  • Физическая структура - каталоги для сущностей определяются их расположением внутри проекта. Например, для scala-пакета ru.bitec.app.btk.audit.test каталогом будет: audit.test

Основная закладка для всех сущностей — это «Описание», которое формируется на основе документации, которая хранится в исходном коде. Подробнее см. главу «Документирование».

Настройка существующих экранных форм#

Обозреватель проекта используется не только для просмотра структуры проекта, но и для настройки состава существующих экранных форм на уровне метаданных системы. Через дерево сущностей можно открыть нужную выборку, перейти к её отображениям и проанализировать состав полей, операций и связанных элементов интерфейса.

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

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

Создание новых сущностей#

Реализовано создание основных сущностей:

  • Класс - создает odm-файл;

  • Выборка - создает avi и avm файлы;

  • Пакет - создает Pkg и pkg.xml файлы;

  • Описание каталога - создает package-info.java в указанном каталоге.

Тегирование#

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

Настройка доступных тегов осуществляется в главном меню Настройка > Теги обозревателя проекта

Для установки тегов сущности используется операция Дополнительно > Редактировать теги

Документирование#

Для сущностей на закладке «Описание» собирается их документация, хранящаяся в исходном коде.

Документация пишется в формате markdown.

Формирование описания по типам сущностей:

Класс#

Документация для класса хранится в odm файле. В теге documentation, который доступен для:

  • класса;

  • атрибута.

Выборка#

Документация для выборки хранится в Avm файле. В тег documentation, который доступен для:

  • выборки;

  • отображения;

  • атрибута.

Api#

Документация хранится в scala doc в файле Api-класса, ссылка на документацию ScalaDoc

Pkg#

Документация хранится в:

Каталог#

Документация хранится в package-info.java, расположенном в каталоге на диске в scala-ветке. Документация в нем так же пишется в markdown.

Модуль#

Документация хранится в package-info.java, расположенном корневом каталоге scala-ветки.

Интеграция с IntelliJ IDEA#

Интеграция осуществляется через плагин для IDEA.

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

При открытии проекта в IDEA запускается json-rpc сервер, который получает порт для прослушивания и сохраняет в структуре проекта файл .idea/ideasocket/<номер порта>.lock, при этом блокируя этот файл.

Для открытия файла в IDE используется операция «Открыть в IDE».

Открываемые файлы по типам сущностей:

  • Класс - открывает odm-файл;

  • Выборка - открывает Avi-файл.
    Дополнительная подоперация позволяет открыть avm;

  • Api - открывает Api-файл;

  • Pkg - открывает Pkg.scala.
    Дополнительная подоперация позволяет открыть pkg.xml.