WELCOME TO THE COMMUNITY
find what you are looking for or ask a new question
Home > Forum > Latest posts

latest posts

Hello,

I have created a technical process in which I have defined a typed source - leave history and leave types. This source collects absence information from many other processes. Unfortunately, the Gantt chart shows only part of this data, even though the SQL query returns all of it (currently 3715 records for approximately 80 employees). I added a Gantt chart in the BPS Portal and limit it to the current month and one month back and one month forward. Why isn't Gannt showing all the data? Does Gantt have any limitations in this regard?

My BPS version: 2023.1.3.76

Regards
D.

MVP
In reply to: Klaus Seidler

Hi Daniel,

thanks a lot for the quick reply!

That looks rather easy (I have to admit I'm still working on understanding it) ;-)

Would it be possible to store the files (if I run directly from the SQL Management Studio) to a file share e.g. C:\Temp\ ?

Kind regards,
Klaus

Hi Klaus,

if you want to store them on a hard drive, you could use a PowerShell action.

https://docs.webcon.com/docs/2023R3/Studio/Action/Integration/Action_PSExecutor#3-powershell-script


You have two options here:
1. Pass the base64 value as a variable and convert it a file

2. Pass the instance id and access the database directly
When I'm using a PowerShell action I'm creating it externally and like to pass the whole script into the action. This includes the variable values I use for testing.
Storing a base64 value in an action did work but caused long waiting times opening/storing the action. Therefore, it may be an option to directly access the database depending on your situation.
Im using the AutoSaveIntervall to verify whether the script is executed from the ISE:
https://daniels-notes.de/posts/2021/deploying-assemblies#script-development

You can take over a large part of this script for the first option.
https://github.com/Daniel-Krueger/webcon_artifactDeployment/blob/main/2021.1.3.205/RemoteDeployment_fromBPS.ps1

Best regards,
Daniel

MVP

HI Klaus,

according this post you could convert the base64 encoding to binary using SQL:

https://stackoverflow.com/questions/25897140/converting-from-base64-string-to-varbinarymax-in-sql-server
SELECT
Id,
AttachmentBase64, --the base64 value we want converted to varbinary
CAST(AttachmentBase64 AS xml).value('xs:base64Binary(.)', 'varbinary(max)') AS AttachmentBinary
FROM Attachments

In combination with the "special" feature of the add attachment action, you could add the picture as an attachment in the same instance.
SELECT convert(image,'0x') AS Content, 'file1.txt' AS FileName
https://docs.webcon.com/docs/2023R3/Studio/Action/Attachments/Action_AddAttachment


If you need to copy it to another attachment, I would opt for the API approach:

https://daniels-notes.de/posts/2023/copy-attachment-to-other-workflow

Best regards,
Daniel

MVP

Hi AndreeLi
I don't have an answer how you could deal with this error other than writing an SDK, but i've an explanation why it happens.

Webcon API is created using Swagger (OpenAPI) specification, so i would assume, that they are also using some kind of library to execute REST API actions.
Based on HTTP specification RFC 7231*
> A payload within a GET request message has no defined semantics;
sending a payload body on a GET request might cause some existing
implementations to reject the request.

GET requests shouldn't have a Body - data should be contained within the path or query part of the url, so properly implemented library shouldn't allow sending body when the verb is GET, and that is exactly what happens.

* https://datatracker.ietf.org/doc/html/rfc7231#section-4.3.1
* https://stackoverflow.com/questions/73443585/why-http-get-with-request-body-in-swagger-node-js-not-working
* https://stackoverflow.com/questions/978061/http-get-with-request-body/38625554#38625554

Hello,

I have an external API: GET https://domain.com/api/employee/GetAll
I have created a process using REST API that get token, then get Employee. (START - FINISH)
GetAll - Retrieve the employees list. The HTTP verb for this method is GET.

When i run the process manually, it works. I have created a global cyclical action that starts my workflow (every day run), but it doesn't work:

Response Code:

Exceptions:
Error occurred : Cannot send a content-body with this verb-type.
System.Exception: Error occurred : Cannot send a content-body with this verb-type.
at WebCon.WorkFlow.BusinessLogic.Actions.Logic.Webservices.REST.ActionRunner.GetNotSerializedResponse(RestLogger log, Boolean expectContinue)
at WebCon.WorkFlow.BusinessLogic.Actions.Logic.Webservices.REST.InvokeRESTWebServiceAction.<FireActionAsync>d__5.MoveNext()



Do you have any ideas why it is happening?
Version 2023.1.2.68


Thanks.

Hi community!


I have to remove all privileges (except the author of the element) on current workflow element for security reasons.

I tried putting the action 'On exit' of the current step, before executing all other actions (assigning tasks, adding certain privileges, ...) on path to next step.

According to an old documentation 'On exit' actions should be executed first and should not be dependent on the path, that was taken.

Unfortunately the action 'Remove privileges' is always postponed and removes all the privileges / tasks which were set on path, which is not the expected behaviour.

Is there any way to execute this certain action before any other actions?


Thanks a lot in advance, Nik