Forum OpenACS Development: At times, neither, it might "just" reflect the "state" of the web application

The history/back button shows me my path (to a certain lousy extent). The URL shows where I am in the site map.

I believe the bread crumb shows the state of my web application, and indicates legal (and meaningful) transitions out of that state.

For example, your visitor is in the e-commerce check-out pipeline (something like check addresses, present billing options, accept payment, verify payment, thank user...). In that pipeline you don't want to let the user take just any link away, in part because you want the user to come back and complete the purchase, in part because you want to provide guidance to the user on which steps comes next, and in part because some of those links away might wreck the state of the application (due to information being lost that wasn't incorporated in your link's exported query vars.)

In fact, I took care in the ACS 4 ecommerce port to strip all extraneous links out of the payment pipeline. And I built a special navbar that show the legal and reasonable actions so that a user could present credit card info, and still back up to change address and move forward once more.

Another viewpoint: when the context bar is rooted at /, I understand that in terms of the site map and the URL. When the context bar is rooted at my workspace, I often get confused, and think that what's "down" from my workspace are web applications that have somehow been personalized for me. It's confusing to see my-workspace : generic bboard or stuff like that.

Suggestion: when the user is navigating within a stateful web application, then the context bar should be built to reflect the meaningful states within that web application, regardless of URL or site-map.