Forum OpenACS Development: Re: Different views of a package at different locations in the site map
I'm kind of spinning my wheels with the breadcrumb as well. One thing I hate is that it is essentially built from the context variable, and you have to make sure every page passes this up.
How much context should a page maintain on its own? How does a page appear in more than one context? Once you make a change to a page title, do you then need to go around and change all the sub-page context variables?
The context is really a little database of information that is inflexable and hard to maintain. I tried moving navigation into a separate data model and it partially works for top down navigation, but what I wanted it to do is to allow what I was calling 'virtual' navigation. A single page should be able to have multiple contexts, and the breadcrumb up should change depending on the context. Also on the way down from the top, you should be able to find a page (which is just a set of functions with inputs) to display what you want.
Another issue is website browse order. This is similar to the paginator app which breaks down the listing of data from a query, but applies to web pages. Some sites will have a chapter like structure, each page being part of a chapter or topic. Once you finish one chapter you need to move on to the next. Something like the tree_sortkey idea might work for this, imposing a site wide order on browsing.
Another issue with navigation is url hacking and 404 responses to missing or moved pages. A centralized navigation system would recognize what the user was looking for and help out with navigation aids. At the same time search bots should be alerted that the information really isn't there anymore by seeing a 404 response.
Jerry, check out my feeble attempt to work with some of these ideas.