I should give a little bit of philosophical background.

We found that we often needed to create forms that were more complicated
than simple edit, add or display forms.  We also often needed to
derive forms from other forms. Our initial stab at this was a sophisticated
ZCML directive that provided much finder-grained form control and a system
of inheritence between separate form directives.  This proved a bit unweildy
over time.

We eventually realized that Python was pretty good at modeling inheritence
and ZCML is not. :) Nor should it be.

In parallel, we noted that ZCML was meant for *configuration* not
*implementation*, but the form directives in ZCML actually represent
implementation.  (Note that there is a similar problem with the page
directive, which often is used to create a new view implementation
my mixing a class with a template.)

We want to implement in Python, not ZCML.  This, in summary, is the genesis
of the zc,page package.

I'll note that this is not the end-all form (or page) system.  It is
desired soley to make developing UIs from the file system much easier.
This has been pretty successful for us.

It was not a goal of this effort to support through-the-web- (or XML-)
based form or content-type definition.


Gary Poster wrote:
Hi all. As part of its current Zope 3-based client engagement, Zope Corporation has been developing a number of packages that we plan to release as open source once we feel they are "cooked".

One that seems to have sparked special interest is our new variation of much of the zope.app.form code. At ZC, we now use "zc.page" (a package that should become something like "zope.page" in the future) exclusively over the zope.app.form code to create forms (although note we still use the widgets in zope.app.form.browser, and zc.page does not include any widget code). We like it, and find it to be a significant improvement over zope.app.form. While the package seems to be settling down now, it is still cooking: we're making changes as we need them, without worrying about breaking anyone else.

We're still making it available publicly today, though, as a "sandbox" checkout of a snapshot from our internal repositories. If you are interested, please feel free to check out the zc sandbox:


Note the README.txt in zc which gives an overview of the zc sandbox and the page package in particular. The zc.page package contains the usual doctests to try and explain the package.

Comments welcome. And, contributors, feel free to make your own sandbox for projects similarly "in progress" but hopefully on their way to the main zope project tree.

Zope3-dev mailing list
Unsub: http://mail.zope.org/mailman/options/zope3-dev/jim%40zope.com

Jim Fulton           mailto:[EMAIL PROTECTED]       Python Powered!
CTO                  (540) 361-1714            http://www.python.org
Zope Corporation     http://www.zope.com       http://www.zope.org
Zope3-dev mailing list
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com

Reply via email to