I have a client who's interested in utilizing Windows Workflow Foundation (WF) technology in a web-driven application. I'm a .NET developer, but I have no experience with either WF or SharePoint workflows. Most of what the client wants to do seems to be straight-forward except that they want the ability for end users to be able to create/edit their own custom workflows. In my brief research into WF, it doesn't seem like this is how things are done typically. Is it feasible to allow users to create workflows themselves, or should this really be a custom ASP.NET MVC application, or maybe a SharePoint application?
Having users be able to change workflows is supposed to be one of the stron points of WF. However with WF 3 the whole model is geared very much to code generation and not markup so it is hard to do. Not impossible as you can use pure markup workflows but it is hard.
With WF 4 the story is supposed to be much better as all workflows are pure markup and there is no code involved at all. All code is in predefined activities, which are compiled, and the user can change the workflows as needed. Also the WF designer is much easier to rehost in your own application.
PS SharePoint workflows are WF 3 workflows, even in the new SharePoint version, and WF 4 is a completely new product that shares no code whatsoever.