[Zope-Checkins] CVS: Zope3/lib/python/Zope/App/Formulator/Fields - fields.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/Fields
In directory cvs.zope.org:/tmp/cvs-serv22190/Fields

Added Files:
      Tag: srichter-OFS_Formulator-branch
	fields.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/Fields/fields.zcml ===
<zopeConfigure
   xmlns='http://namespaces.zope.org/zope'
   xmlns:formulator='http://namespaces.zope.org/formulator'
   xmlns:security='http://namespaces.zope.org/security'
>

  <!-- formulator:registerField name="DateTimeField"
    field="Zope.App.Formulator.Fields.Generic.DateTimeField." / -->

  <formulator:registerField name="EmailField"
    field="Zope.App.Formulator.Fields.Generic.EmailField." />

  <formulator:registerField name="FileField"
    field="Zope.App.Formulator.Fields.Generic.FileField." />

  <formulator:registerField name="FloatField"
    field="Zope.App.Formulator.Fields.Generic.FloatField." />

  <formulator:registerField name="IntegerField"
    field="Zope.App.Formulator.Fields.Generic.IntegerField." />

  <security:protectClass 
    name="Zope.App.Formulator.Fields.Generic.IntegerField."
    permission_id="Zope.ManageContent" 
    methods="getValue" />


  <formulator:registerField name="ListField"
    field="Zope.App.Formulator.Fields.Generic.ListField." />

  <formulator:registerField name="PasswordField"
    field="Zope.App.Formulator.Fields.Generic.PasswordField." />

  <formulator:registerField name="PatternField"
    field="Zope.App.Formulator.Fields.Generic.PatternField." />

  <formulator:registerField name="StringField"
    field="Zope.App.Formulator.Fields.Generic.StringField." />

</zopeConfigure>