plone.schemaeditor offers a through-the-web interface for modifying Zope 3 schemata (interfaces).
Currently there is support for:
* adding and removing fields
* editing attributes of existing fields
* reordering fields
* renaming fields
plone.schemaeditor only handles the actual schema editing. To be useful, it requires some integration code to take care of the following pieces:
* traversing to a schema that is used as the context of the editor
* persisting schema changes across Zope restarts
See plone.app.dexterity (along with plone.dexterity and plone.supermodel) for one approach to this integration.
The following field types (from zope.schema) are currently supported:
* Choice (with simple list of values)
* List of Choice (with simple list of values)
Third-party packages can make additional field types available by registering new IFieldFactory utilities.
- Use a set of choice fields for the "multiple choice" field option in the UI, instead of a list of choice fields. The latter is orderable and is a less common use case (plus we need a better widget for it). [davisagli]
- Make it possible for schema contexts to restrict the fields that can be added by defining an allowedFields property. [davisagli]
- Add more specific events for when a field is added or removed. [davisagli]
- I18n improved by adding many missing strings [giacomos]