[Zope3-dev] new ZC form machinery snapshot available on public repo.

Jim Fulton jim at zope.com
Thu May 19 16:48:56 EDT 2005


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 at zope.org
> Unsub: http://mail.zope.org/mailman/options/zope3-dev/jim%40zope.com
> 


-- 
Jim Fulton           mailto:jim at zope.com       Python Powered!
CTO                  (540) 361-1714            http://www.python.org
Zope Corporation     http://www.zope.com       http://www.zope.org


More information about the Zope3-dev mailing list