Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

User Defined Dynamic Workflows in Workflow Foundation 4?

I have been, exhaustively, looking at examples of WF4 and am not sure it will work for my project. I need to be convinced otherwise. I am struggling with how we would implement a system to use WF4 so users have the ability to define workflows. It seems you need VS2010 experience to design and implement a WF4 workflow. I love wheat it can offer, but feel it may be too complicated for non techical users.

Do we just define a ton of custom activies that a user can move into a workflow? How can we make it as easy as possible for a user to build the workflow?

We have and application that we want to allow, Joe / Jane user to create their own workflows for specific items. For example, Request For Information items. The RFI has specific states it can be in that are defined by the user. They should be allowed to control the flow based on those states. There will be some base items that the application defines as to what will happen based on a decision / condition. So, things like notifications (who gets notified when something changes), time frames (how long something can stay in a certain state before something else happens), and possibly some other conditions. The conditions / decision types will be limited by the application, for now. But imagine they can build the workflow and add those decisions / conditions in without any coding knowledge.

I just don’t know how we can leverage WF4 in this way. Maybe I am looking at WF4 the wrong way?

like image 557
DDiVita Avatar asked Mar 29 '11 16:03

DDiVita


1 Answers

WF4 is capable of handling the workflows, but you need a simplified workflow editor to make the creation/modification of workflows available to end users. This is possible with WF4.

If end-user definition and management of workflows is a requirement of your application then I believe WF4 can be made to work in your case. It is possible to programmatically create and modify WF4 workflows before they are executed.

The best overall design might be a "workflow template" model where predefined workflows are provided by developers and expert users, then customized by end-users. Users could configure "skeleton" workflows selected from a library of predefined templates. This could get fairly complicated depending on your requirements.

On a side-note: the WF4 workflow designer is "hostable" in a Windows Forms/WPF application. Expert users can define new workflows without having to use Visual Studio.

like image 127
Dave Swersky Avatar answered Sep 21 '22 12:09

Dave Swersky