Creatio development guide
PDF
Документация по разработке
Средства разработки
Разработка в файловой системе

Как выполнять обновление и фиксацию пакета в SVN в файловой системе

Glossary Item Box

Общие сведения

При работе с SVN может возникнуть ситуация, когда два разработчика работают над одной и той же функциональностью, реализованной в одном и том же файле. Если первый разработчик сохранит свои изменения первым, а второй — несколькими секундами позже, то изменения, внесенные первым разработчиком могут быть затерты. И хотя эти изменения запомнены системой, правки, внесенные первым разработчиком, будут отсутствовать в последней ревизии файла. Чтобы избежать подобной проблемы, используются две модели управления версиями — "Блокирование-Изменение-Разблокирование" и "Копирование-Изменение-Слияние" (см. "Работа с SVN в файловой системе").

Независимо от выбранной модели, действия при обновлении и фиксации изменений в хранилище практически одинаковые.

Описание примера

В конфигурацию bpm'online установлен пользовательский пакет sdkPackageInFileSystem (см. "Создание пакета в режиме разработки в файловой системе"). В режиме разработки в файловой системе выполнить его обновление, а после изменения содержимого — фиксацию в хранилище.

Обновление пакета из хранилища

Для получения последней ревизии пакета необходимо в каталоге ..\Terrasoft.WebApp\Terrasoft.Configuration\Pkg выделить нужный пакет и выполнить команду [SVN Update] (рис. 1).

Рис. 1. — Команда [SVN Update]

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

Рис. 2. — Результат обновления

В результате были обновлены файл дескриптора пакета descriptor.json (поменялась дата редактирования пакета) и исходный код схемы UsrGreetingService. Исходный код схемы приведен ниже:

namespace Terrasoft.Configuration
{
    using System.ServiceModel;
    using System.ServiceModel.Activation;
    using System.ServiceModel.Web;
    [ServiceContract]
    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
    public class UsrGreetingService : System.Web.SessionState.IReadOnlySessionState
    {
        [OperationContract]
        [WebInvoke(Method = "GET", UriTemplate = "Hello")]
        public string TestHello()
        {
            return "Hello!";
        }
    }
}

ВАЖНО

Чтобы изменения попали в базу данных приложения, необходимо в разделе [Конфигурация] выполнить действие [Обновить пакеты из файловой системы]. Если были изменены схемы объектов или схемы исходного кода, то для применения изменений также необходимо выполнить шаги 3 — 6 последовательности действий, приведенной в статье "Как установить существующий пакет из SVN в режиме разработки в файловой системе".

Изменение содержимого пакета

После обновления пакета можно приступать к изменению его содержимого. Например, можно изменить исходный код схемы UsrGreetingService.cs, добавив в нее метод TestHelloWorld().

namespace Terrasoft.Configuration
{
    using System.ServiceModel;
    using System.ServiceModel.Activation;
    using System.ServiceModel.Web;
    [ServiceContract]
    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
    public class UsrGreetingService : System.Web.SessionState.IReadOnlySessionState
    {
        [OperationContract]
        [WebInvoke(Method = "GET", UriTemplate = "Hello")]
        public string TestHello()
        {
            return "Hello!";
        }

        [OperationContract]
        [WebInvoke(Method = "GET", UriTemplate = "HelloWorld")]
        public string TestHelloWorld()
        {
            return "Hello world!";
        }
    }
}

Фиксация пакета в хранилище

Чтобы зафиксировать изменения в хранилище, необходимо в каталоге ..\Terrasoft.WebApp\Terrasoft.Configuration\Pkg выделить нужный пакет и выполнить команду [SVN Commit...] (рис. 1).

После этого появится окно свойств ревизии (рис. 3), в котором будут отображены измененные файлы (1). В этом же окне можно оставить короткое описание изменений, выполненных в этой ревизии (2). Фиксация в хранилище выполняется после нажатия кнопки [OK].

Рис. 3. — Окно свойств ревизии

Процесс фиксации изменений в хранилище отображается в информационном окне (рис. 4).

Рис. 4. — Результат фиксации изменений

 

 

 

 

 

 

 

 

 

© Terrasoft 2002-2019.

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

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