Skip to main content

TTW support for Dexterity

Project description

collective.ambidexterity provides through-the-web editing of views, defaults, validators and vocabularies for Dexterity content types.


Status of the package

The package currently only works in Plone 5.


Add collective.ambidexterity to the eggs list in your Plone 5 buildout. Run buildout.

Use the add/remove addons option in site setup to activate the package for a particular Plone site.

Quick operation

Look for the Ambidexterity option near the end of site setup. This will open the Ambidexterity editor.

You should be able to add view templates for all Dexterity content types. View templates are standard Plone page templates using TAL for dynamic content.

Default, validator and vocabulary scripts may be added for all Dexterity content types that you have created through-the-web. You may not add default, validator or vocabulary scripts for content types that have been set up via Python packages. (Exception: if the content-type’s fields are definedd in a model source attribute of the FTI, you may add Ambidexterity scripts.)

Default, validator and vocabulary scripts are much like the Scripts (Python) that may be added via the Zope Management Interface. They will execute in a Restricted Python environment with the privileges of the logged-in user. Limited imports are available.

Restricted Python provides a safety net for programmers who don’t know the details of the Zope/Plone security model. If you are running up against the limitations of Restricted Python, you should consider migrating your Ambidexterity code to a Python package. It is important that you understand that the safety net is not perfect: it is not adequate to protect your site from coding by an untrusted user. Only highly trusted users should be allowed to use the Ambidexterity editor. It is by default restricted to site managers.


This package marks the re, datetime and time modules as safe for use in RestrictedPython. That will affect all PythonScripts.

To do

Test coverage: pretty good for the nuts and bolts. The user interface is currently completely untested. If you’re up-to-date on robot testing, your assistance would be appreciated.

i18n: Undeveloped.

Accessibility: Undeveloped.



Plone community forums:


The project is licensed under the GPLv2.



1.0 2017-12-03

  • With no bug reports or pull requests in nearly two months, we’re leaving beta.

1.0 (2017-12-03)

  • Pushing buttons in the editor would cause the field selection to be lost. Fixed. [smcmahon]

1.0b4 (2017-10-10)

  • Add tutorial. Elaborate ‘Nuts and Bolts’. Add to [smcmahon]

  • Allow RestrictedPython access to datetime.timedelta type. [smcmahon]

  • Make sure RestrictedPython allows and datetime.datetime class types and not just instance types. This is so we can get at and [smcmahon]

1.0b3 (2017-10-03)

  • Added no-cache headers to all AJAX responses. [smcmahon]

  • Fixed an error in a jQuery selector that would cause an editor error loading content-type information. Bug introduced in b2. Fixed. [smcmahon]

1.0b2 (2017-10-02)

  • The editor would sometimes fail to list any content types. Fixed. [smcmahon]

  • Most operations would not work on sites that didn’t have an id of ‘Plone’. Fixed. Thanks, Wayne Glover. [smcmahon]

1.0b1 (2017-09-27)

  • Initial release. [smcmahon]

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

collective.ambidexterity-1.0.tar.gz (666.4 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page