[Zope-dev] zope.app.form and zope.formlib
Martijn Faassen
faassen at startifact.com
Wed Dec 30 13:06:12 EST 2009
Hi there,
I've been trying to clean up the zope.formlib/zope.app.form situation.
This is a report about my lack of progress so far, just so I have
something to show for it. :)
zope.app.form is in practice in use as a widget library for
zope.formlib. It however also contains code that supports the original
Zope 3 form system (using ZCML directives).
My first response was to try to move zope.app.form's widgets into
zope.formlib. zope.app.form can then depend on zope.formlib for its
widgets (for backwards compatibility), and zope.formlib would stop
depending on zope.app.form. We can leave the old Zope 3 form system behind.
I started to try this but was daunted by having to port a huge amount of
code from zope.app.form to zope.formlib, including test code.
Instead, I tried to create a zope.formlibwidget which which would
contain only the widgets of zope.app.form. zope.app.form would then
depend on it for backwards compatibility, and zope.formlib would only
need to depend on zope.formlibwidget.
Unfortunately this bounced off the fact that zope.app.form's functional
widget tests (there are many, we want to retain them) depend on the old
Zope 3 form support in order to do their tests. The old Zope 3 form
support I was trying to get rid of in the first place.
To do sane functional tests I need a form library. I can't use
zope.formlib in zope.formlibwidget as that would create a circular
dependency (at least for tests, but that's ugly enough).
So my conclusion is to move zope.app.form's widget stuff into
zope.formlib, so that the functional tests can be ported to use
zope.formlib instead of the old Zope 3 form system.
So I'm back to my original approach again...
Regards,
Martijn
More information about the Zope-Dev
mailing list