Branimir mentioned a usability study he'd seen on OpenACS, where one of the main problems found was the lack of confirmation on your actions. For example, when you've created a new object, you're just thrown back to a page with a long list of objects, where your object is just one of them.
We came up with the solution of showing a message in yellow somewhere along the top of the page saying "Your message "Foobar" has been posted.".
To see what it looks like, visit Collaboraid's developer blog (can't post images here).
We also came up with a simple design for how to implement this, which is simply to store the message server-side and request, then clear it, on the receiving page. There's no DB hit involved.
(I'm not sure whether it works on clusters. So long as the load-balancer makes you go to the same web server each time, we should be fine. The worst that can happen is that you don't get the confirmation, which is what we have today.)
In practice, you say this:
ad_returnredirect -message "Your message \"$title\" has ben posted." $return_url
The display is automatically handled by the site-master template, so you don't need to do anything else at all.
(While we were at it, I also added a -abort
switch to ad_returnredirect
, so you don't have to call ad_script_abort
.)
Also, you can put multiple messages using util_user_message
, and you can also use HTML in your message if you set the -html
flag.
Let me know if this is a useful feature, or you want it removed before the release.