Stephan Richter a écrit :
On Friday 08 February 2008, Hermann Himmelbauer wrote:
Right, that seems to be a perfect solution. Btw., it seems that there are
quite some generic widget/field-patterns that a lot of people are needing -
such as the PasswordConfirmationWidget. Or, in my case I need a
special "Email" field, that inherits from TextLine and may also have some
specific widget.

Why would you need a special widget for E-mail? You need a special field and maybe a special validator, if your field does not provide a sufficient validate() method.

Actually for all these generic patterns, it would be nice to have some ready-to-use schema fields such as IEmailTextLine, for which a specific set of converter/validator/widget is already registered.

(Searching while writing, I just found at least zw.schema (color field), ks.schema, and others hidden in specific packages like z3c.currency)

But I fear that in a near future we will need to start any with :
import zope.schema
import foo.schema
import bar.schema
import mycoolnamespace.schema

And any with the same million of imports. In the worst case there will be one package/egg per widget. It may be more and more difficult in the future to find in which package is located a specific feature.

I see that there are different ways to split features into eggs. This can be done by separating widget / widgets with javascript / schema fields / templates / converter / validators, or by separating by features : for example, z3c.currency is dedicated to currency support and includes both the field and the converter (but no widget).

When I first discovered and installed z3c.form, it took me a while to understand why I (optionnally) had to install z3c.formui (is there no 'ui' in z3c.form ?), and why there was another package with javascript (formjs), and now there will be a package with widgets (formwidget, so why are there widgets in z3c.form?).

This is not a complaint, this is not specific to z3c.form, and I don't have a real proposal, but I'm just wondering how this will evolve, and how newcomers will deal with this eggsplosion.


So I'd suggest to open some repository, e.g. "z3c.formwidgets" where people
can contribute their fields/widgets so that they can be reused by others.
Moreover, this would also be a good entry point for people developing new

+1. Let's call it "z3c.formwidget" (singular).


Zope3-users mailing list

Reply via email to