collective.properties
This addon provides form to update object properties via Plone UI.
Project Description
Quick Intro
- it replicates ZMI /manage_propertiesForm form in Plone UI
- it's like collective.interfaces package to manage zope interfaces via Plone but to manage PropertyManager based properties
- it uses z3c.form library to generate CRUD form
- it is tested in Plone 3 (Plone 4 to be checked soon)
- it's installable via portal quickinstaller tool, for detailed instructions on how to add it to your zope instance, please, check docs/INSTALL.txt file
Property attributes
IPropertyManager interface provides properties with the next list of metadata:
- id: required
- type: required
- select_variable: optional; for selection and multiple selection property types to provide the name of a property or method which returns a list of strings from which the selection(s) can be chosen
- mode: optional; must contain 0 or more chars from the set 'w', 'd'; 'w' - value may be changed by user, 'd' - user can delete property, '' - property and it's value may be shown in property listings, but it is read-only and may not be deleted; without mode key property is assumed to have the mode 'wd' (writeable and deletable)
- label: optional
- description: optional
Property types
Default property manager property types are listed below. All of them are planned to be supported by collective.properties management form (see TODO section below for what's not implemented yet):
- float - floating number
- int - integer
- long - long integer
- string - utf-8 encoded string
- lines - list of utf-8 encoded strings
- text - utf-8 encoded text (string with line breaks)
- date - Zope2 DateTime object
- tokens - list of utf-8 encoded strings, entered as text line and split by space characters afterwards
- selection - utf-8 encoded string, the only difference between string property type is that selection property values is selected from list of available options, this property type owns extra item in the property dictionary, 'select_variable' which provides the name of a property or method; note: make sure your vocabulary doesn't include unicode strings, only integers, floats, utf-8 encoded strings and booleans, otherwise old PropertyManager form breaks which returns a list of strings from which the selection can be chosen.
- multiple selection - list of utf-8 encoded strings, these strings are also selected from list of available options as described above in selection property type
Compatibility
It's been tested only with Plone 3 so far.
Notes
Property Manager interface defines some reserved strings that are prohibited to be used as property ids. It provides validation method which is also used by collective.properties management form. That's why it's secure to install this package in Plone site and let non-tech content manager use it's properties form.
Not all standard properties are handled yet. For details, please, see TODO section below.
collective.properties form simply skips property types that it doesn't know how to handle. So to manage them you still need to use standard /manage_propertiesForm form.
Form that this package provides to manage properties is fully compatible with old Property Manager form (/manage_propertiesForm) so it's possible to manage properties on both of them at the same time, and there won't be any issues with string encodings, etc... collective.properties form saves data in the same format original form does.
TODO
- add tests
- test in plone4
- improve installation docs re z3c.form versions and installing Plone z3cform support via quickinstaller
Current Release
No stable release available yet.
All Releases
| Version | Released | Description | Compatibility | Licenses | Status |
|---|---|---|---|---|---|
| 1.0a2 | All property type handlers are in place. Non-deletable and non-writable properties are handled securely now. More about this release… |
Plone 3
|
GPL | pre-release | |
| 1.0a1 | Basic functionality is in place. Apart from handling boolean, selection, lines and date fields. No tests there yet. More about this release… |
Plone 3
|
GPL | pre-release |

