I am still looking at the extend Opera use case - Move Reservation. I showed how to display Process task data in the last post. My effort there was very basic - try and fit in all the salient task details in the task name. You can check out the previous post here
So now I want to have the same approach as the OIC Worklist app - namely, a list of tasks with the ability to select a task and see its payload details. Once I've selected the task, I want to be able to add comments and either approve or reject the proposed move.
Essentially, I require the following api calls to OIC Process -
- getTasks
- getTaskPayload
- addCommentToTask
- updateTask
Now let's look at the anatomy of the first page -
Here I have 2 tabs, one for Processes and one for Tasks. Let's look at the Tasks tab - the table shows my MoveReservation tasks, via -
and then select the relevant task fields.
Notice the button - View Task Details - this will retrieve the task payload from OIC process for the currently selected task. It will display the payload and allow the user to approve or reject the request. The user will also have the ability to add comment to the task.
So essentially this page will require the 3 other api calls - getTaskPayload, updateTask and addCommentToTask. I have decided to create 3 service connections for these -
The highlighted one is for getting the task payload, as you can see, I did not change the default name; I did for the other 2.
Starting point was the OIC REST api docs - available here
I checked out the Task apis and found -
I used this to create the VB service connection - final step was to test the connection -
Note, the default format returned is xml -
I get the json format by adding the header -
I do the same in Visual Builder -
I then create a type for this specific MoveReservation payload response -
I also create the other 2 service connections based on the following OIC Process apis -
The REST api docs are comprehensive and include payload examples which one can use when testing the service connections in VB.
To approve a task -
{
"action":{"id":"APPROVE"}
}
No comments:
Post a Comment