Dolmen content type framework
The package dolmen.content is a convenient way to define content types, using the zope component architecture (ZCA). It provides a set of Grok directives and base components, including a simple content and a container.
We are now using the latest version of dolmen.container that depends on cromlech.container.
Tests are now done through py.test
dolmen.content now bases the grokking on Model, a non-persistent content type.
The package no longer depends on zope.annotation.
The base module was renamed to components.
We now use dolmen.container instead of zope.container.
Added util function to retrieve the schema from a component. This deals with the martian new handling of baseclasses. get_schema should return the schema directive default value, even if called on a baseclass that does not define schema.
This version is a major breakdown and is not backward compatible with the previous ones:
BaseContent no longer exists. It has been merged with Content.
The IBaseContent interface is gone.
There are no longer any schema defined by default.
dolmen.content contents no longer provide a dublincore title property and are no longer “attribute annotatable” by default.
Fixed inheritance bug: the properties of the parent classes were overriden, if defined in the schema. This has been solved by deferring the schema treatment in the class advisor and by using ‘hasattr’ instead of checking the class __dict__.
Cleaned up the ZCML declarations, to be sure it includes all the needed dependencies.
Cleaned up dependencies. zope.formlib is no longer used.
The code has been updated to work with the latest martian and grokcore.component.
The __content_type__ property is now a unicode string. This will convert the given name to unicode or die trying.
Added zope domain translation for the Title label of the IBaseContent interface.
Default factory now provides a valid IFactory implementation. Added tests to fix that.
Changed the policy of the __content_type__ attribute computation. Tests have been added to prevent any changes and regression.
Added an util function to fetch the content type of an object or class.
The IFactory interface now allows empty title and description, in accordance with the base value of the generic factory and directives.
Factories now provide a name and a description, in addition to the title. These attributes, by default, fetch the generated class directives’ values.
Updated tests and improved the coverage.
The factories name attribute no longer returns a cooked i18n value, but the name directive’s value of the generated class. The form has to take care of its own title now.
Corrected a very important bug in the models instanciation. The simple instanciation was causing an infinite loop due to imports having the same name than the module classes. This is fixed and tests have been added to test this simple case and avoid regression.
Using the new grokcore.content package, allowing to cut the grok dependency.
The BaseContent now sets a default require value at zope.ManageContent. This permission is _NOT_ used, it’s just a convenient directive to implement your own security check.
Dependencies have been cut down. zope.app packages are no longer used. The tests module has been rewritten for a cleaner and clearer read.
Directive icon has been removed. The functionality will be implemented in a standalone package. ATTENTION, this might break your existing code !
Directive schema now works without grokking, using a zope.interface class advisor. This allows a flexible bootstrapping, even in non-grokked code.
Using the last dolmen.field version with a bug fix.
Added tests and cleaned the testing module.
Added an OrderedContainer base class.
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.