Four Kitchens blog: May, 2006

Dumping pure MVC for task flows

 

I’ve talked a lot about task flows on web sites but not much about how I’d implement them. Here’s a brain dump.

Here’s how I’d structure the human side of URLs:
http://example.com/verb_that_maps_to_task/options

This would generate the task flow, associate it with the user in the database, determine how the user can accomplish the task (if security allows it), and send the user to the first necessary step of the task. The new task would have a unique ID in the database, and the site would forward the user to a URL constructed for that task:

How sessions and variable passing fail

 

Another common problem in web development is session management. Basically, web programmers have two choices, use global sessions or precariously pass variables between forms and links. Both have serious problems:

Superscalar Task Management: A Different Approach to User Routing

 
Users and programmers don’t think in terms of means; they think in terms of goals. No one cares that they have to open Thunderbird, click Address Book, and then search to find a phone number. They just want to find a phone number. So, why are we programming and using web sites any other way? Right now, as programmers, we have to manually route users around a site.

Contact Four Kitchens

Download Pressflow

Pressflow makes Drupal scale