I have a fairly long and involved workflow system where I have a Main workflow from which several sub-workflows are called as the process moves along. I only use the Request Data action because it best suits my needs of the available actions in Nintex Workflow 2013 version 3.8.0.
Right now each of my sub-workflow performs some actions that pull a limited set of data from the List Item columns. Once my sub-workflow has all it needs to function, the Request Data action is triggered. As it stands today, my workflow is designed with the logic "to ask for forgiveness" when due dates are reached and escalation of task goes to the team member's manager.
In my constants list, I've defined some specific values for the number of reminders, the number of time units between reminders and the number of time units before the task is to be escalated and I used these predefined values along with the task start date / time to calculate the due date / time to the team member in that initial task notification. Setting values in the Constants, allows me to modify the time frames for actions due dates / times without re-publishing my workflows.
I want to know if during a Request Data action in a workflow running workflow, if there is a suggested best practice when modifying the task due date, which would modify the pre-calculated due date that will trigger the escalation by a number of requested time units.
My idea / thought is to add a button to a Nintex Form 2013 that when clicked by the user would trigger a mini workflow. That mini workflow would display a form from which the team member may request an additional x number of time units. This would then send a message to the team member's manager who may do one of the following:
- Approve the request without altering the requested number of additional time units
- Approve the request but with a modification to the requested number of additional time units and provide feedback for the altered time units allowed
- Reject the request, and provide feedback for the request denial
Then if an approval takes place, I would recalculate the escalation date and over write or store it in a separate list item column where any future Request Data reminders that haven't triggered will now display the new due date and the escalation would be pushed out to the new due date.
Considering the fact that my main workflow has parallel branches, two or more sub-workflows may be running and since a list doesn't allow for two workflows of the same name to run at the same time, I believe I'd need to make multiple copies of the "request more time" workflow.
Is there a better solution to implement the logic of "ask for permission" to get what is needed?