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
--
[EMAIL PROTECTED]
GPG key ID: 299893C7 (on keyservers)
FP: 0124 2584 8809 EF2A DBF9 4902 64B4 D16B 2998 93C7
___
Zope3-users mailing list
Zope3-users@zope.org
http://mail.zope.org/mailman/listinfo/zope3-users