Конфигуратор#
Системное приложение «Конфигуратор» предназначено для автоматизации и ускорения выполнения рутинных задач по разработке проекта:
создание нового проекта;
создание нового модуля;
работа с классами:
создание;
редактирование;
работа с выборками:
создание;
редактирование;
управление разметкой выборок:
редактор карточки;
редактор фреймов;
управление подсистемой распространения изменений;
управление технической документацией сущностей и методов проекта.
Конфигуратор предназначен для работы на локальном компьютере разработчика.
Конфигуратор взаимодействует с IDE Intellij Idea через специальный плагин.
Конфигуратор поддерживает систему контроля версий SVN.
Запуск#
Для запуска конфигуратора выполните следующие действия:
Запустите сервер Global:
Выполните скриптC:\Global3se\start.batили запустите отладку в IDE Intellij Idea.Откройте в браузере адрес
http://localhost:8080/.Введите логин, пароль, базу данных.
Разверните настройки подключения.
Установите флажок «Конфигуратор».
Войдите в систему.
Первичная настройка#
При первом запуске конфигуратор предлагает выбрать режим работы по умолчанию: локально или через систему контроля версий. При работе через систему контроля версий необходимо далее указать:
логин svn;
пароль svn;
url svn.
Настройки сохраняются в поддиректорий конфигурации сервера Global:
C:\Global3se\application\config\cfg
vcs.dat– настройка SVN;project.dat– настройка проектов.
Если удалить эти файлы, мастер настройки автоматически запустится заново.
Создание нового проекта#
Запустите мастер создания проектов: Проекты > Новый проект.
Общие настройки#
Системное имя проекта - внутреннее имя проекта, обычно совпадает с наименованием директории проекта (пример:
intern199).Локальный путь до проекта - ворневая директория, в которой будет создан проект.
Пример:C:\SVN\ASSource\database\pgIntern\...
Настройки для локального режима#
В локальном режиме работы требуется указать:
параметры соединения с БД;
шаблон проекта:
или путь к архиву с шаблоном проекта;
или каталог с существующим проектом.
Настройки для работы через svn#
Для режима работы через систему контроля версий предусмотрена расширенная конфигурация при которой надо задать параметры:
Путь в репозитории: каталог в SVN, в который будет сохранен проект.
Пример:ASSource/database/pgIntern/...
Настройки Sbt-plugin#
Sbt-plugin является расширением к системе сборки sbt (scala build tool). При настройке рекомендуется не использовать пункт «trunk-версия», а оставить предложенную версию, которая является максимальной на момент создания проекта.
Настройки Базы данных#
Url: указывается тип драйвера и параметры подключения.
Пример:jdbc:postgresql://v39:5432/intern199;пользователь: имя пользователя для подключения к БД;
пароль: пароль для подключения к БД.
Примечание
Параметры подключения к БД можно узнать у куратора проекта или системного администратора.
Подключаемые модули#
В списке подключаемых модулей, будут подобраны основные модули, для создания проекта. Их можно удалить или добавить новые. После выполнить операцию «Подобрать зависимости».
Завершение создания проекта.#
По завершению конфигурации выполните операцию «Создать проект».
При этом:В случае работы с svn, в репозитории системы контроля версий будет создана структура каталогов проекта (каталог хранения проекта приложения, каталог хранения проектных модулей).
Отобразится диалог конфигурации сервера для запуска проекта .
Завершите конфигурацию сервера.
Импортируйте проект в IntelliJ IDEA.
Модули#
Интерфейс для работы с модулями проекта расположен на панели инструментов главного меню.
Позволяет выполнять настройку модулей, подключать существующие модули, создавать новые.
Создание модуля#
Операция позволяет создать новый модуль и подключить его к проекту.
На панели инструментов выполните операцию
Подключить модули > Создать новый модульВведите:
системное имя - имя модуля в нижнем регистре;
наименование модуля;
Проектный модуль (только для режима SVN)
Если установить этот признак, то модуль будет создан внутри каталога проекта в подкаталоге module, и не будет доступен к подключению в других проектах. Если признак не установить, то модуль будет создан в основном каталоге модулей (ASSource/module) и будет доступен к подключению в других проектах.
Подключите модули, от которых будет зависеть создаваемый модуль.
Обозреватель проекта#
Обозреватель проекта — это отдельное окно в интерфейсе системы, которое отображает иерархическое дерево сущностей проекта. Через него можно:
Открыть любую выборку.
Просмотреть состав выборки (сущности, операции и другие элементы).
Редактировать свойства операций.
Сущности в обозревателе проекта:
классы;
выборки;
прикладная бизнес-логика (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.
Разработка конфигуратора#
Код конфигуратора содержится в отдельном модуле. Для разработки этого модуля необходимо его настроить в режим разработки.
Конфигурация модуля происходит в файле global3.config.xml через тэги:
database- конфигурация базы данных с именем «{DB_ALIAS}.CFG», где DB_ALIAS - имя базы, к которой идет подключение.sbtнастройка модуля, содержащего исходный код конфигуратора.
Конфигурация базы данных#
Если конфигурация отсутствует, она создаётся автоматически по алгоритму:
Скопировать конфигурацию «{DB_ALIAS}» в «{DB_ALIAS}.CFG».
Заменить имя sbt на значения
cfg:<metaManager sbtName="cfg"/>
Конфигурация SBT#
Если конфигурация sbt отсутствует, формируется конфигурация по умолчанию.
Шаблон конфигурации:
<sbt name="cfg"
jarFolder="%GLOBAL3_HOME%\server\configurator\applib\\"
binaryFolder="%GLOBAL3_HOME%\server\configurator\appbin\\"
sourceMode="Jar"
lazyLoad="true">
</sbt>
где:
GLOBAL3_HOME- переменная окружения, указывающая на расположения дистрибутива. Данная переменная задается автоматически при старте сервера.
Конфигурация sbt для разработчика#
Для разработки необходимо переопределить конфигурацию sbt по шаблону:
<sbt name="cfg"
source="{PATH_TO_CFG}\configurator\application\"
sourceMode="Dev"
lazyLoad="true">
</sbt>
Алгоритм формирования для режима системной разработки#
Для перехода в режим разработки:
Задайте переменную окружения
G3_ISDEV=1.Задайте переменную окружения
G3_SHARE= «путь к jar архивам конфигуратора».
Шаблон генерации конфигурации в режиме системной разработки:
<sbt name="cfg"
jarFolder="%G3_SHARE%\cfgapplib"
binaryFolder="%G3_SHARE%\cfgappbin"
sourceMode="Jar"
lazyLoad="true">
</sbt>