Evan Simpson wrote:
Just the other day, I hacked up an implementation of transient ZMI bookmarks. It puts an icon next to an object's breadcrumb path that stuffs the path into a session variable, then uses javascript to reload the menu pane. If there are any bookmarks in the session variable, they are listed below the folder tree in the menu pane as links to manage_workspace of that path.
So, you click on the little add-a-bookmark icon and a bookmark appears under the folder tree. I showed it to my designer/wife, and she loved it. Then I explained that the bookmarks are kept in a session, so they go *poof* when you restart Zope or your browser. She said "so, make them permanent".
Easier said than done, of course. As soon as I started down that path, I got analysis paralysis thinking about bookmark sets, user properties, special bookmark containers, etc, etc.
Now, I'm hoping that someone on the list has a clever idea for making these bookmarks persist, in a usefully Zopish way, that doesn't involve dragging in whole other frameworks (i.e. a third-party User Folder implementation). Any thoughts?
Cheers,
Evan @ 4-am
Ok, you will have thought of this, but anyway. Why don't you just make the cookie permanent? I.e., don't use sessions and store the whole information in permanent cookies. IIRC, cookies can store at least 4k in size and you can use at least 20 cookies per domain (this is from a rfc about about http state management), so this should be enough. This wouldn't cover the case of users changing browsers, but that also doesn't work today with the row and column prefs (dtpref_rows). Oh, I got an idea. Just add somethink like a bookmark manager, with the possibility to import/export bookmarks, analogous to the ZMI's import/export functionality with .zexp files. Importing this file would cause zope to resend the cookies, making it possible to transfer the whole bunch to other browsers. Btw, I think the idea of bookmarks is quite sweet, although mozillas capability to store groups of tabs into one bookmark is also a nice feature. cheers, oliver