Creatio development guide
PDF
Это документация Creatio версии 7.16.0. Мы рекомендуем использовать новую версию документации.

Структура и состав пакетов

Glossary Item Box

Основные сведения

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

Любой продукт представляет собой конечный набор пакетов. Чтобы расширить или изменить функциональность продукта, нужно установить пакет, в котором реализованы все необходимые изменения.

Пакеты Creatio условно можно разделить на два вида:

  • Предустановленные пакеты. Поставляются вместе с системой и устанавливаются в рабочее пространство по умолчанию. К таким относятся пакеты с базовой функциональностью (например, Base, NUI), а также пакеты, созданные сторонними разработчиками. Такие пакеты устанавливаются из zip-архивов как приложения marketplace или с помощью утилиты WorkspaceConsole.
  • Пользовательские пакеты — пакеты, создаваемые пользователями системы. Они могут быть привязаны к хранилищу SVN.

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

Версия пакета

Одной из характеристик пакета является его версия.

Версия указывается при создании пакета в соответствующем поле карточки пакета (рис. 1). Версия пакета может содержать цифры, символы латинского алфавита, символы "." и "_". Версия пакета должна начинаться с цифрового или буквенного символа.

Механизм версионности пакетов устарел и не поддерживается, начиная с версии приложения 7.9. Поэтому все предустановленные пакеты имеют версию не выше 7.8.

Рис. 1. — Версия пакета в карточке пакета

Также версия пакета хранится в его метаданных в свойстве PackageVersion объекта, определенного в файле descriptor.json. Файл descriptor.json создается приложением для каждой версии пакета. Пример файла descriptor.json:

{
  "Descriptor": {
    "UId": "8bc92579-92ee-4ff2-8d44-1ca61542aa1b",
    "PackageVersion": "7.8.0",
    "Name": "UsrCustomPackage",
    "ModifiedOnUtc": "\/Date(1522412432000)\/",
    "Maintainer": "Customer",
    "Description": "Package created by user",
    "DependsOn": [
      {
        "UId": "e14dcfb1-e53c-4439-a876-af7f97083ed9",
        "PackageVersion": "7.8.0",
        "Name": "SalesEnterprise"
      }
    ]
  }
}

Все элементы пакета имеют ту же версию, что и сам пакет.

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

Структура пакета

При фиксации пакета в систему контроля версий в хранилище пакета создается папка с именем пакета, а внутри нее — каталоги branches и tags (рис. 2).

Рис. 2. — Структура пакета в SVN

В папке branches хранятся все версии данного пакета. Каждая версия хранится в отдельной вложенной папке, имя которой совпадает с номером версии пакета в системе, например, 7.8.0.

Структура, учитывающая версии пакета, осталась для совместимости с приложения версий ниже 7.9.

Каталог tags предназначен для хранения меток. Метки в системе управления версиями — это "снимок" проекта в определенный момент времени, статическая копия файлов, необходимая для фиксации определенного важного этапа разработки.

Рабочая копия пакета сохраняется локально в файловой системе. Путь для хранения пакетов задается в конфигурационном файле ConnectionStrings.config в атрибуте connectionString элемента defPackagesWorkingCopyPath:

<add name="defPackagesWorkingCopyPath" connectionString="TEMP\APPLICATION\WORKSPACE\TerrasoftPackages" />

По этому пути создается папка с именем пакета. Ее внутренняя структура представлена на рисунке 3.

Рис. 3. — Структура папки пакета в файловой системе

В каталоге Schemas хранятся схемы пакета. Привязанные к пакету внешние сборки, данные и SQL-сценарии содержатся, соответственно, в каталогах Assemblies, Data и SqlScripts. Все текстовые ресурсы пакета, переведенные на разные языки, вынесены в отдельный каталог Resources.

Начиная с версии 7.11.3 в структуру пакета добавлен каталог Files, содержащий файловый контент (см. "Использование файлового контента в пакетах").

В файле descriptor.json хранятся метаданные пакета в формате JSON — его идентификатор, наименование, версия, зависимости и т.д.

© Terrasoft 2002-2020.

Был ли данный материал полезен?

Как можно улучшить эту статью?