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.
Jim
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:
svn.zope.org/repos/main/Sandbox/zc
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.
Gary _______________________________________________ Zope3-dev mailing list Zope3-dev@zope.org 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 Zope3-dev@zope.org Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com