Разработка в файловой системе
Glossary Item Box
Общие сведения
Чтобы максимально ускорить производительность разработки, используются интегрированные среды разработки (IDE, Integrated Development Environment). К ним относятся, например, Visual Studio, WebStorm и др. Функциональность IDE позволяет не только создавать, редактировать и компилировать программный код, но и выполнять его отладку, вести командную разработку, использовать системы управления версиями и многое другое. Для работы с исходным кодом в IDE обычно используются текстовые файлы, хранящиеся в файловой системе.
В bpm'online реализован механизм разработки пакетов конфигурации в файловой системе. С его помощью можно выгружать содержимое пакетов из базы данных в файлы, изменять содержимое пакетов с помощью IDE, а после внесения изменений — загружать измененные пакеты обратно в базу данных. Также с помощью Visual Studio можно выполнять отладку пользовательского программного кода схем типа "Исходный код" (SourceCodeSchema).
Если нет необходимости или возможности вести разработку в файловой системе, следует использовать встроенные средства разработки bpm'online.
Основные ограничения разработки в файловой системе
При включенном режиме разработки в файловой системе полноценная разработка поддерживается только для схем типа "Исходный код" (SourceCodeSchema) и клиентских схем (ClientUnitSchema).
Для других элементов пакетов, например, ресурсов или SQL-скриптов, действуют следующие правила:
- При выгрузке из базы данных в файловую систему элементы пакетов, хранящиеся в базе данных, заменят элементы в файловой системе. Схемы типа "Исходный код" и клиентские схемы заменены не будут.
- При загрузке в базу данных элементов пакетов из файловой системы они заменят элементы в базе данных. Но приложение все равно будет работать со схемами типа "Исходный код" и клиентскими схемами из файловой системы.
Интеграция с системой хранения версий (SVN) при включенном режиме разработки в файловой системе выполняется не встроенным в bpm'online механизмом работы с SVN, а сторонними средствами. Чтобы облегчить работу со связанными пакетами, в разделе [Конфигурация] оставлена возможность установки пакетов из хранилища SVN. Для установки единичных пакетов рекомендуется использовать сторонние утилиты, например, TortoiseSVN.
К СВЕДЕНИЮ Чтобы использовать встроенные возможности работы с хранилищем SVN, необходимо отключить режим разработки в файловой системе. |
Настройки приложения для разработки в файловой системе
ВАЖНО В bpm'online до версии 7.10.0 для выгрузки в файловою систему файлов с исходным кодом клиентских схем использовался атрибут UseFileContent элемента clientUnits конфигурационного файла Web.сonfig, расположенного в каталоге приложения. Начиная с версии 7.10.0 атрибут UseFileContent удален из Web.сonfig. Для выгрузки исходного кода клиентских схем необходимо использовать подход, описанный далее в этой статье. При использовании нового подхода файлы с исходным кодом клиентских схем из предустановленных пакетов также выгружаются в файловую систему (см. описание каталога Autogenerated\Src ниже). |
Чтобы включить режим разработки конфигурации в файловой системе, необходимо в файле Web.config, который находится в корневом каталоге с установленным приложением, установить значение true для атрибута enabled элемента fileDesignMode.
<fileDesignMode enabled="true" UseIDEForCompilation="false" />
К СВЕДЕНИЮ При разработке схем типа "Исходный код" на языке C# удобно выполнять компиляцию непосредственно в Visual Studio, а не в приложении (раздел [Конфигурация]). Для этого необходимо также установить значение true для атрибута UseIDEForCompilation. <fileDesignMode enabled="true" UseIDEForCompilation="true" /> |
ВАЖНО Начиная с версии 7.10.2 атрибут UseIDEForCompilation удален из Web.Config. Подразумевается, что если включен режим разработки в файловой системе, то IIS будет использовать библиотеку Terrasoft.Configuration.dll только из файловой системы. |
После включения режима разработки в файловой системе, в разделе [Конфигурация] на вкладке [Действия] появятся две кнопки (рис. 1):
- [Выгрузить пакеты в файловую систему] (Download packages to file system) — выгружает пакеты из базы данных приложения в каталог [Путь к установленному приложению]\Terrasoft.WebApp\Terrasoft.Configuration\Pkg.
- [Обновить пакеты из файловой системы] (Update packages from file system) — загружает пакеты из каталога [Путь к установленному приложению]\Terrasoft.WebApp\Terrasoft.Configuration\Pkg в базу данных.
Рис. 1. — Действия раздела [Конфигурация] для разработки в файловой системе
Чтобы приложение могло корректно работать с конфигурационным проектом, необходимо для каталога [Путь к установленному приложению]\Terrasoft.WebApp\Terrasoft.Configuration дать полный доступ пользователю операционной системы, от имени которого запущен пул приложений IIS (рис. 2). Как правило, это встроенный пользователь IIS_IUSRS.
Рис. 2. — Настройка прав доступа к каталогу Terrasoft.Configuration
Конфигурационный проект Terrasoft.Configuration
Конфигурационный проект — это предварительно настроенное решение Visual Studio, которое поставляется с приложением bpm'online и находится в каталоге [Путь к установленному приложению]\Terrasoft.WebApp\Terrasoft.Configuration.
Для начала разработки в файловой системе необходимо открыть файл [Путь к установленному приложению]\Terrasoft.WebApp\Terrasoft.Configuration\Terrasoft.Configuration.sln в Visual Studio версий 2012 и выше.
Структура конфигурационного проекта представлена в табл. 1.
Табл. 1. — Структура конфигурационного проекта
Каталог | Назначение |
---|---|
Lib | Каталог, в который выгружаются сторонние библиотеки классов, привязанные к пакетам. |
Autogenerated\Src | Каталог, содержащий файлы с автоматически сгенерированным исходным кодом схем предустановленных пакетов. Эти файлы нельзя редактировать. |
Pkg | Каталог, в который из базы данных выгружаются пакеты для разработки в файловой системе. |
bin | Каталог выгрузки скомпилированной конфигурации и сторонних библиотек. |
Начало работы с конфигурацией
Создание пакета
Если не предполагается разработка с использованием SVN, то при включенном режиме разработки в файловой системе последовательность создания пакета ничем не отличается от обычного режима. Последовательность создания пакета приведена в статье "Создание пользовательского пакета".
ВАЖНО В bpm'online по-умолчанию включен режим работы с SVN. Однако, если при создании пакета не заполнять поле [Хранилище системы контроля версий], то пакет не будет привязан к хранилищу. Вести версионную разработку этого пакета можно будет только подключив его вручную из файловой системы. |
Последовательность создания пользовательского пакета c привязкой к хранилищу SVN приведена в статье "Создание пакета в режиме разработки в файловой системе".
Работа с новыми элементами пакетов
Рекомендуется добавлять новые элементы (например, схему или ресурс) в пакет только из раздела [Конфигурация]. Чтобы создать и отредактировать новый элемент в пользовательском пакете, необходимо выполнить следующие действия:
- В разделе [Конфигурация] выбрать пользовательский пакет и добавить в него новый элемент (см. "Создание клиентской схемы", "Создание схемы "Исходный код"").
- При необходимости добавить в созданную схему ресурсы, например, локализуемую строку.
- Выполнить действие [Выгрузить пакеты в файловую систему] (Download packages to file system, рис. 1).
- С помощью IDE (например, Visual Studio) изменить исходный код схемы или локализуемого ресурса в файлах, расположенных в каталоге [Путь к установленному приложению]\Terrasoft.WebApp\Terrasoft.Configuration\Pkg\[Имя пакета]. Структура пакета подробно рассмотрена в статье "Структура и состав пакетов".
- Для внесения изменений в базу данных приложения необходимо выполнить действие [Обновить пакеты из файловой системы] (Update packages from file system, рис. 1).
ВАЖНО Изменения, сделанные в клиентских схемах, доступны в приложении сразу же, без загрузки в базу данных. Достаточно лишь обновить страницу в браузере. |
- Если были изменены схемы типа "Исходный код", то необходимо выполнить компиляцию приложения.
К СВЕДЕНИЮ При разработке схем типа "Исходный код" на языке C# удобно выполнять компиляцию непосредственно в Visual Studio, а не в приложении (раздел [Конфигурация]). Подробные сведния о компиляции и отладке в Visual Studio изложены в статье "Работа с серверным кодом в Visual Studio". |