This project is read-only.

Why ManagedUIFlow?

In web applications, page flows like the one above are not explicit. Take a webapp built on MVC, for example. To implement a page flow in MVC, most developers build on what the framework provides them: controller actions and views. In this case, a single action is associated with a specific request URL. When a request comes in at that URL, the action is executed. During execution, the action performs some processing and then selects an appropriate result view for display. It’s that simple. So to implement a multi-step page flow in MVC, individual actions are chained together through the various views. Action URLs to process different events like “back” or “submit” are hard-coded into each view. Some form of ad-hoc session storage is used to manage flow state. Redirect after post(PostRedirectGet pattern) is used to prevent duplicate submissions, etc.

Although this is a simple and functional approach, it has a major disadvantage: the overall page flow of the web application is not clear from looking at the actions in Controllers. You can’t see the forest – the flow – from the trees – there are many actions and views. Flexibility also suffers since actions and views cannot be easily reused. Finally, you simply have to do too much work—it should be easier!.

This is where Managed UI Flow for MVC comes in, allowing you to represent the page flow of a web application in a clear and simple way, and reuse it anywhere.

Last edited Apr 17, 2010 at 4:22 AM by yogsbreath, version 1


No comments yet.