[Zope3-dev] Re: Schemas, Fields, and Fieldsets
Gary Poster
gary@modernsongs.com
Mon, 31 Mar 2003 08:40:34 -0500
Jim wrote, about grouping fields in schema:
> I'll note that *one* way we were thinking about approaching this is with
> nested schema. Something like:
>
> class IContact(Interface):
> name = TextLine(...)
> email = TextLine(...)
> phone = TextLine(...)
>
> class IMetaSyntax(Interface):
> foo = ...
> bar = ...
> baz = ...
>
>
> class ISpam(Contact):
> contact = ComponentField(IContact)
> contact = ComponentField(IMetaSyntax)
>
> and have composite widgets generated for component fields.
I'd like to see this in the configuration realm (ZCML etc.) first.
Grouping fields has use cases both in data description and in form
presentation--that is, as a schema and as a form. Forms are currently
configured in ZCML, so ZCML and eventually TTW form configuration are
the other main realms in which this problem could be solved.
IMO:
Grouping fields for a form, via ZCML and eventually TTW, is a must have.
This is a task that must be performable by site producers and designers.
"Producers and designers should be able to control the layout of their
forms" is a core requirement.
Grouping fields within a schema (in this manner) is only a nice-to-have.
* "Information architects should be able to group fields so that
certain fields *must* be grouped together in presentation" puts the
information architect in charge of aspects of usability, design, and
possibly even marketing, which is a poor division of responsibility.
* "Information architects should be able to group fields so that they
are organized by default, but this organization can be overriden by the
site producers and designers" is a nice-to-have. If the site producers
and designers can control this, then that will get the job done.
The kind of schema-within-schema grouping that is more interesting for
an information architect is already handled, I believe.
Gary