Devilstick - data centric types for Zope and Plone
Devilstick is a new style framework to describe and manage data in Plone and Zope.
It aims to take the power to create content types out of the realm of developers and put it in the hands of site administrators and business analysts. Devilstick is also designed to work well with TTW-model-editors or UML-Tools and ArchGenXML.
It does not explicitly aim to integrate with Archetypes. The intention is for the two to co-exist peacefully.
Devilstick data-models are described by XML (or any custom model-definition you like to plug-in). The model is on one hand just configuration, on the other hand (and the most important) its driving the whole behaviour: the model always rules. It can be modified at runtime, like first export as XML, modify it, re-import it, or by a TTW-editor. Read more about it in the usecases section.

Every data payload is stored in data access objects (DAO's). It eases the integration of storages abroad from ZODB. The public API for the data-access and for view and form-handling makes it easy for site-developers to change the look to their needs. Automatic rendering of HTML forms allows rapid prototyping, while manual form-composition is supported as well.
Internaly Devilstick uses a set of DAO's following the metapher of data-cages, data-molecules and data-atoms. The structure of those, together with storage configuration and a default configuration of widgets, forms the model.
The metaphor is taken from chemistry, where cages can contain molecules and atoms. Even if one missed chemistry in school its very simple to get, that a molecule consists of atoms, while a cage is a specialist molecule type.


