Управление поставками в WorkspaceConsole

Средний

Creatio предоставляет различные инструменты поставок функциональности.

Инструменты управления поставками, которые предоставляет Creatio:

  • Creatio IDE.
  • Утилита WorskspaceConsole.

В этой статье будет рассмотрено управление поставками с использованием утилиты WorkspaceConsole.

WorkspaceConsole — это утилита, которая предназначена для выполнения операций с пакетами и схемами конфигурационных элементов Creatio.

Использование утилиты WorkspaceConsole в качестве инструмента переноса решений позволяет:

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

Перед использованием утилиты WorkspaceConsole необходимо выполнить ее настройку.

Настройка утилиты WorkspaceConsole 

  1. Узнайте значение используемой строки подключения.

    Для этого откройте файл ..\Terrasoft.WebApp\DesktopBin\WorkspaceConsole\Terrasoft.Tools.WorkspaceConsole.exe.config. Строка подключения содержится в атрибуте connectionStringName XML-элемента <db>.

    Файл Terrasoft.Tools.WorkspaceConsole.exe.config
    <terrasoft>
        ...
        <db>
            <general connectionStringName="db" securityEngineType="Terrasoft.DB.MSSql.MSSqlSecurityEngine, Terrasoft.DB.MSSql" ... />
        </db>
        ...
    </terrasoft>
    
  2. Отредактируйте строку подключения.

    Для этого откройте файл ConnectionStrings.config, который находится в корневом каталоге приложения. Строка подключения содержится в атрибуте name XML-элемента <connectionStrings>. Значение атрибута name файла ConnectionStrings.config должно совпадать со значением атрибута connectionStringName файла Terrasoft.Tools.WorkspaceConsole.exe.config.

    Файл ConnectionStrings.config
    <connectionStrings>
        <add name="db" connectionString="Data Source=dbserver\MSSQL2016; Initial Catalog=YourDBName; Persist Security Info=True; MultipleActiveResultSets=True; Integrated Security = true; Pooling = true; Max Pool Size = 100" />
        <add name="dbOracle" connectionString="Data Source=(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = dbOracleServer.yourdomain.com)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = TSOra10) (SERVER = DEDICATED)));User Id=CreatioUser;Password=CreatioUserPassword;" />
    </connectionStrings>               
    

    На заметку. Как правило, в конфигурационном файле по умолчанию настроено только две строки подключения. Строка с названием "db" используется для подключения к базе данных MS SQL Server, а строка с названием "dbOracle" — к базе данных Oracle.

    Если с помощью WorkspaceConsole необходимо выполнить разовую операцию, то утилиту можно запустить с параметром -webApplicationPath. В этом параметре необходимо указать путь к каталогу с установленным приложением. В таком случае утилита самостоятельно определит все необходимые параметры подключения к базе данных из файла ConnectionStrings.config. При этом параметры подключения из файла Terrasoft.Tools.WorkspaceConsole.exe.config будут проигнорированы.

  3. В файле Terrasoft.Tools.WorkspaceConsole.exe.config установите значение true для атрибута enabled элемента loadFromRemoteSources.

    <loadFromRemoteSources enabled="true" />
    
  4. Установите утилиту WorkspaceConsole.

    Для этого с правами администратора запустите на выполнение предустановленный пакетный файл команд, который находится по пути ..\Terrasoft.WebApp\DesktopBin\WorkspaceConsole\. Это необходимо для установки версии исполняемого файла утилиты и библиотек, которые используются утилитой.

    Пакетные файлы команд утилиты WorkspaceConsole:

    • Для 32-битной операционной системы необходимо запустить файл PrepareWorkspaceConsole.x86.bat.
    • Для 64-битной операционной системы необходимо запустить файл PrepareWorkspaceConsole.x64.bat.
  5. Настройте утилиту на выполнение операций с хранилищем SVN (опционально).

    Для этого скопируйте файлы SharpPlink-x64.svnExe, SharpSvn.dll и SharpSvn-DB44-20-x64.svnDll из соответствующего каталога в каталог ...\Terrasoft.WebApp\DesktopBin\WorkspaceConsole.

    • Для 32-битной операционной системы скопируйте файлы из каталога ...\Terrasoft.WebApp\DesktopBin\WorkspaceConsole\x86.
    • Для 64-битной операционной системы скопируйте файлы из каталога ...\Terrasoft.WebApp\DesktopBin\WorkspaceConsole\x64.

Использование утилиты WorkspaceConsole 

Исполняемый файл утилиты Terrasoft.Tools.WorkspaceConsole.exe расположен в каталоге ..\Terrasoft.WebApp\DesktopBin\WorkspaceConsole, а версия утилиты совпадает с версией приложения.

Важно. Версия утилиты WorkspaceConsole должна совпадать с версией приложения Creatio. Например, если текущая версия приложения 7.18.1.1794, а пакеты необходимо обновить до версии 7.18.2.1658, то используйте утилиту версии 7.18.2.1658. Чтобы получить утилиту требуемой версии, обратитесь в службу поддержки.

Утилита WorkspaceConsole работает напрямую с базой данных приложения. Поэтому для корректной работы утилиты необходимо внести информацию о базе данных в конфигурационный файл Terrasoft.Tools.WorkspaceConsole.exe.config утилиты. Если приложение развернуто в облаке, то работать с утилитой могут только сотрудники отдела облачных сервисов. В таком случае для переноса изменений необходимо обратиться в службу поддержки.

Команды для WorkspaceConsole рекомендуется формировать в пакетном файле (*.bat или *.cmd), созданном в текстовом редакторе.

Чтобы выполнить перенос решений с помощью утилиты WorkspaceConsole:

  1. Проверьте привязки данных.
  2. Выполните резервное копирование базы данных.
  3. Экспортируйте пакеты.
  4. Импортируйте пакеты.
  5. Перезапустите приложение в IIS.

1. Проверить привязки данных 

Перед экспортом пакета проверьте правильность привязки данных к пакету. К привязанным данным относятся наполнение справочников, новые системные настройки, демонстрационные записи раздела и т. д.

Если раздел был создан при помощи мастера, то данные, необходимые для работы раздела, автоматически привязываются мастером раздела. Чтобы после импорта раздел отобразился в рабочем месте, необходимо привязать соответствующее значение объекта SysModuleInWorkplace.

2. Выполнить резервное копирование базы данных 

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

3. Экспортировать пакеты 

Утилита WorkspaceConsole позволяет экспортировать пакет из базы данных или из хранилища SVN.

Экспортировать пакеты из базы данных 

  1. Cформируйте команду для экспорта пакетов.

    Параметры WorkspaceConsole для экспорта пакетов из базы данных
    Параметр Значение Описание
    -operation SaveDBContent

    Сохраняет содержимое базы данных в файловую систему. Тип содержимого определяется значением параметра -contentTypes. Место в файловой системе, куда будет экспортировано содержимое, определяется параметром -destinationPath.

    Требует указания одного из параметров -webApplicationPath или -configurationPath.

    -contentTypes Repository Тип содержимого, экспортируемого из базы данных на диск. Значение Repository определяет экспорт рабочего пространства, имя которого задается значением параметра -workspaceName, в каталог, путь к которому задается значением параметра -destinationPath.
    -workspaceName Название рабочего пространства Название рабочего пространства (конфигурации), в котором выполняется операция. По умолчанию все пользователи работают в рабочем пространстве Default.
    -destinationPath Путь к локальному каталогу Путь к локальному каталогу на диске. В этот каталог будут экспортированы *.gz-архивы пакетов.
    -webApplicationPath Путь к локальному каталогу Путь к каталогу на диске, в который установлено приложение Creatio. По этому пути из файла ConnectionStrings.config будет считана информация по соединению с базой данных. Если параметр не указан, то будет установлено соединение с базой данных, указанной в строке соединения в конфигурационном файле утилиты.
    -configurationPath Путь к локальному каталогу Путь к каталогу ..\Terrasoft.WebApp\Terrasoft.Configuration. В этот каталог экспортируются исходные коды и ресурсы схем пользовательских пакетов в режиме разработки в файловой системе.

    Сигнатура команды, которую необходимо выполнить в интерпретаторе команд (консоли) Windows, для выполнения операции экспорта пакетов из базы данных:

    [Путь к WorkspaceConsole]\Terrasoft.Tools.WorkspaceConsole.exe -operation=SaveDBContent -contentTypes=Repository -workspaceName=[Название рабочего пространства] -destinationPath=[Путь к локальному каталогу] -webApplicationPath=[Путь к каталогу приложения] -configurationPath=[Путь к локальному каталогу]
    
  2. Запустите утилиту.

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

В результате выполнения архивы пакетов указанного рабочего пространства будут экспортированы в локальный каталог.

Экспортировать пакеты из хранилища SVN 

  1. Cформируйте команду для экспорта пакетов.

    Параметры WorkspaceConsole для экспорта пакетов из SVN
    Параметр Значение Описание
    -operation SaveVersionSvnContent Выгружает иерархию пакетов в виде *.zip-архивов. Место в файловой системе, куда будет экспортировано содержимое, определяется параметром -destinationPath. SVN-хранилища определяются параметром -sourcePath.
    -workspaceName Название рабочего пространства Название рабочего пространства (конфигурации), в котором выполняется операция. По умолчанию все пользователи работают в рабочем пространстве Default.
    -destinationPath Путь к локальному каталогу Путь к локальному каталогу на диске. В этот каталог будут экспортированы *.gz-архивы пакетов.
    -workingCopyPath Путь к локальному каталогу Локальный каталог для рабочей копии пакетов, которые хранятся в SVN.
    -sourcePath Путь к SVN-хранилищу Адрес хранилища SVN для хранения структуры и метаданных пакетов. Может принимать несколько значений, указанных через запятую.
    -packageName Имя пакета Имя пакета в SVN-хранилище, которое будет использоваться для экспорта. Все пакеты, от которых зависит текущий пакет, также будут задействованы.
    -packageVersion Версия пакета Версия пакета в SVN-хранилище, которое будет использоваться для экспорта.
    -sourceControlLogin Имя пользователя SVN Логин пользователя хранилища SVN.
    -sourceControlPassword Пароль пользователя SVN Пароль пользователя хранилища SVN.
    -cultureName Языковая культура Код языковой культуры. Например, en-US.
    -excludeDependentPackages true или false Признак необходимости экспорта пакетов, от которых зависит пакет, указанный в параметре -packageName.
    -logPath Путь к локальному каталогу Путь к каталогу, в который будет сохранен файл с логом операции. Название файла состоит из даты и времени запуска операции. Необязательный параметр.

    Сигнатура команды, которую необходимо выполнить в интерпретаторе команд (консоли) Windows, для выполнения операции экспорта пакетов из SVN-хранилища:

    [Путь к WorkspaceConsole]\Terrasoft.Tools.WorkspaceConsole.exe -operation=SaveVersionSvnContent -workspaceName=[Название рабочего пространства] -destinationPath=[Путь к локальному каталогу] -workingCopyPath=[Путь к локальному каталогу] -sourcePath=[Путь к SVN-хранилищу] -packageName=[Имя пакета] -packageVersion=[Версия пакета] -sourceControlLogin=[Имя пользователя SVN] -sourceControlPassword=[Пароль пользователя SVN] -cultureName=[Языковая культура] -excludeDependentPackages=true -logPath=[Путь к локальному каталогу]  
    
  2. Запустите утилиту.

В результате выполнения архивы пакетов указанного рабочего пространства будут экспортированы в локальный каталог.

4. Импортировать пакеты 

  1. Cформируйте команду для импорта пакетов.

    Параметры WorkspaceConsole для импорта пакетов в базу данных
    Параметр Значение Описание
    -operation InstallFromRepository

    Импортирует в конфигурацию содержимое и метаданные пакетов из *.zip-архивов. При необходимости выполняются привязанные SQL-скрипты, перегенерация исходных кодов, установка привязанных данных. Работает только с измененными или новыми пакетами и их элементами. Требует указания одного из параметров -webApplicationPath или -configurationPath.

    Требует указания параметра -confRuntimeParentDirectory.

    -packageName Имя пакета Имя пакета в конфигурации, которая указана в параметре -workspaceName. Все пакеты, от которых зависит текущий пакет, также будут задействованы. Если параметр не указан, то будут задействованы все пакеты конфигурации.
    -workspaceName Название рабочего пространства Название рабочего пространства (конфигурации), в котором выполняется операция. По умолчанию все пользователи работают в рабочем пространстве Default.
    -sourcePath Путь к локальному каталогу Путь к локальному каталогу на диске. В этом каталоге находятся *.gz-архивы пакетов, которые необходимо установить.
    -destinationPath Путь к локальному каталогу Путь к локальному каталогу на диске. В этот каталог будут экспортированы *.gz-архивы пакетов, которые определены в параметре -sourcePath.
    -skipConstraints false Пропустить создание внешних ключей в таблицах базы данных. Принимает значения true или false.
    -skipValidateActions true Пропустить проверку возможности создания индексов таблиц при обновлении структуры базы данных. Принимает значения true или false.
    -regenerateSchemaSources true Указывает на необходимость перегенерации исходных кодов после сохранения пакетов в базе данных. Принимает значения true или false. По умолчанию — true.
    -updateDBStructure true Указывает на необходимость обновления структуры базы данных после сохранения пакетов. Принимает значения true или false. По умолчанию — true.
    -updateSystemDBStructure true Указывает на необходимость изменения структуры базы данных системных схем перед выполнением установки пакетов. Также создает все отсутствующие индексы в системных таблицах. Принимает значения true или false.
    -installPackageSqlScript true Указывает на необходимость выполнения SQL скриптов до и после сохранения пакетов. Принимает значения true или false. По умолчанию — true.
    -installPackageData true Указывает на необходимость установки привязанных к пакету данных после сохранения пакетов. Принимает значения true или false. По умолчанию — true.
    -continueIfError true Указывает на необходимость прервать выполнение процесса установки при получении первой ошибки. Если значение параметра — true, то процесс установки пройдет до конца, а пользователь получит список всех возникших ошибок. Принимает значения true или false. По умолчанию — false.
    -webApplicationPath Путь к локальному каталогу Путь к каталогу на диске, в который установлено приложение Creatio. По этому пути из файла ConnectionStrings.config будет считана информация по соединению с базой данных. Если параметр не указан, то будет установлено соединение с базой данных, указанной в строке соединения в конфигурационном файле утилиты.
    -confRuntimeParentDirectory Путь к локальному каталогу Путь к родительскому каталогу директории ..\Terrasoft.WebApp\conf.
    -logPath Путь к локальному каталогу Путь к каталогу, в который будет сохранен файл с логом операции. Название файла состоит из даты и времени запуска операции. Необязательный параметр.
    -configurationPath Путь к локальному каталогу Путь к каталогу ..\Terrasoft.WebApp\Terrasoft.Configuration. В этот каталог экспортируются исходные коды и ресурсы схем пользовательских пакетов в режиме разработки в файловой системе.

    Сигнатура команды, которую необходимо выполнить в интерпретаторе команд (консоли) Windows, для выполнения операции импорта пакетов в базу данных:

    [Путь к WorkspaceConsole]\Terrasoft.Tools.WorkspaceConsole.exe -operation=InstallFromRepository -packageName=[Имя пакета] -workspaceName=[Название рабочего пространства] -packageName=[Имя пакета] -sourcePath=[Путь к локальному каталогу] -destinationPath=[Путь к локальному каталогу] -skipConstraints=false -skipValidateActions=true -regenerateSchemaSources=true -updateDBStructure=true -updateSystemDBStructure=true -installPackageSqlScript=true -installPackageData=true -continueIfError=true  -webApplicationPath=[Путь к локальному каталогу] -confRuntimeParentDirectory=[Путь к локальному каталогу] -logPath=[Путь к локальному каталогу] -configurationPath=[Путь к локальному каталогу]
    
  2. Запустите утилиту.
  3. Cформируйте команду для генерации статического контента в файловую систему.

    Параметры WorkspaceConsole для компиляции конфигурации
    Параметр Значение Описание
    -operation BuildConfiguration

    Выполняет генерацию статического контента в файловую систему.

    Требует указания одного из параметров -webApplicationPath или -configurationPath.

    -workspaceName Название рабочего пространства Название рабочего пространства (конфигурации), в котором определены экспортируемые пакеты. По умолчанию все пользователи работают в рабочем пространстве Default.
    -destinationPath Путь к локальному каталогу Путь к локальному каталогу на диске. В этот каталог будут экспортированы *.gz-архивы пакетов, которые определены в параметре -sourcePath.
    -webApplicationPath Путь к локальному каталогу Путь к каталогу на диске, в который установлено приложение Creatio. По этому пути из файла ConnectionStrings.config будет считана информация по соединению с базой данных. Если параметр не указан, то будет установлено соединение с базой данных, указанной в строке соединения в конфигурационном файле утилиты.
    -confRuntimeParentDirectory Путь к локальному каталогу Путь к родительскому каталогу директории ..\Terrasoft.WebApp\conf.
    -logPath Путь к локальному каталогу Путь к каталогу, в который будет сохранен файл с логом операции. Название файла состоит из даты и времени запуска операции. Необязательный параметр.
    -force true или false

    Задает условия генерации файлового контента. Если значение параметра равно true, то генерация файлового контента выполняется по всем схемам. Если значение параметра равно false, то генерация файлового контента выполняется по измененным схемам. По умолчанию — false.

    Требует указания одного из параметров -webApplicationPath или -configurationPath.

    -configurationPath Путь к локальному каталогу Путь к каталогу ..\Terrasoft.WebApp\Terrasoft.Configuration. В этот каталог экспортируются исходные коды и ресурсы схем пользовательских пакетов в режиме разработки в файловой системе.

    Сигнатура команды, которую необходимо выполнить в интерпретаторе команд (консоли) Windows, для выполнения операции генерации статического контента в файловую систему:

    [Путь к WorkspaceConsole]\Terrasoft.Tools.WorkspaceConsole.exe -operation=BuildConfiguration -workspaceName=[Название рабочего пространства] -destinationPath=[Путь к локальному каталогу] -webApplicationPath=[Путь к локальному каталогу] -confRuntimeParentDirectory=[Путь к локальному каталогу] -logPath=[Путь к локальному каталогу] -configurationPath=[Путь к локальному каталогу]
    
  4. Запустите утилиту.

На заметку. Пакеты, импортируемые в приложение с помощью WorkspaceConsole, считаются предустановленными и недоступны для изменения.

Не рекомендуется использовать утилиту WorkspaceConsole для импорта пакетов в базу данных при включенном режиме разработки в файловой системе. Если утилита будет использована, то исходный код измененных схем будет изменен в базе данных, но останется без изменений в файловой системе. Т. е. при открытии схемы конфигурационного элемента в Creatio IDE отобразится неизмененный код из файловой системы. При этом дата модификации схемы конфигурационного элемента будет обновлена. Это приводит к ложному ощущению, что перенос схемы прошел корректно.

Чтобы импортировать пакеты в базу данных при включенном режиме разработки в файловой системе:

  1. Воспользуйтесь инструкцией и импортируйте пакеты в базу данных с помощью утилиты WorkspaceConsole.
  2. На панели инструментов в группе действий Разработка в файловой системе (File system development mode) выберите Выгрузить все пакеты в файловую систему (Download packages to file system).

В результате все пакеты будут выгружены по пути ..\Terrasoft.WebApp\Terrasoft.Configuration\Pkg в каталог с соответствующим названием пакета.

5. Перезапустить приложение в IIS 

Для применения изменений перезапустите приложение в IIS. Это необходимо, поскольку утилита WorkspaceConsole вносит изменения напрямую в базу данных.

Экспортировать пакеты из базы данных
Средний

Пример. Экспортировать в каталог все пакеты рабочего пространства Default.

  • C:\сreatio — каталог с установленным приложением.
  • C:\SavedPackages — каталог для экспорта пакетов.
  • C:\Logs — каталог для экспорта файла с логом операции.

1. Сформировать команду для экспорта пакета из базы данных  

  1. Cоздайте файл пакетных команд Windows (*.bat или *.cmd), используя текстовый редактор.
  2. В созданный файл добавьте команду для запуска утилиты.

    Команда для запуска утилиты
    C:\creatio\Terrasoft.WebApp\DesktopBin\WorkspaceConsole\Terrasoft.Tools.WorkspaceConsole.exe -operation=SaveDBContent -contentTypes=Repository -workspaceName=Default -destinationPath=C:\SavedPackages -webApplicationPath=C:\creatio -confRuntimeParentDirectory=C:\creatio\Terrasoft.WebApp -logPath=C:\Logs
    pause
    

    Сохраните пакетный файл.

2. Экспортировать пакет из базы данных 

Чтобы экспортировать пакет из базы данных дважды кликните по имени пакетного файла.

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

В результате выполнения команды в каталог C:\SavedPackages будут экспортированы *gz-архивы всех пакетов конфигурации Default.

Экспортировать пакет из SVN
Средний

Пример. Экспортировать пакет из SVN-хранилища в каталог рабочего пространства Default.

  • C:\сreatio — каталог с установленным приложением.
  • C:\SavedPackages — каталог для экспорта *gz-архива пакета.
  • C:\WorkingCopy — каталог для экспорта структуры пакета из SVN-хранилища.
  • http://server-svn:8050/Packages — адрес SVN-хранилища.
  • sdkTestPackage — пакет для экспорта из SVN-хранилища.
  • 7.18.1 — версия пакета для экспорта из SVN-хранилища.
  • "User" — логин пользователя хранилища SVN.
  • "Password" — пароль пользователя хранилища SVN.
  • ru-RU — языковая культура.
  • C:\Logs — каталог для экспорта файла с логом операции.

1. Сформировать команду для экспорта пакета из SVN-хранилища 

  1. Cоздайте файл пакетных команд Windows (*.bat или *.cmd), используя текстовый редактор.
  2. В созданный файл добавьте команду для запуска утилиты.

    Команда для запуска утилиты
    C:\creatio\Terrasoft.WebApp\DesktopBin\WorkspaceConsole\Terrasoft.Tools.WorkspaceConsole.exe -operation=SaveVersionSvnContent -workspaceName=Default -destinationPath=C:\SavedPackages -workingCopyPath=C:\WorkingCopy -sourcePath=http://server-svn:8050/Packages -packageName=sdkTestPackage -packageVersion=7.18.1 -sourceControlLogin=User -sourceControlPassword=Password -cultureName=ru-RU -excludeDependentPackages=true -logPath=C:\Logs
    pause
    

    Сохраните пакетный файл.

2. Экспортировать пакет из SVN 

Чтобы экспортировать пакет из SVN дважды кликните по имени пакетного файла.

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

В результате выполнения команды в каталог C:\SavedPackages будет экспортирован пакет sdkTestPackage конфигурации Default. Структура папки с именем пакета описана в статье Общие принципы работы с пакетами.

Импортировать пакет в базу данных
Средний

Пример. Импортировать пакет из каталога в рабочее пространство Default.

  • C:\сreatio — каталог с установленным приложением.
  • sdkTestPackage — пакет для импорта в приложение, который находится по пути C:\SavedPackages.
  • C:\SavedPackages — каталог с импортированными пакетами.
  • C:\TempPackages — каталог для импорта пакета.
  • C:\Logs — каталог для экспорта файла с логом операции.

1. Сформировать команду для импорта пакета в базу данных 

  1. Cоздайте файл пакетных команд Windows (*.bat или *.cmd), используя текстовый редактор.
  2. В созданный файл добавьте команду для запуска утилиты.

    Команда для запуска утилиты
    C:\creatio\Terrasoft.WebApp\DesktopBin\WorkspaceConsole\Terrasoft.Tools.WorkspaceConsole.exe -operation=InstallFromRepository -packageName=sdkTestPackage -workspaceName=Default -sourcePath=C:\SavedPackages -destinationPath=C:\TempPackages -skipConstraints=false -skipValidateActions=true -regenerateSchemaSources=true -updateDBStructure=true -updateSystemDBStructure=true -installPackageSqlScript=true -installPackageData=true -continueIfError=true -webApplicationPath=C:\creatio -confRuntimeParentDirectory=C:\creatio\Terrasoft.WebApp -logPath=C:\Logs
    pause
    

    Сохраните пакетный файл.

2. Импортировать пакет в базу данных 

Чтобы импортировать пакет в базу данных дважды кликните по имени пакетного файла.

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

В результате выполнения команды в конфигурацию Default будет импортирован пакет sdkTestPackage.

3. Сформировать команду для генерации статического контента в файловую систему 

  1. Cоздайте файл пакетных команд Windows (*.bat или *.cmd), используя текстовый редактор.
  2. В созданный файл добавьте команду для запуска утилиты.

    Команда для запуска утилиты
    C:\creatio\Terrasoft.WebApp\DesktopBin\WorkspaceConsole\Terrasoft.Tools.WorkspaceConsole.exe -operation=BuildConfiguration -workspaceName=Default -destinationPath=C:\creatio\Terrasoft.WebApp -webApplicationPath=C:\creatio -confRuntimeParentDirectory=C:\creatio\Terrasoft.WebApp -configurationPath=C:\creatio\Terrasoft.WebApp\Terrasoft.Configuration -logPath=C:\Logs
    pause
    

    Сохраните пакетный файл.

4. Cгенерировать статический контент в файловую систему 

Чтобы сгенерировать статический контент в файловую систему дважды кликните по имени пакетного файла.

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

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

Параметры утилиты WorkspaceConsole
Средний
-help

Справка с полным перечнем параметров утилиты и их кратким описанием. Если указать другие параметры, то они будут проигнорированы.

-operation

Название операции, которую необходимо выполнить. Обязательный параметр. Значение по умолчанию — LoadLicResponse.

Возможные значения
LoadLicResponse Загружает лицензии в базу данных, указанную в строке подключения. Единственная операция, которая не требует указания параметра -workspaceName.
SaveRepositoryContent Сохраняет указанное в параметре -contentTypes содержимое *.zip-архивов пакетов из каталога, указанного в параметре -sourcePath, в каталог, указанный в параметре -destinationPath.
SaveDBContent

Сохраняет содержимое базы данных в файловую систему. Тип содержимого определяется значением параметра -contentTypes. Место в файловой системе, куда будет экспортировано содержимое, определяется параметром -destinationPath.

Требует указания одного из параметров -webApplicationPath или -configurationPath.

SaveVersionSvnContent Выгружает иерархию пакетов в виде *.zip-архивов. Место в файловой системе, куда будет экспортировано содержимое, определяется параметром -destinationPath. SVN-хранилища определяются параметром -sourcePath.
RegenerateSchemaSources

Выполняет перегенерацию исходных кодов и их компиляцию.

Требует указания параметра -confRuntimeParentDirectory.

InstallFromRepository

Импортирует в конфигурацию содержимое и метаданные пакетов из *.zip-архивов. При необходимости выполняются привязанные SQL-скрипты, перегенерация исходных кодов, установка привязанных данных. Работает только с измененными или новыми пакетами и их элементами. Требует указания одного из параметров -webApplicationPath или -configurationPath.

Требует указания параметра -confRuntimeParentDirectory.

InstallBundlePackages

Устанавливает набор пакетов, перечисленных через запятую в параметре -packageName, в рабочее пространство, указанное в параметре -workspaceName.

Требует указания одного из параметров -webApplicationPath или -configurationPath.

Требует указания параметра -confRuntimeParentDirectory.

PrevalidateInstallFromRepository Проверяет возможность установки пакетов из *.zip-архивов.
ConcatRepositories Cлияние нескольких репозиториев.
ConcatSVNRepositories Cлияние нескольких хранилищ SVN.
ExecuteProcess

Выполняет запуск бизнес-процесса в конфигурации, если он будет найден.

Требует указания параметра -confRuntimeParentDirectory.

UpdatePackages

В базе данных выполняет обновление пакетов (параметр -packageName), которые присутствуют в иерархии пакета продукта (параметр -productPackageName).

Требует указания одного из параметров -webApplicationPath или -configurationPath.

Требует указания параметра -confRuntimeParentDirectory.

BuildWorkspace

Компилирует рабочее пространство (конфигурацию). Используется при разработке схем с помощью Visual Studio.

Требует указания параметра -confRuntimeParentDirectory.

ReBuildWorkspace

Перекомпилирует рабочее пространство (конфигурацию). Используется при разработке схем с помощью Visual Studio.

Требует указания параметра -confRuntimeParentDirectory.

UpdateWorkspaceSolution Обновляет решение и файлы проекта Visual Studio.
BuildConfiguration

Выполняет генерацию статического контента в файловую систему.

Используемые параметры:

  • -workspaceName
  • -destinationPath
  • -webApplicationPath
  • -logPath
  • -force
  • -configurationPath

Требует указания одного из параметров -webApplicationPath или -configurationPath.

Важно. Для корректной работы приложения после выполнения операций InstallFromRepository, InstallBundlePackages, UpdatePackages необходимо выполнить операцию BuildConfiguration.

-user

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

-password

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

-workspaceName

Название рабочего пространства (конфигурации), в котором определены экспортируемые пакеты. По умолчанию все пользователи работают в рабочем пространстве Default.

-autoExit

Указывает, завершать ли автоматически процесс утилиты после выполнения операции. Принимает значения true или false. По умолчанию — false.

-processName

Имя процесса, который необходимо запустить.

-repositoryUri

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

-sourceControlLogin

Логин пользователя хранилища SVN.

-sourceControlPassword

Пароль пользователя хранилища SVN.

-workingCopyPath

Локальный каталог для рабочей копии пакетов, которые хранятся в SVN.

-contentTypes

Тип содержимого, экспортируемого из базы данных на диск.

Возможные значения
SystemData Данные системных схем в формате JSON. Выгружаются все системные схемы и их колонки, кроме указанных в параметре -excludedSchemas.
ConfigurationData Данные схем конфигурационных элементов в формате JSON. Выгружаются все схемы, кроме указанных в параметре -excludedSchemas.
Resources Ресурсы схем конфигурационных элементов для локализации в формате XML.
LocalizableData Наполнение схем конфигурационных элементов для локализации в формате XML. Выгружаются только текстовые колонки. Дополнительные ограничения указываются в параметрах -excludedSchemas и -excludedSchemaColumns.
Repository Данные рабочего пространства в формате zip.
SqlScripts SQL-скрипты, привязанные к пакетам.
Data Данные системных схем и схем конфигурационных элементов в формате JSON. Комбинация значений SystemData и ConfigurationData.
LocalizableSchemaData Данные локализуемых объектов.
All Все типы содержимого.
-sourcePath

Путь к локальному каталогу на диске, из которого необходимо забрать данные (например, пакеты, схемы или ресурсы). Для операций ConcatRepositories и SaveVersionSvnContent может принимать несколько значений, указанных через запятую.

-destinationPath

Путь к локальному каталогу на диске, в который необходимо сохранить данные (например, пакеты, схемы или ресурсы).

-webApplicationPath

Путь к каталогу на диске, в который установлено приложение Creatio. По этому пути из файла ConnectionStrings.config будет считана информация по соединению с базой данных. Если параметр не указан, то будет установлено соединение с базой данных, указанной в строке соединения в конфигурационном файле утилиты.

Для операций BuildWorkspace, ReBuildWorkspace и UpdateWorkspaceSolution параметр -webApplicationPath должен указывать на путь к каталогу Terrasoft.WebApp.

-configurationPath

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

-filename

Имя файла. Обязательный параметр для операции LoadLicResponse.

-excludedSchemas

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

-excludedSchemaColumns

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

-excludedWorkspaceNames

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

-includedSchemas

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

-includedSchemaColumns

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

-cultureName

Код языковой культуры. Обязательный параметр, если используются значения Resources и/или LocalizableData для параметра -contentTypes.

-schemaManagerNames

Имена менеджеров схем конфигурационных элементов, которые используются для операций. Значение по умолчанию — EntitySchemaManager.

-packageName

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

-clearWorkspace

Указывает на необходимость очистки рабочего пространства перед обновлением. Принимает значения true или false. По умолчанию — false.

-installPackageSqlScript

Указывает на необходимость выполнения SQL скриптов до и после сохранения пакетов. Принимает значения true или false. По умолчанию — true.

-installPackageData

Указывает на необходимость установки привязанных к пакету данных после сохранения пакетов. Принимает значения true или false. По умолчанию — true.

-updateDBStructure

Указывает на необходимость обновления структуры базы данных после сохранения пакетов. Принимает значения true или false. По умолчанию — true.

-regenerateSchemaSources

Указывает на необходимость перегенерации исходных кодов после сохранения пакетов в базе данных. Принимает значения true или false. По умолчанию — true.

-continueIfError

Указывает на необходимость прервать выполнение процесса установки при получении первой ошибки. Если значение параметра — true, то процесс установки пройдет до конца, а пользователь получит список всех возникших ошибок. Принимает значения true или false. По умолчанию — false.

Для операций InstallFromSvn и InstallFromRepository необходимо использовать параметр -continueIfError=false. Поскольку эти операции работают с измененными или новыми пакетами и их элементами. Информация об измененных элементах получается на основании сравнения новой и существующей структур пакетов. По этой причине, если пользователь выполняет команду без указания ключа -continueIfError=true и получает ошибку, то повторный запуск команды для той же конфигурации выполнится без ошибок, но не внесет изменения в базу данных. Причина — предыдущая операция синхронизировала структуры пакетов указанной конфигурации и хранилища, и измененных элементов пакетов в этой операции нет.

-skipCompile

Указывает на необходимость выполнения компиляции. Работает, если для параметра -updateDBStructure установлено значение false. Принимает значения true или false. По умолчанию — false.

-autoUpdateConfigurationVersion

Обновляет значение версии конфигурации в базе данных до версии приложения Creatio. Принимает значения true или false. По умолчанию — false.

-warningsOnly

При обнаружении ошибки выполнения операции утилита информирует об ошибке. Принимает значения true или false. По умолчанию — false.

-confRuntimeParentDirectory

Путь к родительскому каталогу директории ..\Terrasoft.WebApp\conf. Параметр необходимо использовать в командах, которые вызывают компиляцию приложения или генерацию статического контента:

  • RegenerateSchemaSources
  • InstallFromRepository
  • InstallBundlePackages
  • UpdatePackages
  • BuildWorkspace
  • RebuildWorkspace
  • ExecuteProcess