Работа с серверным кодом в Visual Studio (BPMOnline 7.8)

Добрый день.
Произвёл настройку согласно статье в академии:
https://academy.terrasoft.ru/documents/technic-sdk/7-8-0/rabota-s-server...
Есть ряд вопросов:
1. После компиляции в каталоге Pkg\\Schemas\ не появился файл исходного кода схемы с расширением .cs
2. После настройки при входе в BPMOnline загружается WorkspaceExplorerModule.aspx (конфигурация), а не клиентская часть BPMOnline.
3. Каким образом произвести запуск для отладки интересующего кода?

Нравится

13 комментариев

Здравствуйте!

1) В указанной директории файл с исходным кодом появляется при обновлении из svn, а не после компиляции.
2) Да, до первой успешной компиляции так и будет. Альтернатива – выполнить команду Update Workspace Solution.
3) В целом, в статье описано как выполнять отладку.

1. обновление из SVN тоже делал. Появились json-файлы, но cs-файлов нет.
Необходимы ли необходимые настройки Terrasoft.WebApp\Web.config? т.к. у меня в нём изменены CompilerSourcesTempFolderPath, IncludeDebugInformation, ExtractAllCompilerSources, SeparatedJsFiles, как это требовалось до версии 7.8.
2. Результат тот же. WorkspaceExplorerModule. Компилировался через конфигурацию и Update Workspace Solution.

У меня меня 7.8.0.1005_CustomerCenter. Может указанное поведение связано с сырым билдом

Так же выявлено, что при фиксации в хранилище не фиксируются библиотеки, добавленные на вкладке "Внешние сборки" (Ошибка: "Значение аргумента path не может быть пустым или неопределённым"), хотя в рабочую копию сохраняются (папка Assemblies). При обновлении пакета из хранилища содержимое вкладки "Внешние сборки" затирается.

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

"Сергей Кy6риш" написал:Для устранения ошибки необходимо выключить разработку в файловой системе, добавить библиотеку на вкладку, после зафиксировать в хранилище, и включить разработку файловой системы, или дождаться релизную сборку выше 7.8.0.1134

Вы имеете ввиду:

<fileDesignMode enabled="false" UseIDEForCompilation="false" />

?
Когда ожидать новый билд?
И есть ли решение по комментарию #2: http://www.community.terrasoft.ru/forum/topic/19170#comment-63800?

Игорь, прошу указать настройки комaнд Update Workspace Solution (VS) и настройки defPackagesWorkingCopyPath (ConnectionStrings.config).
По поводу новой сборки нужно уточнять в службе поддержки.

Настройки аналогичные статье.
Рабочая копия выгружается при обновлении из хранилища в
<путь к сайту>\Terrasoft.WebApp\Terrasoft.Configuration\Pkg\

Ситуация с cs-файлами в рабочей копии оказалась аналогичной ситуации с фиксацией dll файлов.

Отключил флаги

<fileDesignMode enabled="false" UseIDEForCompilation="false" />

и cs-файлы появились в рабочей копии после очередной фиксации в репозиторий

Получается, что инструментарий разработчика, анонсированный для версии 7.8, на данный момент не функционирует .
Или пропущены шаги в инструкции по настройке.

Тут вы не совсем правы. Все что описано в статье работает. Но. Функциональность, описанная в статье, проверялась на "чистой" сборке с настройками по умолчанию. Попробуйте вернуть все настройки в исходное состояние и просто пройтись по последовательности, предложенной в статье.
https://academy.terrasoft.ru/documents/technic-sdk/7-8-0/rabota-s-servernym-kodom-v-visual-studio

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

Еще рекомендую ознакомиться с записью вебинара
"Новые возможности bpm'online 7 8 - Для разработчиков"
https://www.youtube.com/watch?v=fMsCzcW_MRY

В первой половине этого вебинара подробно рассматривается вопрос разработки с VisualStudio в версии 7.8

"Симута Роман Русланович" написал:Тут вы не совсем правы. Все что описано в статье работает. Но. Функциональность, описанная в статье, проверялась на "чистой" сборке с настройками по умолчанию. Попробуйте вернуть все настройки в исходное состояние и просто пройтись по последовательности, предложенной в статье.
https://academy.terrasoft.ru/documents/technic-sdk/7-8-0/rabota-s-serve…

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

Ради чистоты эксперимента Подложил стандартный web.config в Terrasoft.WebApp (единственное исправление UseSVN = true)
Внёс исправления в строку:

<fileDesignMode enabled="true" UseIDEForCompilation="true" />

1. После фиксации Исходного кода в хранилище, его Cs-файл не появился в рабочей копии (<путь к сайту>\Terrasoft.WebApp\Terrasoft.Configuration\Pkg\)
2. После "компилировать всё" в конфигурации и повторной авторизации в системе загружается WorkspaceExplorerModule а не клиентская часть.

Для чистоты эксперимента :)
1. Развернул сборку 7.8.0.1194_SalesEnterprise в папку C:\bpm78cc (настроил бд и тп.п). Проверил на работоспособность, зашел под супервайзором. Работает.
2. В ConnectionStrings.config установил

<add name="defPackagesWorkingCopyPath" connectionString="C:\bpm78cc\Terrasoft.WebApp\Terrasoft.Configuration\Pkg" />

3. В web.config в Terrasoft.WebApp установил UseSVN = true

4. Подключил в дизайнере конфигураций SVN хранилище

5. Создал пользовательский пакет, привязал к хранилищу, в пакете создал схему с исходным кодом

6. Пакет можно зафиксировать в хранилище, можно нет. Желательно зафиксировать, тогда после выгрузки на диск, с содержимым пакета можно работать через SVN-клиент

7. Для папки C:\bpm78cc\Terrasoft.WebApp\Terrasoft.Configuration дал полный доступ пользователю IIS_IUSRS локального компьютера (MyPC\IIS_IUSRS)

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

<fileDesignMode enabled="true" UseIDEForCompilation="false" />

Описание параметров есть в статье. Сохранил изменения.

8. Перезагрузил страницу с открытым дизайнером конфигурации. Появилась кнопка "Обновить проект Visual Studio". Нажал.

В папке C:\bpm78cc\Terrasoft.WebApp\Terrasoft.Configuration\Pkg появилась новая папка UsrServices, содержимое которой является содержимым пакета, созданного в п.5. Сама схема появилась во вложенном каталоге по пути C:\bpm78cc\Terrasoft.WebApp\Terrasoft.Configuration\Pkg\UsrServices\Schemas\UsrGreetingService\UsrGreetingService.cs

также в каталоге C:\bpm78cc\Terrasoft.WebApp\Terrasoft.Configuration\Autogenerated\Src появились автосгенерированные схемы из стандартных пакетов и схема UsrGreetingServiceSchema.UsrServices.cs

Дальше можно настраивать студию и работать. Но нужно не забыть включить UseIDEForCompilation="true" и вызвать команду Build Workspace. После успешной сборки и сайт и служба заработают.

Здравствуйте, с Вашего позволения подниму тему. Потому что не понятен, как, мне кажется, принципиальный момент.
Точно следуя статье на сайте (https://academy.terrasoft.ru/documents/technic-sdk/7-9/rabota-s-servern…) выполнил все действия:
А именно, создал сервис тестовый в конфигурации - проверил - работает.
Исправил ключи конфиг файла - выгрузились файлы с помощью соответствующего пункта Конфигуратора.
Как только ключи были исправлены, сервис стал недоступен - 404. Поведение стало таким http://www.community.terrasoft.ru/forum/topic/24793, то есть, чтобы его вернуть в работоспособное состояние, нужно ключи все вернуть в начальное положение.
Запустил workspaceconsole из VS - библиотека собралась в папку ...Terrasoft.WebApp\Terrasoft.Configuration\bin\ успешно, НО
ни о каком дебаге речи быть уже не могло, потому что сервис стал недоступным. И утверждение, что IIS подхватит эту библиотеку в статье оказалось неверным - установка точки останова и подсоединение к процессу w3p.exe ничего не дало (да и в принципе верно - сервис то 404).
Посмотрел видео по ссылке, мое мнение - бесполезно! У докладчика все подготовительные шаги были УЖЕ выполнены.
Получается замкнутый круг - ключи исправляю - сервис недоступен, ключи возвращаю - сервис доступен, но не отлаживаем.
Роман, прошу указать, что здесь делается не так. Или дополнить статью.
Ведь функционал так и остаётся неработоспособным.

Здравствуйте
Вот сейчас работаю над примером, в котором использую пользовательский сервис. И работаю из VS
Скорее всего, Вы что-то сделали не так
Проверьте, что есть доступ к Terrasoft.Configuration у пользователя IIS_IUSRS локального компьютера (MyPC\IIS_IUSRS)
Создайте схему исходный код в конфигурации (сохранить, опубликовать)

Затем ключи (не забудьте сохранить конфиг)

<fileDesignMode enabled="true" UseIDEForCompilation="true" />

Ключи устанавливать во внешнем конфиге приложения, а не консоли (бывали случаи)

Последовательность работы
1. Из VS запустить команду Tools-UpdateSolution (первый раз)
2. редактируйте код в VS
3. Из VS запустить команду Tools-BuildWorkspace (дождитесь завершения компиляции)

После этого сервис работает, проверяю, например,
http://localhost/bpmonline-7.9.1/0/rest/UsrViewLocalization/Ex02

Показать все комментарии