Установка пакета из системы контроля версий
Glossary Item Box
Общие сведения
Установка пакета из хранилища — это процесс добавления пакета и всех его зависимостей из хранилища системы контроля версий (SVN).
Установка пакета необходима:
- При одновременной работе над функциональностью пакета нескольких разработчиков.
- При переносе изменений между приложениями.
Приведенные ниже сведения актуальны при работе с хранилищами SVN встроенными средствами Creatio и не пригодны при включенном режиме разработки в файловой системе (см. "Работа с системой контроля версий").
Последовательность установки пакета из хранилища
Перед обновлением приложения пользователем с помощью SVN необходимо произвести резервное копирование базы данных. Если приложение развернуто в облаке, то необходимо обратиться в службу поддержки.
Возможность возврата на предыдущую версию посредством SVN не предусмотрена!
Установка пакета из хранилища выполняется из раздела [Конфигурация]. Подробно об инструментах этого раздела можно узнать из статьи "Разработка во встроенной IDE. Раздел [Конфигурация]".
Для установки пакета из хранилища необходимо на вкладке [Пакеты] ([Packages]) раздела [Конфигурация] выбрать из контекстного меню команду [Установить пакет из хранилища] ([Install package from repository]) (рис. 1).
Рис. 1. — Контекстное меню вкладки [Пакеты] ([Packages])
Затем в появившемся диалоговом окне необходимо выбрать хранилище, название и версию устанавливаемого пакета, после чего нажать на кнопку [Установить] ([Install]) (рис. 2).
Рис. 2. — Диалоговое окно установки пакета из хранилища
Во время установки пакета будут автоматически применены привязанные данные, а также будут установлены зависимости.
Если в силу каких-либо причин автоматическое применение изменений не было включено, то необходимо применить изменения вручную. Для этого необходимо для установленного пакета в разделе [Конфигурация] выполнить следующие действия:
- Сгенерировать исходные коды для элементов, требующих генерации.
- Компилировать измененное.
- Обновить структуру базы данных.
- Установить при необходимости SQL-скрипты.
- Установить привязанные данные.
При выполнении вручную обновления структуры базы данных, установки SQL-скриптов и привязанных данных в колонках [Требуется обновление БД] и [Требует установки в БД] дизайнеров отображается необходимость соответствующих действий для схем, скриптов и данных. В случае возникновения ошибок текст последней ошибки можно увидеть в колонке [Текст последней ошибки].
Не все эти колонки отображаются в реестре вкладок [Схемы], [SQL сценарии] и [Данные] раздела [Конфигурация]. При необходимости их можно добавить при помощи команды контекстного меню [Настроить колонки].
Начиная с версии приложения 7.11 после установки или обновлении пакета из SVN необходимо выполнить действие [Компилировать все]. Это необходимо для генерирования статического контента (см. "Статический клиентский контент в файловой системе").
Изменения в иерархии пакетов
При установке пользовательского пакета система проверяет его зависимости и дополнительно устанавливает либо обновляет все пакеты, от которых зависит данный пакет. Например, при установке из хранилища пакета [UsrCustomPackage] также будет установлен и пакет-зависимость [UsrDependentPackage] (рис. 3), который до этого еще не был установлен в рабочее пространство.
Рис. 3. — Окно [Изменения] ([Changes]) после установки пакета из SVN
При этом будет изменена иерархия пакетов в приложении (рис. 4).
Рис. 4. — Новая иерархия пакетов приложения
Изменения в иерархии пакетов при установке пользовательского пакета из 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-архивов, установка пакета не будет выполнена.
Необходимо предварительно установить пакеты, от которых зависит устанавливаемый пользовательский пакет, либо его пакеты-зависимости.