Контроль версий в Creatio IDE

Легкий

В Creatio IDE реализован набор инструментов, для работы с системой контроля версий SVN.  

Фиксация пакета, обновление пакета или его установка из хранилища  встроенными средствами Creatio не возможна при включенном режиме разработки в файловой системе.

Фиксация пакета в системе контроля версий 

Фиксация пакета в хранилище — это процесс сохранения всех внесенных в пакет изменений в хранилище системы контроля версий.

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

Фиксация пакета необходима:

  • при создании нового пакета;
  • при добавлении новых и изменении существующих компонентов пакета;
  • при удалении компонентов пакета;
  • при изменении свойств пакета.

Для пользовательских пакетов, которые были созданы в конфигурации, но еще не были зафиксированы в хранилище, отображается их название, а также название хранилища, в которое этот пакет будет зафиксирован (1). При этом номер ревизии пакета в SVN не указывается. Он будет добавлен после фиксации. Такие пакеты по умолчанию являются заблокированными.

pkg_displaying.png

Для пользовательских пакетов, уже зафиксированных в хранилище, отображаются название пакета, название хранилища и номер последней ревизии пакета в SVN. Стиль отображения такого пользовательского пакета в неизмененном состоянии не отличается от отображения базового пакета (2). Если в пользовательский пакет были внесены изменения (например, добавлены схемы или изменены его свойства), то его название отображается жирным шрифтом (3).

Важно. Если из пакета удалялся какой-либо элемент (например, схема или SQL сценарий), то эти изменения не отразятся на внешнем виде пакета, т.е. пакет будет выглядеть как неизмененный.

Установка пакета из системы контроля версий 

Установка пакета из хранилища — это процесс добавления пакета и всех его зависимостей из хранилища системы контроля версий (SVN).

Установка пакета необходима:

  • При одновременной работе над функциональностью пакета нескольких разработчиков.
  • При переносе изменений между приложениями.

Обновление пакета из системы контроля версий 

Процесс обновления пакета заключается в загрузке в приложение из хранилища системы контроля версий (SVN) всех изменений выбранного пакета, а также всех изменений его зависимостей. В процессе обновления система определяет все зависимости устанавливаемого пакета, которые указаны в его метаданных в свойстве DependsOn.

Фиксировать пакет в системе контроля версий
Легкий

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

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

Действие Зафиксировать пакет в хранилище (Commit package to repository)
pkg_commit_mnu.png

В результате откроется окно Изменения.

pkg_pre_commit_info.png

В обязательном поле Описание (Description) необходимо добавить комментарий к заливке пакета. В комментарии можно описать изменения пакета по сравнению с последней фиксацией. В нижней части окна отображаются изменения пакета, которые будут зафиксированы.

После нажатия на кнопку Зафиксировать изменения в хранилище (Commit Changes to Repository) пакет будет зафиксирован и изменения станут доступными для других пользователей системы.

Важно. Пакет фиксируется в то хранилище, которое указано в его свойствах. Зафиксировать пакет можно только в активное хранилище.

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

Установить пакет из системы контроля версий
Легкий

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

Последовательность установки пакета из хранилища 

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

Возможность возврата на предыдущую версию посредством SVN не предусмотрена!

Установка пакета из хранилища выполняется из раздела Конфигурация.

Для установки пакета из хранилища необходимо на вкладке Пакеты (Packages) раздела Конфигурация выбрать из контекстного меню команду Установить пакет из хранилища (Install package from repository).

scr_mnu.png

Затем в появившемся диалоговом окне необходимо выбрать хранилище, название и версию устанавливаемого пакета, после чего нажать на кнопку Установить (Install).

scr_select_dialog.png

Во время установки пакета будут автоматически применены привязанные данные, а также будут установлены зависимости.

Если в силу каких-либо причин автоматическое применение изменений не было включено, то необходимо применить изменения вручную. Для этого необходимо для установленного пакета в разделе Конфигурация выполнить следующие действия:

  1. Сгенерировать исходные коды для элементов, требующих генерации.
  2. Компилировать измененное.
  3. Обновить структуру базы данных.
  4. Установить при необходимости SQL-скрипты.
  5. Установить привязанные данные.

На заметку. При выполнении вручную обновления структуры базы данных, установки SQL-скриптов и привязанных данных в колонках Требуется обновление БД и Требует установки в БД дизайнеров отображается необходимость соответствующих действий для схем, скриптов и данных. В случае возникновения ошибок текст последней ошибки можно увидеть в колонке Текст последней ошибки.

Не все эти колонки отображаются в реестре вкладок Схемы, SQL сценарии и Данные раздела Конфигурация. При необходимости их можно добавить при помощи команды контекстного меню Настроить колонки.

Важно. После установки или обновлении пакета из SVN необходимо выполнить действие Компилировать все. Это необходимо для генерирования статического контента.

Изменения в иерархии пакетов 

При установке пользовательского пакета система проверяет его зависимости и дополнительно устанавливает либо обновляет все пакеты, от которых зависит данный пакет. Например, при установке из хранилища пакета UsrCustomPackage также будет установлен и пакет-зависимость UsrDependentPackage, который до этого еще не был установлен в рабочее пространство.

scr_dependent.png

При этом будет изменена иерархия пакетов в приложении.

pkg_hierechy.png

Изменения в иерархии пакетов при установке пользовательского пакета из SVN происходят следующим образом:

  1. Приложение определяет все зависимости устанавливаемого пакета, которые указаны в его метаданных в свойстве DependsOn.
    Метаданные пакета
    {
      "Descriptor": {
        "UId": "8bc92579-92ee-4ff2-8d44-1ca61542aa1b",
        "PackageVersion": "7.8.0",
        "Name": "UsrCustomPackage",
        "ModifiedOnUtc": "\/Date(1522671879000)\/",
        "Maintainer": "Customer",
        "Description": "Package created by user",
        "DependsOn": [
          {
            "UId": "51b3ed42-678c-4da3-bd16-8596b95c0546",
            "PackageVersion": "7.8.0",
            "Name": "UsrDependentPackage"
          },
          {
            "UId": "e14dcfb1-e53c-4439-a876-af7f97083ed9",
            "PackageVersion": "7.8.0",
            "Name": "SalesEnterprise"
          }
        ]
      }
    }
    
  2. Затем выполняется проверка, установлены ли пакеты-зависимости в конфигурацию. Если установлены, то они обновляются, если нет — устанавливаются.

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

  3. При установке пакета устанавливаются или обновляются только те зависимости устанавливаемого пакета, которые установлены из системы контроля версий (SVN). Пакеты, установленные из zip-архивов, а также предустановленные пакеты не обновляются.

    Важно. Если в рабочем пространстве отсутствует какой-нибудь из предустановленных пакетов-зависимостей, установленных из zip-архивов, установка пакета не будет выполнена.

    Необходимо предварительно установить пакеты, от которых зависит устанавливаемый пользовательский пакет, либо его пакеты-зависимости.

Обновить пакет из системы контроля версий
Легкий

Последовательность обновления пакета из SVN 

В контекстном меню на вкладке Пакеты необходимо выбрать действие Обновить пакет из хранилища.

pkg_updatet_mnu.png

После этого будет запущен процесс обновления выбранного пакета и всех его пакетов-зависимостей из активных хранилищ системы контроля версий.

Важно. Если указанные в пакете зависимости будут находиться в неактивных хранилищах, то появится сообщение об ошибке обновления пакета. При обновлении пакета обновляется вся иерархия его зависимостей, а значит все хранилища системы контроля версий, в которых могут быть расположены пакеты-зависимости, должны быть активизированы.

Важно. После установки или обновления пакета из SVN необходимо выполнить действие Компилировать все. Это необходимо для генерирования статического контента.