В Creatio IDE реализован набор инструментов, для работы с системой контроля версий SVN.
Фиксация пакета, обновление пакета или его установка из хранилища встроенными средствами Creatio не возможна при включенном режиме разработки в файловой системе.
Фиксация пакета в системе контроля версий
Фиксация пакета в хранилище — это процесс сохранения всех внесенных в пакет изменений в хранилище системы контроля версий.
В хранилище фиксируется только тот пакет, для которого было вызвано действие фиксации. Изменения других пакетов конфигурации при этом не фиксируются.
Фиксация пакета необходима:
- при создании нового пакета;
- при добавлении новых и изменении существующих компонентов пакета;
- при удалении компонентов пакета;
- при изменении свойств пакета.
Для пользовательских пакетов, которые были созданы в конфигурации, но еще не были зафиксированы в хранилище, отображается их название, а также название хранилища, в которое этот пакет будет зафиксирован (1). При этом номер ревизии пакета в SVN не указывается. Он будет добавлен после фиксации. Такие пакеты по умолчанию являются заблокированными.
Для пользовательских пакетов, уже зафиксированных в хранилище, отображаются название пакета, название хранилища и номер последней ревизии пакета в SVN. Стиль отображения такого пользовательского пакета в неизмененном состоянии не отличается от отображения базового пакета (2). Если в пользовательский пакет были внесены изменения (например, добавлены схемы или изменены его свойства), то его название отображается жирным шрифтом (3).
Установка пакета из системы контроля версий
Установка пакета из хранилища — это процесс добавления пакета и всех его зависимостей из хранилища системы контроля версий (SVN).
Установка пакета необходима:
- При одновременной работе над функциональностью пакета нескольких разработчиков.
- При переносе изменений между приложениями.
Обновление пакета из системы контроля версий
Процесс обновления пакета заключается в загрузке в приложение из хранилища системы контроля версий (SVN) всех изменений выбранного пакета, а также всех изменений его зависимостей. В процессе обновления система определяет все зависимости устанавливаемого пакета, которые указаны в его метаданных в свойстве DependsOn.
Для фиксации пакета в хранилище необходимо его выбрать на вкладке Пакеты. Затем в контекстном меню нужно выбрать действие Зафиксировать пакет в хранилище (Commit package to repository).
В результате откроется окно Изменения.
В обязательном поле Описание (Description) необходимо добавить комментарий к заливке пакета. В комментарии можно описать изменения пакета по сравнению с последней фиксацией. В нижней части окна отображаются изменения пакета, которые будут зафиксированы.
После нажатия на кнопку Зафиксировать изменения в хранилище (Commit Changes to Repository) пакет будет зафиксирован и изменения станут доступными для других пользователей системы.
Последовательность установки пакета из хранилища
Установка пакета из хранилища выполняется из раздела Конфигурация.
Для установки пакета из хранилища необходимо на вкладке Пакеты (Packages) раздела Конфигурация выбрать из контекстного меню команду Установить пакет из хранилища (Install package from repository).
Затем в появившемся диалоговом окне необходимо выбрать хранилище, название и версию устанавливаемого пакета, после чего нажать на кнопку Установить (Install).
Во время установки пакета будут автоматически применены привязанные данные, а также будут установлены зависимости.
Если в силу каких-либо причин автоматическое применение изменений не было включено, то необходимо применить изменения вручную. Для этого необходимо для установленного пакета в разделе Конфигурация выполнить следующие действия:
- Сгенерировать исходные коды для элементов, требующих генерации.
- Компилировать измененное.
- Обновить структуру базы данных.
- Установить при необходимости SQL-скрипты.
- Установить привязанные данные.
Изменения в иерархии пакетов
При установке пользовательского пакета система проверяет его зависимости и дополнительно устанавливает либо обновляет все пакеты, от которых зависит данный пакет. Например, при установке из хранилища пакета UsrCustomPackage также будет установлен и пакет-зависимость UsrDependentPackage, который до этого еще не был установлен в рабочее пространство.
При этом будет изменена иерархия пакетов в приложении.
Изменения в иерархии пакетов при установке пользовательского пакета из SVN происходят следующим образом:
- Приложение определяет все зависимости устанавливаемого пакета, которые указаны в его метаданных в свойстве DependsOn.
- Затем выполняется проверка, установлены ли пакеты-зависимости в конфигурацию. Если установлены, то они обновляются, если нет — устанавливаются.
- При установке пакета устанавливаются или обновляются только те зависимости устанавливаемого пакета, которые установлены из системы контроля версий (SVN). Пакеты, установленные из zip-архивов, а также предустановленные пакеты не обновляются.