Hey, Chris McDonough wrote: [snip a lot of places where these interfaces are used] I'm sure these interfaces are used all over the place as they're used to help implement widgets; we can't just remove them from their original location, but...
It's also apparently documented in Phillip's book. So... what? Errrr... I dunno. The interfaces are:
from zope.app.form.interfaces import IInputWidget, IDisplayWidget from zope.app.form.interfaces import InputErrors, WidgetInputError from zope.app.form.browser.interfaces import IWidgetImportErrorView
Any thoughts?
What would happen if we moved them to zope.formlib and left backwards compatibility imports in place in zope.app.formlib? I think it makes sense for zope.formlib to specify its widget interfaces, and zope.app.form to implement a bunch of those widgets. We can also consider (possibly as a separate later step) moving at least some widget implementations themselves into zope.formlib and just leave the old ZCML form stuff behind in zope.app.form (and a lot of backward compat code). We should only move those things into zope.formlib that don't increase its dependencies though, so we can't move everything. Regards, Martijn