[Zope] browser window as canvas for configurable objects?

Bob Sidebotham bob_sidebotham@yahoo.com
Tue, 2 Jan 2001 17:15:37 -0800 (PST)


I'm new to zope, so maybe these questions are naive.

I have several objects that I want to display on my browser screen
simultaneously. Each object lives in its own zope directory, and I can
trivially include them in a bigger canvas using a table and dtml-with
and dtml-var. So far so good.

Each of the sub objects can put up its own links for configuration,
etc. Some of the sub objects might be pageable (e.g. have links to next
10 items, previous 10), or they might be configurable (you could go to
a screen to establish filtering parameters for that object).

What I'm looking for is the simplest possible effective way to manage
these links so that after the customization operation or the next page
oeration, or whatever is handled, the original page is displayed (and
of course any affected objects are updated). In some cases there may be
a side-excursion made before the page is re-displayed (e.g. for "next
10 items", there is no side excursion), for "update filtering
parameters" or update object, a separate form will be brought up).

I should mention that the same objects may appear in the same or
different forms on different pages, i.e. there isn't just one main
page.

Some alternatives I can see are:

1. Use javascript, and do a history.go(-1) or -2, as the case may be to
go back to the original page. Disadvantage: requires an extra
round-trip, probably would have to make sure page wasn't cached, may
break user's model of how navigation works (if he made a mistake in the
configuration, he'd have to go forward, rather than backward, to
retrieve the configuration form, for example).

2. Use a pop-up window. Redraw the original when done. Advantage: by
labelling the main window "main" or whatever, it's easy for unrelated
objects to "return" to the main application by (1) causing "main" to
reload and (2) deleting their own window.

3. Use frames. Seems overly complex. But maybe this is just a general
aversion to hacking to much html.

4. Use existing zope infrastructure to finesse this. I'm not sure how
to do this--my main confusion centers around how much state to I have
to preserve (and where?) to re-create exactly the same request that I
had at a previous level--in a totally generic fashion.

5. Build some sort of Product that represents this model directly. This
seems the most promising, if not the easiest. Can someone point me to
any prior art on this, or offer any suggestions?

It seems to me that since zope is supposed to be about "object
publishing", then this application should (ideally) be dead-easy. But
at the moment I'm scratching my head.

Any help would be greatly appreciated.

Thanks!

P.S. Does anyone else think this facility would be useful?

Bob Sidebotham
bob_sidebotham@yahoo.com


__________________________________________________
Do You Yahoo!?
Yahoo! Photos - Share your holiday photos online!
http://photos.yahoo.com/