<?xml version="1.0" encoding="UTF-8" ?>
<rdf:RDF xmlns="http://usefulinc.com/ns/doap#" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><Project><name>plone.app.registry</name>
<shortdesc>Zope 2 and PLlone  integration for plone.registry</shortdesc>
<description>Introduction
============

This package provides Plone UI integration for plone.registry. Specifically,
it:

  * creates a version of the Registry class that will show up in the ZMI
  * installs this to the site root and registers it as a local utility
    providing IRegistry.
  * registers a GenericSetup handler for `registry.xml` to create new records
    or change values
  * provides a GUI to modify the settings registry through the web
  
GenericSetup format
-------------------

The `registry.xml` GenericSetup format looks like this::

  &lt;registry&gt;
  
    &lt;records interface="plone.registry.tests.ITestSchema1" /&gt;
    
    &lt;records interface="plone.registry.tests.ITestSchema2"&gt;
        &lt;omit&gt;field1&lt;/omit&gt;
    &lt;/records&gt;
    
    &lt;record name="plone.app.registry.tests.dummy1"&gt;
        &lt;field type="plone.registry.field.TextLine"&gt;
            &lt;title&gt;Dummy one&lt;/title&gt;
        &lt;/field&gt;
        &lt;value&gt;New value&lt;/value&gt;
    &lt;/record&gt;
    
    &lt;record interface="plone.registry.tests.ITestSchema3" field="test1"&gt;
        &lt;value&gt;Some value&lt;/value&gt;
    &lt;/record&gt;
    
    &lt;record name="plone.app.registry.tests.dummy3"&gt;
        &lt;value&gt;Another value&lt;/value&gt;
    &lt;/record&gt;
    
    &lt;record name="plone.app.registry.tests.listelement"&gt;
        &lt;value&gt;
            &lt;element&gt;One&lt;/element&gt;
            &lt;element&gt;Two&lt;/element&gt;
        &lt;/value&gt;
    &lt;/record&gt;

    &lt;record name="plone.app.registry.tests.dictelement"&gt;
        &lt;value purge="false"&gt;
            &lt;element key="1"&gt;One&lt;/element&gt;
            &lt;element key="2"&gt;Two&lt;/element&gt;
        &lt;/value&gt;
    &lt;/record&gt;    

    &lt;record name="plone.app.registry.tests.dummy4" delete="true" /&gt;
    
  &lt;/registry&gt;
  
In brief:
    
  * The root element is &lt;registry /&gt;, containing zero or more &lt;record /&gt;
    elements and zero or more &lt;records /&gt; elements.
  * A &lt;record /&gt; element will usually have a `name` attribute.
  * A &lt;record /&gt; element may instead have an `interface` and a `field`
    attribute. If so, the name is `${interface}.${field}`.
  * A &lt;record /&gt; element may have a &lt;field /&gt; child element that specifies
    the field of the record.
  * A &lt;field /&gt; element must have a `type` attribute giving the dotted name
    to the field class. It contains child elements based on the allowed
    options for that field. This is based on plone.supermodel.
  * A &lt;record /&gt; element may contain a &lt;value /&gt; element. This should contain
    a string representation of the value of the field, and will be validated.
  * For list, tuple, set, or frozenset fields, the &lt;value /&gt; element should
    contain a list of &lt;element /&gt; elements, one per element in the sequence.
  * For dict fields, the &lt;value /&gt; element should contain a list of
    &lt;element /&gt; elements with a `key` attribute. The value of the `key`
    attribute will be the dictionary key. The contents of the element will
    be the value.
  * For sequence and dict fields, the &lt;value /&gt; element may contain an
    attribute `purge="false"`. If this is given, the existing record's value
    will be extended/updated rather than replaced.
  * A &lt;record /&gt; element may have a `delete` attribute. If this is set to 
    'true', the record will be deleted.
  * If a &lt;records /&gt; element is provided, it must have an `interface`
    attribute containing the full dotted name to a schema interface. Records
    will be created for each field in this interface.
  * A &lt;records /&gt; element may contain zero or more &lt;omit /&gt; elements. These
    should list the names of fields that will be omitted.


Changelog
=========

1.0a3 - 2009-07-12
------------------

* Catch up with changes in plone.supermodel's API.
  [optilude]

1.0a2 (2009-04-17)
------------------

* Fixed typo in ZCML registration; tuple has a 'p' in it.  This fixes exportimport of tuple fields.
  [MatthewWilkes]

* Add missing handlers.zcml include
  [MatthewWilkes]

1.0a1 (2009-04-17)
------------------

* Initial release</description>
<homepage rdf:resource="http://pypi.python.org/pypi/plone.app.registry" />
<maintainer><foaf:Person><foaf:name>Martin Aspeli</foaf:name>
<foaf:mbox_sha1sum>e9d69205eabc8d3443d474f8c6a26446c2541eb9</foaf:mbox_sha1sum></foaf:Person></maintainer>
<release><Version><revision>1.0a2</revision></Version></release>
</Project></rdf:RDF>