Создание пакета и переход в режим разработки в файловой системе
Glossary Item Box
Общие сведения
В режиме разработки в файловой системе после выполнения действия [Выгрузить пакеты в файловую систему] ([Download packages to file system]) все пользовательские пакеты будут выгружены в каталог ..\Terrasoft.WebApp\Terrasoft.Configuration\Pkg. При этом выгруженное в файловую систему содержимое пользовательского пакета не будет привязано к хранилищу SVN даже в том случае, если сам пакет был привязан к хранилищу в разделе [Конфигурация].
Если при создании пакета заполнить поле [Хранилище системы контроля версий] с помощью встроенных средств, то пакет будет привязан к хранилищу SVN (см. "Создание пользовательского пакета"). При этом в файловой системе будет создана рабочая копия пакета. Путь к каталогу, в котором создаются рабочие копии пакетов, задается настройкой defPackagesWorkingCopyPath в файле ConnectionStrings.config (см. "Какие параметры используются в ConnectionStrings.config").
Эту особенность можно использовать для создания пакета, привязанного к SVN и предназначенного для разработки в файловой системе. Если в настройке defPackagesWorkingCopyPath указать путь к каталогу ..\Terrasoft.WebApp\Terrasoft.Configuration\Pkg, то после выгрузки пакета в файловую систему он будет автоматически привязан к нужному хранилищу SVN.
Общая последовательность действий:
1. В настройке defPackagesWorkingCopyPath указать путь к каталогу ..\Terrasoft.WebApp\Terrasoft.Configuration\Pkg.
2. В режиме разработки с помощью встроенных средств в разделе [Конфигурация] создать пакет, привязанный к хранилищу SVN.
3. В разделе [Конфигурация] выполнить фиксацию пакета в хранилище.
4. Перейти в режим разработки в файловой системе.
5. Выгрузить пакет в файловую систему.
6. Добавить новые элементы пакета в хранилище SVN.
Описание примера
В режиме разработки с помощью встроенных средств в разделе [Конфигурация] создать пользовательский пакет, привязанный к хранилищу SVN. Выполнить настройку Creatio таким образом, чтобы в режиме разработки в файловой системе после выгрузки пакета его содержимое в файловой системе также было привязано к хранилищу SVN.
ВАЖНО
Приведенный в этой статье пример требует четкого понимания разницы между режимами разработки. Общие рекомендации следующие: в режиме разработки в файловой системе работать с хранилищем SVN следует только из файловой системы, а в режиме разработки с помощью встроенных средств работать с SVN нужно только встроенными средствами раздела [Конфигурация].
Последовательность реализации примера
1. Изменить настройку defPackagesWorkingCopyPath
В файле ConnectionStrings.config в настройке defPackagesWorkingCopyPath необходимо указать полный путь к каталогу ..\Terrasoft.WebApp\Terrasoft.Configuration\Pkg. Например:
<?xml version="1.0" encoding="utf-8"?> <connectionStrings> ... <add name="defPackagesWorkingCopyPath" connectionString="C:\creatio\Terrasoft.WebApp\Terrasoft.Configuration\Pkg/> ... </connectionStrings>
Это изменение позволит совместить каталог, в котором будут содержаться рабочие копии пользовательских пакетов, с каталогом, в который будут выгружаться пакеты в режиме разработки в файловой системе.
2. Создать пользовательский пакет
В режиме разработки с помощью встроенных средств в разделе [Конфигурация] необходимо создать пользовательский пакет, привязанный к хранилищу SVN. Как создать пакет подробно описывается в статье "Создание пользовательского пакета". Для создаваемого пакета указать название, репозиторий и версию (рис. 1).
Рис. 1. — Свойства пакета
ВАЖНО
После создания пакета необходимо добавить нужные зависимости от базовых пакетов (см. "Зависимости пакетов").
3. Выполнить фиксацию пакета в хранилище
Чтобы зафиксировать пакет в хранилище, необходимо выполнить действие [Зафиксировать пакет в хранилище] ([Commit package to repository], рис. 2). В появившемся диалоговом окне (рис. 3) нужно указать описание изменений (1), а затем нажать кнопку [OK]. После завершения фиксации появится соответствующее сообщение (3).
Рис. 2. — Действие [Зафиксировать пакет в хранилище]
Рис. 3. — Диалоговое окно свойств заливки
В результате пакет будет зафиксирован в SVN, а в каталоге ..\Terrasoft.WebApp\Terrasoft.Configuration\Pkg будет создана рабочая копия пакета (рис. 4).
Рис. 4. — Рабочая копия пакета
4. Перейти в режим разработки в файловой системе
Чтобы включить режим разработки конфигурации в файловой системе, необходимо в файле Web.config, который находится в корневом каталоге с установленным приложением, установить значение true для атрибута enabled элемента fileDesignMode.
<fileDesignMode enabled="true"/>
ВАЖНО
Также необходимо отключить использование статического контента (см. "Статический клиентский контент в файловой системе").
После включения режима разработки в файловой системе в разделе [Конфигурация] на вкладке [Действия] появятся две кнопки (рис. 1):
- [Выгрузить пакеты в файловую систему] ([Download packages to file system]) — выгружает пакеты из базы данных приложения в каталог ..\Terrasoft.WebApp\Terrasoft.Configuration\Pkg.
- [Обновить пакеты из файловой системы] ([Update packages from file system]) — загружает пакеты из каталога ..\Terrasoft.WebApp\Terrasoft.Configuration\Pkg в базу данных.
Рис. 5. — Действия раздела [Конфигурация] для разработки в файловой системе
5. Выгрузить пакет в файловую систему
К СВЕДЕНИЮ
Если после фиксации в хранилище содержимое пакета не было изменено, то это действие необязательно.
Для выгрузки пакета в файловую систему необходимо выполнить действие [Выгрузить пакеты в файловую систему]. В результате все элементы пакета, измененные и созданные с помощью встроенных средств разработки в разделе [Конфигурация], будут выгружены в файловую систему в каталог ..\Terrasoft.WebApp\Terrasoft.Configuration\Pkg.
ВАЖНО
Поскольку в режиме разработки в файловой системе встроенные средства работы с SVN отключены, то новые элементы пакета не будут привязаны к хранилищу.
6. Добавить новые элементы пакета в хранилище SVN
Чтобы в режиме разработки добавить новые элементы пакета в хранилище, необходимо в файловой системе выделить каталог рабочей копии пакета и выполнить команду [Add...] клиентского приложения для работы с хранилищем SVN, например, TortoiseSVN (рис. 6).
Рис. 6. — Команда добавления элементов в хранилище
После этого появится диалоговое окно выбора добавляемых элементов (рис. 7). После выбора нужных элементов необходимо нажать на кнопку [OK], после чего отобразится информационное окно о завершении команды добавления новых элементов.
Рис. 7. — Диалоговое окно выбора элементов
Добавленные элементы будут отмечены, как связанные с хранилищем SVN, но не зафиксированные в нем (рис. 8).
Рис. 8. — Отображение добавленных, но незафиксированных в хранилище элементов пакета
Для фиксации всех измененных и новых элементов пакета в хранилище необходимо выполнить команду [SVN Commit...] (рис. 9).
Рис. 9. — Команда фиксации элементов в хранилище
К СВЕДЕНИЮ
Подробнее процесс фиксации элементов в хранилище описан в статье "Обновление и фиксация пакета в SVN в режиме разработки в файловой системе".