Разработка в файловой системе
Glossary Item Box
Общие сведения
Чтобы максимально ускорить производительность разработки, используются интегрированные среды разработки (IDE, Integrated Development Environment). К ним относятся, например, Visual Studio, WebStorm и др. Функциональность IDE позволяет не только создавать, редактировать и компилировать программный код, но и выполнять его отладку, вести командную разработку, использовать системы управления версиями и многое другое. Для работы с исходным кодом в IDE обычно используются текстовые файлы, хранящиеся в файловой системе.
К СВЕДЕНИЮ
Для разработки в файловой системе можно использовать Microsoft Visual Studio редакций Community, Professional и Enterprise версии 2017 (c последними обновлениями) и выше.
В bpm'online реализован механизм разработки пакетов конфигурации в файловой системе. С его помощью можно выгружать содержимое пакетов из базы данных в файлы, изменять содержимое пакетов с помощью IDE, а после внесения изменений — загружать измененные пакеты обратно в базу данных. Также с помощью Visual Studio можно выполнять отладку пользовательского программного кода схем типа "Исходный код" (SourceCodeSchema).
Если нет необходимости или возможности вести разработку в файловой системе, следует использовать встроенные средства разработки bpm'online.
ВАЖНО
Начиная с версии 7.11.1 в bpm'online появилась возможность разработки серверного кода в пользовательских проектах Visual Studio. Подробности описаны в статье "Разработка конфигурационного серверного кода в пользовательском проекте".
Основные ограничения разработки в файловой системе
При включенном режиме разработки в файловой системе полноценная разработка поддерживается только для схем типа "Исходный код" (SourceCodeSchema) и клиентских схем (ClientUnitSchema).
Для других элементов пакетов, например, ресурсов или SQL-скриптов, действуют следующие правила:
- При выгрузке из базы данных в файловую систему элементы пакетов, хранящиеся в базе данных, заменят элементы в файловой системе. Схемы типа "Исходный код" и клиентские схемы заменены не будут.
- При загрузке в базу данных элементов пакетов из файловой системы они заменят элементы в базе данных. Но приложение все равно будет работать со схемами типа "Исходный код" и клиентскими схемами из файловой системы.
ВАЖНО
Начиная с версии 7.11.2 при включенном режиме разработки в файловой системе после сохранения клиентских схем (ClientUnitSchema) и схем типа "Исходный код" (SourceCodeSchema) в соответствующем дизайнере (см. раздел [Конфигурация]) в файловую систему также сохраняются и ресурсы этих схем.
Интеграция с системой хранения версий (SVN) при включенном режиме разработки в файловой системе выполняется не встроенным в bpm'online механизмом работы с SVN, а сторонними средствами. Чтобы облегчить работу со связанными пакетами, в разделе [Конфигурация] оставлена возможность установки пакетов из хранилища SVN. Для установки единичных пакетов рекомендуется использовать сторонние утилиты, например, TortoiseSVN.
К СВЕДЕНИЮ
Чтобы использовать встроенные возможности работы с хранилищем SVN, необходимо отключить режим разработки в файловой системе.
Настройки приложения для разработки в файловой системе
Чтобы включить режим разработки конфигурации в файловой системе, необходимо в файле Web.config, который находится в корневом каталоге с установленным приложением, установить значение true для атрибута enabled элемента fileDesignMode.
<fileDesignMode enabled="true"/>
ВАЖНО
На текущий момент режим разработки в файловой системе (РФС) не совместим с получением клиентского контента из предварительно сгенерированных файлов. Для корректной работы с РФС необходимо отключить получение статического клиентского контента из файловой системы. Для отключения данной функциональности нужно установить значение false для флага UseStaticFileContent в файле Web.config.
<fileDesignMode enabled="true" /> ... <add key="UseStaticFileContent" value="false" />
После включения режима разработки в файловой системе, в разделе [Конфигурация] на вкладке [Действия] появятся две кнопки (рис. 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.
Структура конфигурационного проекта представлена в табл. 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".
Смотрите также
- Настройка Visual Studio для разработки в файловой системе
- Работа с клиентским кодом в файловой системе
- Работа с серверным кодом в Visual Studio
- Разработка конфигурационного серверного кода в пользовательском проекте
- Автоматическое отображение изменений при разработке клиентской логики
- Работа с SVN в файловой системе
- Использование файлового контента в пакетах
- Локализация файлового контента
- Как создать Unit-тесты с помощью NUnit и Visual Studio
- Как использовать TypeScript при разработке клиентской функциональности