Обозреватель проекта#
Обозреватель проекта — это отдельное окно в интерфейсе системы, которое отображает иерархическое дерево сущностей проекта. Через него можно:
Открыть любую выборку.
Просмотреть состав выборки (сущности, операции и другие элементы).
Редактировать свойства операций.
Сущности в обозревателе проекта:
классы;
выборки;
прикладная бизнес-логика (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#
Документация хранится в:
теге
documentationфайла pkg.xml;scala doc Pkg-класса, ссылка на документацию ScalaDoc.
Каталог#
Документация хранится в 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.