AW: [Zope3-Users] eggsplosion again

Hermann Himmelbauer dusty at qwer.tk
Mon Feb 18 05:51:43 EST 2008


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 
fields.

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.

Best Regards,
Hermann

-- 
hermann at qwer.tk
GPG key ID: 299893C7 (on keyservers)
FP: 0124 2584 8809 EF2A DBF9  4902 64B4 D16B 2998 93C7


More information about the Zope3-users mailing list