Установка существующего пакета из SVN в режиме разработки в файловой системе
Glossary Item Box
Общие сведения
Последовательность установки пакета из хранилища SVN в режиме разработки в файловой системе существенно отличается от последовательности установки пакета в разделе [Конфигурация] (см. "Установка пакета из системы контроля версий"). Основным отличием является то, что взаимодействие с хранилищем SVN (установка, фиксация, обновление пакетов) выполняется только из файловой системы.
Последовательность установки пакета из хранилища SVN в режиме разработки в файловой системе следующая:
1. Установить пакет в файловую систему.
2. Установить пакет в приложение.
3. Выполнить генерацию исходных кодов.
4. Скомпилировать изменения.
5. Обновить структуру базы данных.
6. При необходимости установить SQL-сценарии и привязанные данные.
Чтобы необходимые изменения применились после установки пакета автоматически, нужно включить механизмы автоматического применения изменений. Для этого необходимо в файле ..\Terrasoft.WebApp\Web.config установить значение true для следующих ключей элемента appSettings:
<add key="AutoUpdateOnCommit" value="true" /> <add key="AutoUpdateDBStructure" value="true" /> <add key="AutoInstallSqlScript" value="true" /> <add key="AutoInstallPackageData" value="true" />
Ключ AutoUpdateOnCommit отвечает за автоматическое обновление пакетов из SVN перед их заливкой. Если для этого ключа установлено значение false, то перед заливкой в SVN приложение предупредит пользователя о необходимости обновления в случае, если схемы пакета были изменены. Ключи AutoUpdateDBStructure, AutoInstallSqlScript, AutoInstallPackageData отвечают соответственно за автоматическое обновление структуры базы данных, автоматическую установку SQL-сценариев и установку привязанных данных.
После включения режима автоматического применения изменений выполнять шаги 3—6 нет необходимости. Включить этот режим необходимо до установки пакета.
Если нужно взаимодействовать с хранилищем SVN как из раздела [Конфигурация], так и из файловой системы, то необходимо:
1. Установить пакет из хранилища в разделе [Конфигурация] (см. "Установка пакета из системы контроля версий").
2. Выгрузить пакет в файловую систему по действию [Выгрузить пакеты в файловую систему] ([Download packages to file system]).
Далее следует повторить шаги 3—6 приведенной выше последовательности установки пакета.
Описание примера
В приложение Creatio в режиме разработки в файловой системе установить пакет из хранилища SVN, расположенного по URL:
http://svn-server:8050/SDKPackages/sdkCreateDetailWithEditableGrid/branches/7.8.0
В пакете, рассматриваемом в данном примере, содержится функциональность детали с редактируемым реестром, созданной по примеру "Создание детали с редактируемым реестром".
Алгоритм реализации примера
1. Установка пакета в файловую систему
В каталоге приложения ...\Terrasoft.WebApp\Terrasoft.Configuration\Pkg, открытом в Проводнике, необходимо выполнить действие [SVN Checkout] (рис. 1).
Рис. 1. — Действие [SVN Checkout]
Для работы с Subversion (SVN) в файловой системе рекомендуется использовать клиентское приложение TortoiseSVN версии не ниже 1.8. Оно реализовано как расширение оболочки Windows и встраивается в контекстное меню Проводника. Подробная документация по использованию TortoiseSVN доступна здесь.
В открывшемся диалоговом окне (рис. 2) необходимо указать адрес хранилища, по которому размещено содержимое пакета (1), и каталог для выгрузки содержимого пакета (2).
Рис. 2. — Диалоговое окно выгрузки содержимого хранилища
Название каталога для выгрузки содержимого пакета должно совпадать с названием пакета (рис. 2).
После успешной выгрузки в каталоге ..\Terrasoft.WebApp\Terrasoft.Configuration\Pkg будет создана рабочая копия пакета (рис. 3).
Рис. 3. — Рабочая копия пакета
2. Установить пакет в приложение
Для установки пакета из файловой системы в приложение в разделе [Конфигурация] ([Configuration]) необходимо выполнить действие [Обновить пакеты из файловой системы] ([Update packages from file system]) (рис. 4).
Рис. 4. — Действие [Обновить пакеты из файловой системы] ([Update packages from file system])
В результате пакет будет добавлен в приложение (рис. 5, рис. 6).
Рис. 5. — Информационное окно статуса загрузки пакета в приложение
Рис. 6. — Пакет на вкладке [Пакеты] ([Packages])
Отсутствие названия репозитория в названии пакета свидетельствует о том, что все изменения могут быть зафиксированы в репозитории только из файловой системы.
3. Выполнить генерацию исходных кодов
Для этого в разделе [Конфигурация] ([Configuration]) необходимо выполнить действие [Сгенерировать для требующих генерации] ([Generate where it is needed]). Действия группы [Исходный код] ([Source Code]) описаны в статье "Разработка во встроенной IDE. Раздел [Конфигурация]".
4. Скомпилировать изменения
Чтобы скомпилировать изменения, необходимо выполнить действие [Компилировать измененное] ([Compile modified items]). Действия группы [Конфигурация] ([Configuration]) описаны в статье "Разработка во встроенной IDE. Раздел [Конфигурация]".
Необходимость действий обновления структуры базы данных, установки SQL-скриптов и привязанных данных отображается в колонках [Требуется обновление БД] и [Требует установки в БД] дизайнеров. В случае возникновения ошибок после этих действий, текст последней ошибки можно увидеть в колонке [Текст последней ошибки].
Не все эти колонки отображаются по умолчанию в реестре вкладок [Схемы], [SQL сценарии] и [Данные] раздела [Конфигурация]. При необходимости их можно добавить при помощи команды контекстного меню [Настроить колонки].
5. Обновить структуру базы данных
После компиляции изменений нужно обновить структуру базы данных действием [Обновить для требующих обновления] ([Update where it is needed]). Действия группы действий [Структура БД] ([Database Structure]) описаны в статье "Разработка во встроенной IDE. Раздел [Конфигурация]".
6. Установить SQL-сценарии и привязанные данные (при необходимости)
Если пакет содержит привязанные SQL-сценарии или данные, то необходимо выполнить соответствующие действия для их выполнения или установки. Действия групп
[SQL скрипт] ([SQL script]) и [Данные] ([Data]) описаны в статье "Разработка во встроенной IDE. Раздел [Конфигурация]".
После успешной установки в приложении станет доступной реализованная в пакете функциональность. В приведенном примере это функциональность детали с редактируемым реестром (рис. 7).
Рис. 7. — Пользовательская деталь с редактируемым реестром
Для отображения примененных изменений может понадобиться обновление страницы с очисткой кэша.