Metadata-Version: 1.0
Name: plone.app.dexterity
Version: 1.0.3
Summary: Dexterity is a content type framework for CMF applications, with particular emphasis on Plone. It can be viewed as an alternative to Archetypes that is more light-weight and modular.
Home-page: http://plone.org/products/dexterity
Author: Martin Aspeli, David Glick, et al
Author-email: dexterity-development@googlegroups.com
License: GPL
Description: .. contents:: Table of Contents
           :depth: 1
        
        Introduction
        ============
        
        Dexterity wants to make some things really easy. These are:
        
        * Create a "real" content type entirely through-the-web without having to
          know programming.
        * As a business user, create a schema using visual or through-the-web tools,
          and augment it with adapters, event handlers, and other Python code written
          on the filesystem by a Python programmer.
        * Create content types in filesystem code quickly and easily, without losing
          the ability to customise any aspect of the type and its operation later if
          required.
        * Support general "behaviours" that can be enabled on a custom type in a
          declarative fashion. Behaviours can be things like title-to-id naming,
          support for locking or versioning, or sets of standard metadata with
          associated UI elements.
        * Easily package up and distribute content types defined through-the-web, on
          the filesystem, or using a combination of the two.
        
        Philosophy
        ==========
        
        Dexterity is designed with a specific philosophy in mind. This can be
        summarised as follows:
        
        Reuse over reinvention
          As far as possible, Dexterity should reuse components and technologies that
          already exist. More importantly, however, Dexterity should reuse concepts that
          exist elsewhere. It should be easy to learn Dexterity by analogy, and to work
          with Dexterity types using familiar APIs and techniques.
        
        Small over big
          Mega-frameworks be damned. Dexterity consists of a number of specialised
          packages, each of which is independently tested and reusable. Furthermore, 
          packages should has as few dependencies as possible, and should declare their
          dependencies explicitly. This helps keep the design clean and the code 
          manageable.
        
        Natural interaction over excessive generality
          The Dexterity design was driven by several use cases that express the way in 
          which we want people to work with Dexterity. The end goal is to make it easy 
          to get started, but also easy to progress from an initial prototype to a 
          complex set of types and associated behaviours through step-wise learning and 
          natural interaction patterns. Dexterity aims to consider its users - be they 
          business analysts, light integrators or Python developers, and be they new or 
          experienced - and cater to them explicitly with obvious, well-documented, 
          natural interaction patterns.
        
        Real code over generated code
          Generated code is difficult to understand and difficult to debug when it 
          doesn't work as expected. There is rarely, if ever, any reason to scribble 
          methods or 'exec' strings of Python code.
        
        Zope 3 over Zope 2
          Although Dexterity does not pretend to work with non-CMF systems, as many 
          components as possible should work with plain Zope 3, and even where there are 
          dependencies on Zope 2, CMF or Plone, they should - as far as is practical - 
          follow Zope 3 techniques and best practices. Many operations (e.g. managing 
          objects in a folder, creating new objects or manipulating objects through a 
          defined schema) are better designed in Zope 3 than they were in Zope 2.
        
        Zope concepts over new paradigms
          We want Dexterity to be "Zope-ish". Zope is a mature, well-designed (well, 
          mostly) and battle tested platform. We do not want to invent brand new 
          paradigms and techniques if we can help it.
        
        Automated testing over wishful thinking
          "Everything" should be covered by automated tests. Dexterity necessarily has a 
          lot of moving parts. Untested moving parts tend to come loose and fall on 
          people's heads. Nobody likes that.
        
        Getting started
        ===============
        
        Please read the `installation guide`_ to get Dexterity up and running.
        
        .. _`installation guide`: http://plone.org/products/dexterity/documentation/how-to/install
        
        Then log in to Plone, go to Site Setup, and go to the ``Dexterity Types``
        control panel to get started creating content types through the web.
        
        Or read the `Dexterity developer manual`_ to get started developing
        Dexterity content types on the filesystem.
        
        This release of Dexterity is compatible with Plone 3, 4, and 4.1.
        
        Upgrading
        =========
        
        If you are upgrading from a previous release of Dexterity, you need to:
        
        1. Update your buildout with the new versions (or extend the updated KGS),
           and re-run it.
        2. Restart Zope.
        3. Go to the Add-ons control panel in Plone Site Setup, and run the
           upgrade steps for "Dexterity Content Types" if there are any available.
        
        Documentation
        =============
        
        Various documentation is available:
        
        * `FAQ`_
        * `Dexterity Developer Manual`_
        * `How to create reusable behaviors for Dexterity types`_
        
        .. _`FAQ`: http://plone.org/products/dexterity/documentation/faq
        .. _`Dexterity developer manual`: http://plone.org/products/dexterity/documentation/manual/developer-manual
        .. _`How to create reusable behaviors for Dexterity types`: http://plone.org/products/dexterity/documentation/manual/behaviors
        
        The following documents are not Dexterity-specific, but will likely be useful
        to users of Dexterity:
        
        * `Schema-driven forms manual`_
        * `five.grok manual`_
        
        .. _`Schema-driven forms manual`: http://plone.org/products/dexterity/documentation/manual/schema-driven-forms
        .. _`five.grok manual`: http://plone.org/products/dexterity/documentation/manual/five.grok
        
        
        Mailing list
        ============
        
        The `dexterity-development group`_ provides a place to discuss development
        and use of Dexterity.
        
        .. _`dexterity-development group`: http://groups.google.com/group/dexterity-development
        
        Issue tracker
        =============
        
        Please report issues in our `Google Code issue tracker`_.
        
        .. _`Google Code issue tracker`: http://code.google.com/p/dexterity/issues
        
        
        Contributed Packages
        ====================
        
        The Dexterity known good set (KGS) of version pins includes a number of
        contributed packages that are not installed by default:
        
        plone.app.referenceablebehavior
          Adds support for the Archetypes reference engine to Dexterity content, so
          that Dexterity items can be referenced from Archetypes items. Requires
          Plone 4.1.
        
        plone.app.stagingbehavior
          Adds support for staging Dexterity content, based on plone.app.iterate.
          Requires Plone 4.1.
        
        plone.app.versioningbehavior
          Adds support for storing historic versions of Dexterity content, based on
          Products.CMFEditions. Requires Plone 4.0 or greater.
        
        collective.z3cform.datagridfield
          A z3c.form widget for editing lists of subobjects via a tabular UI.
        
        
        Contributing
        ============
        
        Most Dexterity code is owned by the `Plone Foundation`_ and maintained in the
        `Plone svn repository`_. We're happy to share commit access so that you can
        share code with us, but first you must sign the `Plone contributor agreement`_.
        
        .. _`Plone Foundation`: http://plone.org/foundation
        .. _`Plone svn repository`: http://svn.plone.org/plone
        .. _`Plone contributor agreement`: http://plone.org/foundation/contributors-agreement
        
        Dexterity wouldn't be possible without the hard work of a lot of people, including:
        
        * Martin Aspeli
        * Jian Aijun
        * Wichert Akkerman
        * Jonas Baumann
        * David Brenneman
        * Joel Burton
        * Vincent Fretin
        * Rok Garbas
        * Anthony Gerrard
        * Nathan van Gheem
        * David Glick
        * Craig Haynal
        * Wouter Vanden Hove
        * Jean-Michel Francois
        * Jim Fulton
        * Jamie Lentin
        * Alex Limi
        * Steve McMahon
        * Jason Mehring
        * Alec Mitchell
        * Daniel Nouri
        * Ross Patterson
        * Maurits van Rees
        * Lennart Regebro
        * Laurence Rowe
        * Israel Saeta Perez
        * Hanno Schlichting
        * Christian Schneider
        * Carsten Senger
        * Jon Stahl
        * Eric Steele
        * Gaudenz Steinlin
        * Dorneles Tremea
        * Sean Upton
        * Sylvain Viollon
        * Matthew Wilkes
        * Matt Yoder
        * Andi Zeidler
        
        (Please add your name if we have neglected to.)
        
        Release Notes
        =============
        
        This release is compatible with Plone 3, 4, and 4.1, as long as you use
        the correct set of version pins from good-py (see the installation guide).
        
        Changes
        -------
        
        The following packages have been updated since Dexterity 1.0.1:
        
        plone.app.dexterity 1.0.3
        ~~~~~~~~~~~~~~~~~~~~~~~~~
        
        * Bugfix: Fix the deprecated IRelatedItems to still add a form field.
          [davisagli]
        
        * Bugfix: Make sure subject can still be retrieved as unicode for the
          categorization behavior now that the Subject accessor returns a bytestring.
          [davisagli]
        
        plone.dexterity 1.0.1
        ~~~~~~~~~~~~~~~~~~~~~
        
        * Support importing the ``add_view_expr`` property of the FTI via GenericSetup.
          This closes http://code.google.com/p/dexterity/issues/detail?id=192
          [davisagli]
        
        * Make it possible to use DefaultAddForm without a form wrapper.
          [davisagli]
        
        * Make sure the Subject accessor returns an encoded bytestring as expected for
          CMF-style accessors. This fixes
          http://code.google.com/p/dexterity/issues/detail?id=197
          [davisagli]
        
        * Added pt_BR translation.
          [rafaelbco, davisagli]
        
        collective.z3cform.datagridfield 0.8
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        
        * Avoid using the "row" CSS class.
          [davisagli]
        
        * Fixes to work with jQuery 1.3.x (use .remove() instead of .detach(), fetch data
          attributes a different way, and avoid live binding the change event).
          [davisagli]
        
        * Don't error out when getting a ``FormatterValidationError``, pass
          it on to z3c.form instead.
          [claytron]
        
        * Give manipulator images a relative src rather than absolute. This
          previously meant the widget didn't work on sites without Plone/Zope at the
          root of the domain.
          [davidjb]
        
        * During auto-insert, add our new row into the document first, before reindexing
          it and changing its elements' IDs. This allows Javascript that depends on 
          these IDs (such as plone.formwidget.autocomplete) to pick up the correct 
          fields.
          [davidjb]
        
        * Tidying up and reducing complexity of auto-insert functionality
          [davidjb]
        
        * Removing unnecessary auto-insert bind and unbind as this is already covered 
          by jQuery's `live()` function against the `auto-append` class. Adding/removing
          this class against rows automatically does this.
          [davidjb]
        
        * Resolved issue with auto-insert functionality not working by removing
          table-specific check in Javascript.
          [davidjb]
        
        collective.z3cform.datetimewidget 1.1 & 1.1.1
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        
        * Fix validation errors so they are caught and correctly reported by z3c.form.
          [davisagli]
        
        * Added a GS profile (conditionally loaded in configure.zcml if generic
          setup is installed) to enable the plone.app.jquerytools css & js support
          for dateinput popup.
          [smcmahon]
        
        * Made js for dateinput popup check for jQuery().dateinput before invoking
          it. Changed from $ to jQuery.
          [smcmahon]
        
        * IE was balking on a missing closing parenthesis.
          [danjacka]
        
        plone.app.stagingbehavior 0.1b2 & 0.1b3
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        
        * Declare plone.app.versioningbehavior and plone.app.referenceablebehavior
          as test dependencies.
          [danjacka, davisagli]
        
        * Declare the implicit dependency on plone.app.relationfield.
          [davisagli]
        
        * Make sure that changes to the subjects field are carried over when the
          working copy is checked in.
          [swampmonkey]
        
        * Fix broken dependency declaration.
          [danjacka, jonstahl]
        
        plone.app.textfield 1.0.1
        ~~~~~~~~~~~~~~~~~~~~~~~~~
        
        * Make sure the field constraint is validated, if specified.
          This closes http://code.google.com/p/dexterity/issues/detail?id=200
          [davisagli]
        
        * Make sure validation fails if no text is entered for a required field.
          This closes http://code.google.com/p/dexterity/issues/detail?id=199
          [davisagli]
        
        * Wrap the context in the form context, not the site, so that relative links
          are generated correctly.
          [davisagli]
        
        * Avoid duplicating the id of the textarea if the form has no prefix.
          [davisagli]
        
        * Fix case where editor did not load if the context being edited is a
          dict.
          [davisagli]
        
        * Pass through the z3c.form widget's ``rows`` and ``cols`` settings to the
          wysiwyg editor macro.
          [davisagli]
        
        plone.app.versioningbehavior 1.0b4 & 1.0b5
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        
        * Added generic setup profile which installs and enables the modifier for
          cloning blobs and disables the Skip_z3c_blobfile modifier.
          [buchi]
        
        * Added support for versioning blobs (NamedBlobFile, NamedBlobImage).
          [buchi]
        
        * Fixed setuphandler to not fail with older versions of Products.CMFEditions
          that do not have a Skip_z3c_blobfile modifier.
          [buchi]
        
        * Fixed CloneNamedFileBlobs modifier to handle fields with value ``None``.
          [buchi]
        
        plone.directives.dexterity 1.0.1
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        
        * Honor the ``plone.directives.form.wrap`` directive on add forms.
          They remain wrapped by default for backwards-compatibility with custom
          templates.
          This closes http://code.google.com/p/dexterity/issues/detail?id=184
          [davisagli]
        
        plone.formwidget.autocomplete 1.2.2
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        
        * Add whitespace after autocreated radio buttons, fixing alignment:
          http://code.google.com/p/dexterity/issues/detail?id=193 (thanks davidjb)
          [lentinj]
        
        plone.formwidget.contenttree 1.0.3
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        
        * Add zh_CN translation.
          [jianaijun]
        
        plone.formwidget.namedfile 1.0.2
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        
        * Added pt_BR translation.
          [rafaelbco, davisagli]
        
        * Additional unit tests for download view
          [lentinj]
        
        plone.namedfile 1.0.4 & 1.0.5
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        
        * Fix bug in producing tag for a scale on an item whose title has non-ASCII
          characters.
          [davisagli]
        
        * Make sure image scales of allowed attributes can be accessed on disallowed
          containers.
          [davisagli]
        
        * Add unit tests for safe_filename, since not exercised within this module.
          (should be moved to plone.formwidget.namedfile?)
          [lentinj]
        
        * Make the ``download`` view respect custom read permissions for the field
          being downloaded, rather than only checking the view permission for the
          object as a whole.
          [davisagli]
        
        plone.schemaeditor 1.1
        ~~~~~~~~~~~~~~~~~~~~~~
        
        * Avoid errors when expanding the range of `min` and `max` attributes on a
          field, and when entering a `default` outside the range.
          [davisagli]
        
        * Validate input for the `default` attribute of Choice fields based on the
          field's vocabulary.
          [davisagli]
        
        * Removed support for setting the `missing_value` attribute of fields through
          the web.
          [davisagli]
        
        * Add a date-only field with no time component.
          [davisagli]
        
        * Bugfix: Validate short names of fields.
          [davisagli]
        
        plone.z3cform 0.7.8
        ~~~~~~~~~~~~~~~~~~~
        
        * Do not display h1 element if there is no label on view.
          [thomasdesvenain]
        
        * Add Chinese translation.
          [jianaijun]
        
        z3c.form 2.4.4
        ~~~~~~~~~~~~~~
        
        * Remove unneeded dependency on deprecated zope.app.security.
        
        * Fixed ButtonActions.update() to correctly remove actions when called again,
          after the button condition become false.
        
        z3c.formwidget.query 0.6
        ~~~~~~~~~~~~~~~~~~~~~~~~
        
        * Add an ignoreMissing parameter and widget subclasses to avoid errors when
          rendering missing values.
          [elro]
        
        * Create changelog file.
          [dukebody]
        
        * Respect the ignoreRequest parameter.
          [dukebody]
        
        Changelog for plone.app.dexterity
        =================================
        
        1.0.3 - 2011-09-24
        ------------------
        
        - Fix bad release of 1.0.2.
          [davisagli]
        
        1.0.2 - 2011-09-24
        ------------------
        
        - Bugfix: Fix the deprecated IRelatedItems to still add a form field.
          [davisagli]
        
        - Bugfix: Make sure subject can still be retrieved as unicode for the
          categorization behavior now that the Subject accessor returns a bytestring.
          [davisagli]
        
        1.0.1 - 2011-07-02
        ------------------
        
        - Deprecated the IRelatedItems behavior in this package. It moved to
          plone.app.relationfield.
          [davisagli]
        
        - Add no-op "grok" and "relations" extras for forward-compatibility with 
          Dexterity 2.0.
          [davisagli]
        
        1.0 - 2011-05-20
        ----------------
        
        - Fix publishing dates DateTime/datetime conversions so as not to drift by the
          timezone delta every save.
          [elro]
        
        - Make sure cloned types get a new factory.
          [davisagli]
        
        - Don't override overlay CSS in Plone 4.
          [davisagli]
        
        - Fixed cloning of types with a period (.) in their short name.
          [davisagli]
        
        - Allow specifying a type's short name when adding a type.
          [davisagli]
        
        - Make sure the Basic metadata adapter accesses the content's title attribute
          directly so it doesn't get encoded. Also make sure encoded data can't be set
          via this adapter.
          [davisagli]
        
        1.0rc1 - 2011-04-30
        -------------------
        
        - Added upgrade step to install new javascript from
          plone.formwidget.autocomplete
          [davisagli]
        
        - Added basic support for making TTW changes to schemas defined in filesystem
          models and code. (Note: This feature will not actually work until some further
          changes are completed in plone.dexterity.)
        
          In order to support this change, the event handling to serialize schema changes
          was revised. We now register a single event handler for the SchemaModifiedEvent
          raised for the schema context. This allows us to keep track of the FTI
          that changes need to be serialized to on the schema context. The
          serializeSchemaOnFieldEvent and serializeSchemaOnSchemaEvent handlers were
          removed from the serialize module and replaced by serializeSchemaContext. The
          serializeSchema helper remains but is deprecated.
          [davisagli]
        
        - Add MANIFEST.in.
          [WouterVH]
        
        - Add "export" button to types editor. Exports GS-style zip archive of type
          info for selected types.
          [stevem]
        
        - Fix old jquery alias in types_listing.pt. This closes
          http://code.google.com/p/dexterity/issues/detail?id=159
          [davisagli]
        
        - Make display templates fill content-core on Plone 4.
          [elro]
        
        - Add ids to the group fieldsets on display forms.
          [elro]
        
        - Exclude from navigation behavior should be restricted to IDexterityContent.
          [elro]
        
        
        1.0b4 - 2011-03-15
        ------------------
        
        - Add a "Name from file name" behavior.
          [elro]
        
        - Remove the NameFromTitle behavior factory, it is not necessary.
          [elro]
        
        - Add "Next previous navigation" and "Next previous navigation toggle"
          behaviors.
          [elro]
        
        - Add an "Exclude from navigation" behavior.
          [lentinj]
        
        - Put the folder listing within a fieldset.
          [lentinj]
        
        
        1.0b3 - 2011-02-11
        ------------------
        
        - Add a navigation root behavior.
          [elro]
        
        - Fix decoding error when an encoded description is stored in the FTI.
          [davisagli]
        
        - Avoid empty <div class="field"> tag for title and description in
          item.pt and container.pt.
          [gaudenzius]
        
        - Add locales structure for translations with cs , de, es, eu, fr, ja, nl, pt_BR
          [toutpt]
        
        - Update french translation
          [toutpt]
        
        
        1.0b2 - 2010-08-05
        ------------------
        
        - Fix several XML errors in templates. Needed for Chameleon compatibility.
          [wichert]
        
        - cloning a type through the dexterity UI in the control panel did not work
          if the type had a hyphen in it's name. This fixes 
          http://code.google.com/p/dexterity/issues/detail?id=126
          [vangheem]
        
        
        1.0b1 - 2010-04-20
        ------------------
        
        - Require plone.app.jquerytools for the schema editor UI, and make sure it is
          installed when upgrading.
          [davisagli]
        
        - Remove unused schemaeditor.css.
          [davisagli]
        
        - Omit the metadata fields except on edit and add forms.
          [davisagli]
        
        - Enable the "Name from title" behavior for new types, by default.
          [davisagli]
        
        - Include plone.formwidget.namedfile so that File upload and Image fields are
          available out of the box.  You must explicitly include z3c.blobfile in your
          environment if you want blob-based files.
          [davisagli]
        
        - Added a DexterityLayer that can be used in tests.
          [davisagli]
        
        - Fix issue with the BehaviorsForm accidentally polluting the title of the
          z3c.form EditForm 'Apply' button.
          [davisagli]
        
        - Add upgrades folder and make sure plone.app.z3cform profile gets installed
          on upgrades from previous versions of Dexterity.
          [davisagli]
        
        - Depend on the plone.app.z3cform profile, to make sure the Plone browser layer
          for z3c.form gets installed.
          [davisagli]
        
        - Avoid relying on acquisition to get the portal_url for links in the type
          listing table.
          [davisagli]
        
        
        1.0a7 - 2010-01-08
        ------------------
        
        - Make sure the Dublin Core fieldsets appear in the same order as they
          do in AT content.
          [davisagli]
        
        - Make sure the current user is loaded as the default creator for the
          IOwnership schema in an add form.
          [davisagli]
        
        - Include behavior descriptions on the behavior edit tab.
          [davisagli]
        
        - IBasic behavior: set missing_value of description-field to u'' . The
          description should never be None (live_search would not work any more).
          [jbaumann]
        
        - Fix issue where traversing to a nonexistent type name in the types control
          panel did not raise NotFound.
          [davisagli]
        
        - Make it possible to view the fields of non-editable schemata.
          [davisagli]
        
        - Tweaks to the tabbed_forms template used for the types control panel.
          [davisagli]
        
        
        1.0a6 - 2009-10-12
        ------------------
        
        - Add plone.app.textfield as a dependency. We don't use it directly in this
          package, but users of Dexterity should have it installed and available.
          [optilude]
        
        - Use some default icons for new types.
          [davisagli]
        
        - Show type icons in type listing if available.
          [davisagli]
        
        - Removed 'container' field from the types listing in the control panel
          (it wasn't working).
          [davisagli]
        
        - Add message factories to titles and descriptions of metadata schema fields.
          Fixes http://code.google.com/p/dexterity/issues/detail?id=75.
          [optilude]
        
        - Patch listActionInfos() instead of listActions() in order to get the
          folder/add category into the actions list. This avoids a problem with
          the 'actions.xml' export handler exporting the folder/add category
          incorrectly. Fixes http://code.google.com/p/dexterity/issues/detail?id=78
          [optilude]
        
        
        1.0a5 - 2009-07-26
        ------------------
        
        - Explicitly include overrides.zcml from plone.app.z3cform.
          [optilude]
        
        
        1.0a4 - 2009-07-12
        ------------------
        
        - Changed API methods and arguments to mixedCase to be more consistent with
          the rest of Zope. This is a non-backwards-compatible change. Our profuse
          apologies, but it's now or never. :-/
        
          If you find that you get import errors or unknown keyword arguments in your
          code, please change names from foo_bar too fooBar, e.g. serialize_schema()
          becomes serializeSchema().
          [optilude]
        
        
        1.0a3 - 2009-06-07
        ------------------
        
        - Updated use of <plone:behavior /> directive to match plone.behavior 1.0b4.
          [optilude]
        
        
        1.0a2 - 2009-06-01
        ------------------
        
        - Remove superfluous <includeOverrides /> in configure.zcml which would cause
          a problem when the package is loaded via z3c.autoinclude.plugin
          [optilude]
        
        
        1.0a1 - 2009-05-27
        --------------------
        
        - Initial release
        
Keywords: plone ttw dexterity schema interface
Platform: UNKNOWN
Classifier: Framework :: Plone
Classifier: Programming Language :: Python
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Development Status :: 5 - Production/Stable
