Как установить существующий пакет из 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 приведенной выше последовательности установки пакета. |
Описание примера
В приложение bpm'online в режиме разработки в файловой системе установить пакет из хранилища 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). |
После успешной выгрузки (рис. 3) в каталоге ..\Terrasoft.WebApp\Terrasoft.Configuration\Pkg будет создана рабочая копия пакета (рис. 4).
Рис. 3. — Диалоговое окно с логом операции
Рис. 4. — Рабочая копия пакета
2. Установить пакет в приложение
Для установки пакета из файловой системы в приложение в разделе [Конфигурация] ([Configuration]) необходимо выполнить действие [Обновить пакеты из файловой системы] ([Update packages from file system]) (рис. 5).
Рис. 5. — Действие [Обновить пакеты из файловой системы] ([Update packages from file system])
В результате пакет будет добавлен в приложение (рис. 6, рис. 7).
Рис. 6. — Информационное окно статуса загрузки пакета в приложение
Рис. 7. — Пакет на вкладке [Пакеты] ([Packages])
ВАЖНО Отсутствие названия репозитория в названии пакета свидетельствует о том, что все изменения могут быть зафиксированы в репозитории только из файловой системы. |
3. Выполнить генерацию исходных кодов
Для этого в разделе [Конфигурация] ([Configuration]) необходимо выполнить действие [Сгенерировать для требующих генерации] ([Generate where it is needed]). Действия группы [Исходный код] ([Source Code]) описаны в статье "Раздел [Конфигурация]".
4. Скомпилировать изменения
Чтобы скомпилировать изменения, необходимо выполнить действие [Компилировать измененное] ([Compile modified items]). Действия группы [Конфигурация] ([Configuration]) описаны в статье "Раздел [Конфигурация]".
К СВЕДЕНИЮ Необходимость действий обновления структуры базы данных, установки SQL-скриптов и привязанных данных отображается в колонках [Требуется обновление БД] и [Требует установки в БД] дизайнеров. В случае возникновения ошибок после этих действий, текст последней ошибки можно увидеть в колонке [Текст последней ошибки]. Не все эти колонки отображаются по умолчанию в реестре вкладок [Схемы], [SQL сценарии] и [Данные] раздела [Конфигурация]. При необходимости их можно добавить при помощи команды контекстного меню [Настроить колонки]. |
5. Обновить структуру базы данных
После компиляции изменений нужно обновить структуру базы данных действием [Обновить для требующих обновления] ([Update where it is needed]). Действия группы действий [Структура БД] ([Database Structure]) описаны в статье "Раздел [Конфигурация]".
6. Установить SQL-сценарии и привязанные данные (при необходимости)
Если пакет содержит привязанные SQL-сценарии или данные, то необходимо выполнить соответствующие действия для их выполнения или установки. Действия групп
[SQL скрипт] ([SQL script]) и [Данные] ([Data]) описаны в статье "Раздел [Конфигурация]".
После успешной установки в приложении станет доступной реализованная в пакете функциональность. В приведенном примере это функциональность детали с редактируемым реестром (рис. 8).
Рис. 8. — Пользовательская деталь с редактируемым реестром
К СВЕДЕНИЮ Для отображения примененных изменений может понадобиться обновление страницы с очисткой кэша. |