[Zope-Checkins] CVS: Zope3/lib/python/Zope/App/Formulator - formulator-meta.zcml:1.1.2.1 formulator.zcml:1.1.2.1

Stephan Richter srichter@cbu.edu
Fri, 1 Mar 2002 02:04:36 -0500


Update of /cvs-repository/Zope3/lib/python/Zope/App/Formulator
In directory cvs.zope.org:/tmp/cvs-serv22190

Added Files:
      Tag: srichter-OFS_Formulator-branch
	formulator-meta.zcml formulator.zcml 
Log Message:
Checkin for new Formualtor layout. Much has changed since the initial
checkin:


- Both classes and instances of fields can be used as factory when creating
  views.


- Field: This object is simply a meta-data container for a piece of 
  information; for content objects these are usually its properties.


  Note: It is planned to have a CompositeField for more complex inputs, 
        such as dates.


- FieldViews are virtual objects; they are basically realized Widgets (or 
  Widgets in context)


- Validator: An object that validates data. Note that this object is 
  totally input/protocol-agnostic. Therefore the old concept of some of the
  Zope 2 Formulator validators is not applicable anymore.


- Widget: This is a generic component that is concerned about the 
  presentation of a field in a particular protocol. A difference to the 
  Zope 2 Formulator version is that the widget is also responsible of
  converting possible input-specific representation to a standard one. This
  is not yet fully implemented though.


- Form: A protocol-specific object that is concerned with the overall 
  representation of a form and its action.


- There is a Validator and Field Registry, since Fields and Validators can
  also be used independent of Formulator's goals. Fields should really 
  become the standard way to provide meta-data for properties.


Todo: (too much)


- I need to write a proper metaConfigure.py.


- Make a CompositeField.


- Create XUL Widgets.


- Clean up files.


- Finishing the conversion to the Zope 3 Formulator model.


=== Added File Zope3/lib/python/Zope/App/Formulator/formulator-meta.zcml ===
<zopeConfigure xmlns='http://namespaces.zope.org/zope'>

  <directives namespace="http://namespaces.zope.org/formulator">

    <directive name="registerField" attributes="name, field"
       handler="Zope.App.Formulator.FieldRegistry.registerField" />

    <directive name="registerValidator" attributes="name, validator"
       handler="Zope.App.Formulator.ValidatorRegistry.registerValidator" />

  </directives>

</zopeConfigure>


=== Added File Zope3/lib/python/Zope/App/Formulator/formulator.zcml ===
<zopeConfigure
   xmlns='http://namespaces.zope.org/zope'
>

<include package="Zope.App.Formulator" file="formulator-meta.zcml" />

<include package="Zope.App.Formulator.Fields" file="fields.zcml" />
<include package="Zope.App.Formulator.Validators" file="validators.zcml" />
<include package="Zope.App.Formulator.Widgets" file="widgets.zcml" />

<adapter factory="Zope.App.Formulator.PropertyFieldAdapter."
         provides="Zope.App.Formulator.IPropertyFieldAdapter."
         for="Zope.App.Formulator.IField." />

</zopeConfigure>