Creatio на core. Установка пакетов идёт с помощью "WorkSpaceConsole", установка проходит успешно, без ошибок. Но при открытии раздела, в консоли разработчика выходит ошибка:

"GET https://....ru/{somescript}.js?hash=... net::ERR_ABORTED 404 (Not Found)"

и

"Uncaught Error: Script error for "{someScriptName}"".

В следствии этих ошибок раздел не открывается.

Подскажите, пожалуйста, как решить данную проблему?

p.s. при установки пакетов через ui creatio, такой проблемы нет

Нравится

1 комментарий

Попробуйте после установки пакета через WorkspaceConsole вручную выполнить компиляцию из раздела Конфигурация, воспроизводится ли проблема в таком случае?

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

Изображение удалено.

как эти же команды реализовать з помощью WorkspaceConsole

Нравится

2 комментария
Лучший ответ

Добрый день, Стас.



Аналога этих команд в WorkspaceConsole нет. Вы можете познакомиться с такой утилитой как clio, в ней реализованы все эти возможности.

https://github.com/Advance-Technologies-Foundation/clio

Добрый день, Стас.



Аналога этих команд в WorkspaceConsole нет. Вы можете познакомиться с такой утилитой как clio, в ней реализованы все эти возможности.

https://github.com/Advance-Technologies-Foundation/clio

Mykhailo Storozhuk,

спасибо

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

При запуске WorkspaceConsole в самом начале лога выполнения операции появляется ошибка. При этом запрошенная операция проходит успешно:

[09:46:11] Error has occurred during the loading of workspace build System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\Creatio_7.14\Terrasoft.WebApp\DesktopBin\WorkspaceConsole\Terrasoft.WebApp\Terrasoft.Configuration\bin\Terrasoft.Configuration.dll'.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
   at System.IO.File.InternalReadAllBytes(String path, Boolean checkHost)
   at Terrasoft.Common.IO.FileWrapper.ReadAllBytes(String path)
   at Terrasoft.Core.DesignMode.FileSystemWorkspaceAssemblyLoader.LoadAssemblyToWorkspace(SysWorkspace workspace, String assemblyPath)
   at Terrasoft.Core.AppConnection.GetWorkspaceAssembly(SysWorkspace workspace)

В чем может быть проблема? Вижу, что путь не верный, но как попросить WorkspaceConsole обращаться по правильному пути, не понял.



Команда запуска:

 

C:\Creatio_7.14\Terrasoft.WebApp\DesktopBin\WorkspaceConsole\Terrasoft.Tools.WorkspaceConsole.exe ^
-operation=BuildWorkspace ^
-workspaceName=Default ^
-webApplicationPath="C:\Creatio_7.14\Terrasoft.WebApp" ^
-confRuntimeParentDirectory="C:\Creatio_7.14\Terrasoft.WebApp"

 

Нравится

5 комментариев
Лучший ответ

Александр. Да, я видел этот пост, но видимо не очень внимательно прочитал.



Добавление параметра -configurationPath, указывающего на конфигурацию проекта ничего не дало.



Помогло добавление этого пути (к конфигурации) в параметр ConfigurationProjectPath файла: Terrasoft.Tools.WorkspaceConsole.exe.config



Ошибки теперь нет, всё работает как надо :-)



Добавлять ли это решение в документацию или нет, решайте сами. Какая то не очевидная штука. И, что характерно, видимо не частая, раз люди о ней не пишут.

Дмитрий, а в config-файле программы-консоли, который находится рядом с exe ничего подозрительного нет? Имею в виду неправильный путь, не прописан ли он там.

Александр, спасибо за вопрос! :-)

Нет, в Terrasoft.Tools.WorkspaceConsole.exe.config никаких подозрительных путей нет.

По сути видно, что путь в логах состоит из двух частей

1. Путь к WorkspaceConsole: 

 

C:\Creatio_7.14\Terrasoft.WebApp\DesktopBin\WorkspaceConsole\



2. Путь от корня проекта к Terrasoft.Configuration.dll:

 

\Terrasoft.WebApp\Terrasoft.Configuration\bin\Terrasoft.Configuration.dll



Т.е. WorkspaceConsole использует для поиска Terrasoft.Configuration.dll не корень проекта, а собственную домашнюю папку. 

Каких то параметров у WorkspaceConsole относительно такого поведения я не нашел. Может тут тоже есть какая то хитрость с путями в параметрах? Хотя, всё сделано строго в соответствии с документацией.

Дмитрий, кажется, нашёлся аналогичный случай:

Решил указать параметр "configurationPath" и переменная "Assembly" стала инициализироваться.

Александр. Да, я видел этот пост, но видимо не очень внимательно прочитал.



Добавление параметра -configurationPath, указывающего на конфигурацию проекта ничего не дало.



Помогло добавление этого пути (к конфигурации) в параметр ConfigurationProjectPath файла: Terrasoft.Tools.WorkspaceConsole.exe.config



Ошибки теперь нет, всё работает как надо :-)



Добавлять ли это решение в документацию или нет, решайте сами. Какая то не очевидная штука. И, что характерно, видимо не частая, раз люди о ней не пишут.

Спасибо за решение, Дмитрий. Зафиксировал информацию об отсутствии этих тонкостей в документации.

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

Добрый день.

По документации настроил приложение для разработки в файловой системе. При запуске WorkspaceConsole с ключом BuildWorkspace возникает ошибка:



Compilation started

--> ESN_Entity

--> Case_Case

Error: One or more errors occurred.

Utility finished working.



Запускаю так:

C:\SandboxCreatio\Terrasoft.WebApp\DesktopBin\WorkspaceConsole\Terrasoft.Tools.WorkspaceConsole.exe ^

--operation=BuildWorkspace ^

--workspaceName=Default ^

--webApplicationPath="C:\SandboxCreatio\Terrasoft.WebApp" ^

--confRuntimeParentDirectory="C:\SandboxCreatio\Terrasoft.WebApp"



Интересно, что тот же вызов с ключом RebuildWorkspace работает нормально.



В чем может быть проблема?

Как включить более подробное логирование ошибки?



Заметил один момент в документации:

Описание ключа webApplicationPath в документации WorkspaceConsole говорит о том, что здесь надо прописывать корневую папку приложения, где лежит ConnectionStrings.config. Однако в описании настройки IDE, тут надо указывать папку \Terrasoft.WebApp. Где правда?

 

Нравится

1 комментарий
Лучший ответ

Отвечу сам )

1. Ошибка вылечилась копированием файлов из Terrasoft.WebApp\bin в папку WorkspaceConsole. Где то тут нашел решение;

2. Оказалось в документации это есть, типо примечания, что при использовании ключа BuildWorkplace параметр confRuntimeParentDirectory должен принимать значение отличное от описанного в основной документации по утилите. Оптимизация, экономим на параметрах ))

Отвечу сам )

1. Ошибка вылечилась копированием файлов из Terrasoft.WebApp\bin в папку WorkspaceConsole. Где то тут нашел решение;

2. Оказалось в документации это есть, типо примечания, что при использовании ключа BuildWorkplace параметр confRuntimeParentDirectory должен принимать значение отличное от описанного в основной документации по утилите. Оптимизация, экономим на параметрах ))

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

Всем привет, подскажите кто-то сталкивался с такой проблемой?

 

Изображение удалено.

Нравится

2 комментария

Александр, ошибка «sectionGroupName» связана с параметром webApplicationPath.

Это путь к веб-приложению, из которого будет вычитана информация по соединению с БД. Необязательный параметр. Если не указан — соединение будет установлено с базой, указанной в строке соединения в файле App.Config приложения. Если указан — соединение будет установлено с БД из файла ConnectionStrings.config веб-приложения. Используется для всех операций, в которых участвует БД.



В Вашем случает аргументом параметра является не корневая директория приложения (пример: C:\Bpmonline\WebApp\CRMBPM), которая содержит файл ConnectionStrings.config, а C:\Bpmonline\WebApp\CRMBPM\Terrasoft.WebApp, что является некорректным.

Зверев Александр,

Спасибо.

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

Добрый день. Встречалась ли кому-нибудь такая ошибка при попытке установки пакетов через WorkspaseConsole? 

Лог ошибки:

Installing data
Error: Incorrect syntax near ')'.
   at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
   at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
   at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted)
   at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest)
   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
   at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
   at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
   at Terrasoft.Core.DB.DBExecutor.FailoverExecute[TResult](DbCommand command, Func`1 func)
   at Terrasoft.Core.DB.DBExecutor.Execute(String sqlText, QueryParameterCollection parameters)
   at Terrasoft.Core.DB.Query.Execute()
   at Terrasoft.Tools.WorkspaceConsole.WorkspaceConsoleApplication.InstallWorkspaceFromRepository(String sourcePath, String destinationPath, String packageName)
   at Terrasoft.Tools.WorkspaceConsole.WorkspaceConsoleApplication.InstallWorkspacesFromRepository(String sourcePath, String destinationPath, String packageName)
   at Terrasoft.Tools.WorkspaceConsole.WorkspaceConsoleApplication.Execute()
   at Terrasoft.Tools.Common.BaseConsoleApplication`2.Run(String[] args)

Скрипт запуска:

chcp 1251
SET IIS_NAME=Test
SET WS_NAME=Default
SET APP_WC_DIR=Z:\%IIS_NAME%\Terrasoft.WebApp\DesktopBin\WorkspaceConsole
 
SET CHECKOUT_PATH=C:\Workplaces\Kercher\Packages\DestinationPath
SET PKG_PATH=C:\Workplaces\Kercher\Packages\Create
SET LOG_PATH=C:\Workplaces\Kercher\Packages\Log
 
ECHO | %APP_WC_DIR%\Terrasoft.Tools.WorkspaceConsole.exe -packageName=KercherMain -workspaceName=%WS_NAME% -operation=InstallFromRepository -sourcePath=%PKG_PATH% -destinationPath=%CHECKOUT_PATH% -continueIfError=true -logPath=%LOG_PATH% -regenerateSchemaSources=true -updateDBStructure=true -installPackageData=true -installPackageSqlScript=true
 
pause

Само приложение находится на другом сервере. На диск Z замаплен путь к приложению.

Нравится

1 комментарий

Такое сообщение означает ошибку в SQL-запросе, лишнюю или недостающую скобку или что-то подобное. Если возникает при установке какого-то конкретного пакета, в котором есть SQL-скрипты, то нужно в первую очередь проверить их.

Если на всех, то нужно выяснить, о каком запросе речь. Можно запустить SQL-профайлер и посмотреть, какие запросы идут в базу и выдают ошибку.

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

Вопрос:

Можно ли загружать/выгружать пакеты в файловую систему, средствами WorkspaceConsole или другими методами, при этом не заходя в раздел [Конфигурация]?

Ответ:

Вышеперечисленные операции можно так же выполнить через WorkspaceConsole, установив в External tools (Visual Studio) эти команды (7.12.0.1808+

Изображение удалено.

LoadPackagesToFileSystem [путь]\Terrasoft.Tools.WorkspaceConsole.exe (например, TSBpm\Bin\Debug\Terrasoft.Tools.WorkspaceConsole.exe)--operation=LoadPackagesToFileSystem --workspaceName=Default --webApplicationPath="[путь]\Terrasoft.WebApp" (например, TSBpm\Src\Lib\Terrasoft.WebApp.Loader\Terrasoft.WebApp)

 

LoadPackagesToDB [путь]\Terrasoft.Tools.WorkspaceConsole.exe--operation=LoadPackagesToDB --workspaceName=Default --webApplicationPath="[путь]\Terrasoft.WebApp"[v][v]



Примечание. Работа с флагом UseStaticFileContent.



При включенном флаге UseStaticFileContent для применения клиентских изменений модулей и объектов необходимо выполнить генерацию контента. Это действие выполняется при компиляции из приложения, а также из WorkspaceConsole.

При компиляции через WorkspaceConsole необходимо включить флаг UseStaticFileContent в app.config консоли.

В связи с тем, что для применения изменений необходимы дополнительные действия, использовать режим работы со статическим контентом НЕЛЬЗЯ при разработке исходных кодов в ФС.

Нравится

Поделиться

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

При работе и выполнении команд WorkspaceConsole.

Возникает ошибка.

Error: Object reference not set to an instance of an object.

Как ее решить?

Нравится

3 комментария

Необходимо проверить настройки подключения в файле Terrasoft.Tools.WorkspaceConsole.exe.config, который находится в той же директории WorkspaceConsole.

•В секции <connectionStrings> укажите параметры подключения, которые используются в файле конфигурации ConnectionStrings.config;

•В секции <db> укажите значение параметра connectionStringName="db".

Если рекомендации не помогут, нужен будет лог запуска консоли, сохраняется в папку WorkspaceConsole\Log 

Мотков Илья,

Аналогичная проблема при запуске команды "Build Workspace" при ведении разработки в файловой системе. 

Лог в папке WorkspaceConsole\Log не создается.

 

Аналогично, проверьте настройки. Без дополнительной информации Вам никто причину не определит.

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

Добрый день, хотел попросить уточнить что именно нужно сделать чтобы, WorkspaceConsole перестал при Update и Build, засорять логами папку Pkg.

https://academy.terrasoft.ru/documents/technic-sdk/7-12/nastroyka-utili…

Сказано что нужно всего то убрать:

  • SharpPlink-x64.svnExe;
  • SharpSvn.dll;
  • SharpSvn-DB44-20-x64.svnDll.

Но он тогда отказывается работать с ошибкой:

Ошибка: Could not load file or assembly 'SharpSvn, Version=1.8009.3299.43, Culture=neutral, PublicKeyToken=d729672594885a28' or one of its dependencies. Operation is not supported. (Exception from HRESULT: 0x80131515)
Ошибка: Could not load file or assembly 'file:///XXX\Terrasoft.WebApp\DesktopBin\WorkspaceConsole\x64\SharpSvn.dll' or one of its dependencies. Operation is not supported. (Exception from HRESULT: 0x80131515)
Работа утилиты закончена.

Если я конечно правильно понял, кто виновен в создании таких папок:

\Terrasoft.WebApp\Terrasoft.Configuration\Pkg\MyPackage\Schemas\ContactPageV2\Logs...

Ранее в 7.10 не было такого

Нравится

1 комментарий

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

На странице SDK указано, что в случае выполнения операций с SVN эти файлы нужно скопировать, но никак не удалять:)

Папка о который вы говорите является файловым контетом, более детально описано по ссылке:

https://academy.terrasoft.ru/documents/technic-sdk/7-12/ispolzovanie-fa…

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

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

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

Эти процессы спокойно перенеслись через SVN на другие дев стенды и на QAS - и там начали работать по расписанию.

Но, когда перенесли наш пакет с помощью WorkspacecConsole, то на целевой среде они не запускаются по расписанию. Стартовые сигналы в таблице SysStartTimerInProcess появились, но триггеров в QRTZ_TRIGGERS нет.  Запускал вручную - они отлично отрабатывают, но далее по расписнию все равно не работают (триггеров по-прежнему нет).

В процессе установлена галка Повторять при пропуске.

Еще такой момент: на целевой среде, куда переносим пакет с помощью WsC - SalsesEnterprise, а на девах и QAS какая-то более сложна сборка с маркетингом и  сервисом. Версия везде 7.11.3.1175

 

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

Прикрепленные файлы

Нравится

2 комментария

Добрый день, Андрей!

При установке пакета через WorkspaceConsole необходимо перезапустить пул приложения и очистить Redis, для того что бы подтянулись изменения. 

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

Tsopa,

Добрый день. Что сделал:

  1. Выключил пул приложений
  2. Установил пакет с помощью WorkspaceConsole
  3. Почистил redis
  4. Включил пул 
  5. Убедился, что в QRTZ_TRIGGERS триггеров нет
  6. Залогинился и сделал Генерировать исходные коды для всех
  7. Сделал компилировать все
  8. После этого в QRTZ_TRIGGERS появились нужные трриггеры
Показать все комментарии