This section of Plone content management system Developer Documentation is no longer under active maintenance. The section is included as the reference for older technologies (Plone 2.x, Plone 3.x). Some of the practices described in this documents may still work, but are not recommended to be used in your active Plone development. Use at your own risk.
If you arrived at this page by a web search we recommend to also see the Plone Developer Documentation front page .
How to install Dexterity and use it in your project
Dexterity is distributed as a number of eggs, published on PyPI. The plone.app.dexterity egg pulls in all the required dependencies and should get you up and running. This how-to explains what you need to do use Dexterity in a standard Plone buildout.
Note: Plone 4.3 is the latest release of Plone. Dexterity is included with Plone 4.3, but must be activated via the "Add-ons" configlet in site setup.
If you wish to follow the examples in this manual, you must do one extra installation step: activate the grok extra for Dexterity. To do so, add the following line to the eggs section of yor buildout:
eggs = Plone ... plone.app.dexterity [grok]
Important: If you installed Dexterity on a Plone site that you upgraded to Plone 4.3, you must include the relations extra. Otherwise your site will have a broken intid utility.
- eggs =
- Plone ... plone.app.dexterity [grok,relations]
Plone 4.2 is the previous stable release of Plone. The Plone KGS (known good set of package versions) includes version pins for the packages that make up Dexterity, so all you need to do is add plone.app.dexterity to the eggs in your buildout, and re-run the buildout:
[buildout] extensions = buildout.dumppickedversions unzip = true parts = instance extends = http://dist.plone.org/release/4.2.1/versions.cfg versions = versions develop = [instance] recipe = plone.recipe.zope2instance user = admin:admin http-address = 8080 debug-mode = on verbose-security = on eggs = Plone plone.app.dexterity
Your own buildout may be more extensive. The developer manual shows a more comprehensive one with some debugging tools, for example. However, the buildout above should be enough for creating types through the web. If you are using a package that itself depends on plone.app.dexterity, then the second eggs line becomes superfluous as well, of course.
Prior to Plone 4.2, the official Plone KGS did not include version pins for the packages that make up Dexterity. Instead, you can extend a KGS from the good-py service. That looks like this:
[buildout] extensions = buildout.dumppickedversions unzip = true parts = instance extends = http://good-py.appspot.com/release/dexterity/1.2.1?plone=4.1.6 versions = versions develop = [instance] recipe = plone.recipe.zope2instance user = admin:admin http-address = 8080 debug-mode = on verbose-security = on eggs = Plone plone.app.dexterity
Notice that the extends line has been changed to point at good-py and specify both a particular version of Dexterity and a particular version of Plone. good-py returns a set of versions that will work for that combination.
Dexterity 1.2.1 is the last version of Dexterity supported for Plone < 4.2. No version of Dexterity is compatible with Plone < 3.3.
The source code of this file is hosted on GitHub. Everyone can update and fix errors in this document with few clicks - no downloads needed.
For basic information about updating this manual and Sphinx format please see Writing and updating the manual guide.