[Zope3-dev] Page Designs merged into ZopeTop

Shane Hathaway shane@zope.com
Thu, 21 Nov 2002 10:10:30 -0500


Yesterday I integrated the latest work on Page Designs into ZopeTop!

If you have Mozilla or a recent Internet Explorer, ZopeTop now lets you 
move the boxes in the left and right columns by dragging them to the 
separators between the boxes.  ZopeTop also lets you right-click on 
boxes to add or remove boxes, and you can select and drag several boxes 
at once by shift-clicking.

It doesn't retain the box positions between requests yet since that will 
require the "user preferences" infrastructure in Zope 3, and the design 
isn't beautiful (having columns on both the left and right could be too 
heavy), but at least it illustrates the kind of modularity we should 
plan to have in the Zope 3 UI.  The Zope 3 UI is targeted for a specific 
audience, but with modularity it can be easily re-targeted for many more 
audiences.  And it can even be customized for specific tasks.

Note also that a UI like this can be made to work in older browsers. 
Users of older browsers would see the boxes but wouldn't be able to move 
them without visiting the preferences screen.  This is perfectly acceptable.

My second objective in doing this is to release "pdlib.js" publically. 
"pdlib.js", which evolved out of the Page Designs project, is a 
Javascript library that lets you implement custom context menus, 
multiple object selection, and drag and drop on DOM 2 compliant 
browsers.  It's currently only 500 lines (many of which are comments). 
I'd like people to try it out by playing with ZopeTop, give feedback, 
and integrate it into their own projects (hopefully without changing 
pdlib.js itself).

I started writing documentation on the library, but it's hard to know 
what to write until someone else has used the library.  I need some 
guinea pigs. :-)  This should be of special interest to the formulator 
group: imagine designing forms by dragging widgets around, without ever 
leaving your browser.  Oh boy, that would be SPIFFY!  The gnarly 
Javascript you'd need is ready to use.

So check it out and tell us what you think.

Shane