Am Sonntag, 10. Februar 2008 15:09 schrieb Roger Ineichen:
> Hi Christophe
> > Betreff: [Zope3-Users] eggsplosion again
> > But I fear that in a near future we will need to start any
> > interfaces.py with :
> > import zope.schema
> > import foo.schema
> > import bar.schema
> > (...)
> > import mycoolnamespace.schema
> I agree with your point that the implementations are
> found everywhere and that is hard to get the full picture
> of what's available and what's not.
> But I also think a package is not the right place to
> collect widgets or fields etc. Because this will very
> quickly end in unmanagable dependencies.
Well, but where would we put such quite generic stuff such an EMail field? I
don't think it makes much sense to create some "z3c.email" package. And I can
think of numerous generic and simple fields, e.g. for telephone numbers, a
choice for the gender, etc.
What about the following layout:
- z3c.fields: extra fields but no widgets; The code does not depend on extra
packages such as z3c.form etc. This would be a place for the EmailTextLine
field, a Currency field etc. People developing packages would commit their
specific fields to this package and use it from their package.
- z3c.formwidget: widgets for z3c.fields and also alternative widgets for
In this case, I only have to import from z3c.fields and - in case I'd like to
override widgets - register widgets for fields from z3c.formwidget.
Another advantage would be that we could provide skeletons (interfaces,
classes, tests etc.) in these packages that show people how to implement
their own fields/widgets in a good style.
GPG key ID: 299893C7 (on keyservers)
FP: 0124 2584 8809 EF2A DBF9 4902 64B4 D16B 2998 93C7
Zope3-users mailing list