|
|
/ Hathaway Weblog / Idea: Zope Folder Sidebar |
I think it would be cool to have a browser sidebar that navigates the folder structure on a Zope server. Here's why.
The Zope management interface, both in Zope 2 and Zope 3, displays a tree of objects for navigating the folder structure. Unfortunately, the tree has always had usability problems, because browser windows aren't designed to display trees. Some of the problems:
- When you open a branch by clicking the plus sign, the tree refreshes and loses its scroll position. If the item you're looking for is buried under several levels, you have to scroll the tree repeatedly.
- Zope 2 uses frames to solve the tree problem, but frames break the simple page model of the web. The browser URL bar no longer matches the page, "target" attributes play tricks if you open multiple windows or tabs, the "back" button behaves somewhat erratically, etc. Top-level frames are nasty.
- Clever solutions to these problems (like XML-RPC) tend to expose browser bugs. Only current versions of Firefox and Mozilla seem to display the Zope 3 navigation widget correctly, and even then, the tree frequently collapses on its own.
I think I understand the real source of all this difficulty: the user wants to see two contexts at the same time, with only minimal interaction between the two contexts. One context (the main page) displays an object; the other context (the tree widget) provides quick access to objects that are not necessarily related. However, browser windows are designed to display only one context at a time.
A sidebar could get around all these limitations. Sidebars operate outside the main browser window, but have the opportunity to interact with the main window. A sidebar fits the requirements perfectly, with only one exception: the sidebar would have to be adapted for each kind of browser. I wonder how difficult that would be. At least it's possible to address most of the target audience with a Firefox-specific sidebar.
Comments
Aren't sidebars just web pages? I never really tried them, but I got the impression there isn't really much to them. Eh, what do I know; I've only ever learned how to turn them off.
For the collapsable tree, there's lots of Javascript solutions which work well.
