This series won’t be a tutorial for how things are done in WEBCON BPS but how these are done right. If you are unfamiliar with WEBCON BPS, you should do the following, before continuing with part 3:
- Watch some of the tutorial videos
- Create one workflow on your own. If you need help just contact me either via the comments or LinkedIn
If you are wondering how you could create a workflow on your own, here’s an overview of the options you have.
Once you have a little experience, you are welcome to come back and read on. :)
If you are familiar whit WEBCON BPS, what could be in it for you reading through this? Because here you find more than just a “how-to” instruction. In this blog I am sharing deep insights into the process of building business applications with WEBCON BPS: I’m providing tips & tricks by creating a process from scratch and explaining why I did it in a particular way. The main reason I’m doing things in a certain way is influenced by the fact that I have a professional developer background. I’m looking out for maintainability, transparency and traceability. The only sure thing is, that everything changes. This applies even more to processes, so slight changes in the beginning will help to prevent mistakes in the future.
We recently had the situation that an employee’s user account had been deactivated overnight. Of course, the user was involved in processes and had some open tasks. This gave us some headache because WEBCON BPS doesn’t allow to assign new tasks to deactivated users. Which how you want a solution to work, but in this situation was unfortunate for us. We had to do some housekeeping, which means that we had to delegate the tasks, and verify in which processes he was involved and may receive a task because of this. We were lucky, there weren’t many, but we realized that we would need a better way for this.
We needed an option to get the following information for a given person.
- Get all workflows with active tasks.
- Get all workflows in which he is involved, read is assigned to a user field.
- Get all workflows in which he may be indirectly involved. This means, that he is a member of a group which was assigned to a user field.
We only need this information for active workflows, finished workflow won’t fail because a user is no longer available.
What should we do, once we know which workflows may cause an error? We need to verify which role he has in each process and who can replace him. Who could do this, who knows the process well enough to decide on this? This should be the supervisor of a application.
If all supervisors report that the same person can replace him, this is fine. In this case we can use the
Administration Tools\Permission migration tool to change all tasks, so we only need to manually clean up the fields. Otherwise, the tasks need to be delegated manually too.
If you are wondering why this should be done manually instead of a search & replace on database level than there’s a simple reason for this. One big benefit of WEBCON BPS is that every change to a workflow gets logged. Doing a search & replace on database level would circumvent this and this is a no go.
What are the requirements:
- We need to fetch those workflows where a certain person is involved in, based on the requirements named above.
- We need to get the application of these workflows to get the supervisor.
- We need to inform all supervisor about the identified workflows.
- The supervisors need an option to track which workflows they already changed.
The requirements one and two will be handled by a parent process while three and four will be fulfilled with a sub workflow.
- Introduction and Use Case
- Parent Workflow- Prototype implementation using the Designer Desk
- Parent Workflow - Prototype changes and task retrieval
- Parent Workflow - Identify workflows by selected user
- Parent Workflow - Getting translations & supervisor
- Sub Workflow - User assignment task
- Parent Workflow - Starting sub workflows & monitoring column
You can download the application from here.