Создать пакет при переходе в режим разработки в файловой системе

Средний

Последовательность создания пакета при переходе в режим разработки в файловой системе 

В режиме разработки в файловой системе после выполнения действия Выгрузить пакеты в файловую систему (Download packages to file system) все пользовательские пакеты будут выгружены в каталог ..\Terrasoft.WebApp\Terrasoft.Configuration\Pkg. При этом выгруженное в файловую систему содержимое пользовательского пакета не будет привязано к хранилищу SVN даже в том случае, если сам пакет был привязан к хранилищу в разделе Конфигурация.

Если при создании пакета заполнить поле Хранилище системы контроля версий с помощью встроенных средств, то пакет будет привязан к хранилищу SVN. При этом в файловой системе будет создана рабочая копия пакета. Путь к каталогу, в котором создаются рабочие копии пакетов, задается настройкой defPackagesWorkingCopyPath в файле 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. Для создаваемого пакета указать название, репозиторий и версию.

scr_package_creating.png

Важно. После создания пакета необходимо добавить нужные зависимости от базовых пакетов.

3. Выполнить фиксацию пакета в хранилище 

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

Действие Зафиксировать пакет в хранилище
scr_commit.png
Диалоговое окно свойств заливки
scr_commit_done.png

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

working_copy.png

4. Перейти в режим разработки в файловой системе 

Чтобы включить режим разработки конфигурации в файловой системе, необходимо в файле Web.config, который находится в корневом каталоге с установленным приложением, установить значение true для атрибута enabled элемента fileDesignMode.

Включение режима разработки конфигурации в файловой системе
<fileDesignMode enabled="true"/>

Важно. Также необходимо отключить использование статического контента.

После включения режима разработки в файловой системе в разделе Конфигурация на вкладке Действия появятся две кнопки:

  • Выгрузить пакеты в файловую систему (Download packages to file system) — выгружает пакеты из базы данных приложения в каталог ..\Terrasoft.WebApp\Terrasoft.Configuration\Pkg.
  • Обновить пакеты из файловой системы (Update packages from file system) — загружает пакеты из каталога ..\Terrasoft.WebApp\Terrasoft.Configuration\Pkg в базу данных.
confguration_buttons.png

5. Выгрузить пакет в файловую систему 

На заметку. Если после фиксации в хранилище содержимое пакета не было изменено, то это действие необязательно.

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

Важно. Поскольку в режиме разработки в файловой системе встроенные средства работы с SVN отключены, то новые элементы пакета не будут привязаны к хранилищу.

6. Добавить новые элементы пакета в хранилище SVN 

Чтобы в режиме разработки добавить новые элементы пакета в хранилище, необходимо в файловой системе выделить каталог рабочей копии пакета и выполнить команду Add... клиентского приложения для работы с хранилищем SVN, например, TortoiseSVN.

scr_add.png

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

scr_add_props.png

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

scr_added.png

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

scr_commit_explorer.png