Recursion In Libraries - "Invocation Cycles" Error

Just responding here to say that I would like to be able to carry out recursive calls in libraries. As well as to be able to have isolated processes / workflows in libraries as well.

1 Like

Also replying to support allowing Invocation Cycles in Libraries. Having them present in libraries should be a warning to developers and not a hard stop Error, or a modal pop up. Recursion is a useful and powerful pattern when used properly.

1 Like

Why is recursion not allowed? Just allow recursion and throw an error if the stack depth gets “too deep”, like any other normal software.

3 Likes

Dear Sir , any update on this . Still in orchestrator ,we are unable to use the recursive methodology.

2 Likes

I have one example situation. From an API call I can receive all kinds of json results. I want to convert the results into an array of dictionary.

Example JSON:
{
“results”: [
{
“archived”: false,
“number”: “1234”,
“modificationDate”: “2023-11-23T09:25:28+01:00”,
“changeType”: “extensive”,
“simple”: null,
“id”: “abcr123429387414”,
“creationDate”: “2023-11-22T12:31:24+01:00”,
“briefDescription”: "Description,
“status”: null,
“simple”: {
“plannedImplementationDate”: null,
“implementationDate”: null,
“closedDate”: null,
“assignee”: {
“groupName”: null,
“groupId”: null,
“name”: “”,
“id”: null,
“type”: “operator”
}
},
“attachments”: [
{
“name”: “Att1”,
“link”: “http:linkA”
},
{
“name”: “Att2”,
“link”: “http:linkB”
}
]
],
“next”: “https://NextLink
}

My result is a dictionary with one key and the value:
Key: results(0).id = “1234”
Key: results(0).attachments(1).Name = “Att2”

To get this result I check if the outer value is a dictionary or an array.

I have two workflows, One for extracting the data of an Json-array and the other for extracting the data of a Json-dictionary.

Each workflow can call a nested Json-Dictionary or Json-Array workflow. When the result is a value it is added with the total key into the dictionary.

Any update on this? Seems like we’re beating a dead horse on this one… I honestly don’t understand why some topics take ages to get some attention, let alone to be implemented, while a lot of effort is being thrown at less relevant things such as Studio’s UI (for example). Ok, nice, we got new buttons…

The idea is that is not even “blocked” as a whole. It works in a regular project, but not in library projects.