Последовательность создания пакета при переходе в режим разработки в файловой системе
В режиме разработки в файловой системе после выполнения действия Выгрузить пакеты в файловую систему (Download packages to file system) все пользовательские пакеты будут выгружены в каталог ..\Terrasoft.WebApp\Terrasoft.Configuration\Pkg. При этом выгруженное в файловую систему содержимое пользовательского пакета не будет привязано к хранилищу SVN даже в том случае, если сам пакет был привязан к хранилищу в разделе Конфигурация.
Если при создании пакета заполнить поле Хранилище системы контроля версий с помощью встроенных средств, то пакет будет привязан к хранилищу SVN. При этом в файловой системе будет создана рабочая копия пакета. Путь к каталогу, в котором создаются рабочие копии пакетов, задается настройкой defPackagesWorkingCopyPath в файле ConnectionStrings.config.
Эту особенность можно использовать для создания пакета, привязанного к SVN и предназначенного для разработки в файловой системе. Если в настройке defPackagesWorkingCopyPath указать путь к каталогу ..\Terrasoft.WebApp\Terrasoft.Configuration\Pkg, то после выгрузки пакета в файловую систему он будет автоматически привязан к нужному хранилищу SVN.
Общая последовательность действий:
- В настройке defPackagesWorkingCopyPath указать путь к каталогу ..\Terrasoft.WebApp\Terrasoft.Configuration\Pkg.
- В режиме разработки с помощью встроенных средств в разделе Конфигурация создать пакет, привязанный к хранилищу SVN.
- В разделе Конфигурация выполнить фиксацию пакета в хранилище.
- Перейти в режим разработки в файловой системе.
- Выгрузить пакет в файловую систему.
- Добавить новые элементы пакета в хранилище SVN.
Последовательность реализации примера
1. Изменить настройку defPackagesWorkingCopyPath
В файле ConnectionStrings.config в настройке defPackagesWorkingCopyPath необходимо указать полный путь к каталогу ..\Terrasoft.WebApp\Terrasoft.Configuration\Pkg.
Это изменение позволит совместить каталог, в котором будут содержаться рабочие копии пользовательских пакетов, с каталогом, в который будут выгружаться пакеты в режиме разработки в файловой системе.
2. Создать пользовательский пакет
В режиме разработки с помощью встроенных средств в разделе Конфигурация необходимо создать пользовательский пакет, привязанный к хранилищу SVN. Для создаваемого пакета указать название, репозиторий и версию.

3. Выполнить фиксацию пакета в хранилище
Чтобы зафиксировать пакет в хранилище, необходимо выполнить действие Зафиксировать пакет в хранилище (Commit package to repository). В появившемся диалоговом окне нужно указать описание изменений (1), а затем нажать кнопку OK. После завершения фиксации появится соответствующее сообщение (3).


В результате пакет будет зафиксирован в SVN, а в каталоге ..\Terrasoft.WebApp\Terrasoft.Configuration\Pkg будет создана рабочая копия пакета.

4. Перейти в режим разработки в файловой системе
Чтобы включить режим разработки конфигурации в файловой системе, необходимо в файле Web.config, который находится в корневом каталоге с установленным приложением, установить значение true для атрибута enabled элемента fileDesignMode.
После включения режима разработки в файловой системе в разделе Конфигурация на вкладке Действия появятся две кнопки:
- Выгрузить пакеты в файловую систему (Download packages to file system) — выгружает пакеты из базы данных приложения в каталог ..\Terrasoft.WebApp\Terrasoft.Configuration\Pkg.
- Обновить пакеты из файловой системы (Update packages from file system) — загружает пакеты из каталога ..\Terrasoft.WebApp\Terrasoft.Configuration\Pkg в базу данных.

5. Выгрузить пакет в файловую систему
Для выгрузки пакета в файловую систему необходимо выполнить действие Выгрузить пакеты в файловую систему. В результате все элементы пакета, измененные и созданные с помощью встроенных средств разработки в разделе Конфигурация, будут выгружены в файловую систему в каталог ..\Terrasoft.WebApp\Terrasoft.Configuration\Pkg.
6. Добавить новые элементы пакета в хранилище SVN
Чтобы в режиме разработки добавить новые элементы пакета в хранилище, необходимо в файловой системе выделить каталог рабочей копии пакета и выполнить команду Add... клиентского приложения для работы с хранилищем SVN, например, TortoiseSVN.

После этого появится диалоговое окно выбора добавляемых элементов. После выбора нужных элементов необходимо нажать на кнопку OK, после чего отобразится информационное окно о завершении команды добавления новых элементов.

Добавленные элементы будут отмечены, как связанные с хранилищем SVN, но не зафиксированные в нем.

Для фиксации всех измененных и новых элементов пакета в хранилище необходимо выполнить команду SVN Commit....
