Welcome, guest | Sign In | My Account | Store | Cart

Notice! PyPM is being replaced with the ActiveState Platform, which enhances PyPM’s build and deploy capabilities. Create your free Platform account to download ActivePython or customize Python with the packages you require and get automatic updates.

pypm install products.atextensions

How to install Products.ATExtensions

  1. Download and install ActivePython
  2. Open Command Prompt
  3. Type pypm install products.atextensions
 Python 2.7Python 3.2Python 3.3
Windows (32-bit)
1.1Never BuiltWhy not?
1.1a3 Available View build log
1.1a2 Available View build log
Windows (64-bit)
1.1Never BuiltWhy not?
1.1a3 Available View build log
1.1a2 Available View build log
Mac OS X (10.5+)
1.1 Available View build log
1.1a3 Available View build log
1.1a2 Available View build log
Linux (32-bit)
1.1 Available View build log
1.1a3 Available View build log
1.1a2 Available View build log
Linux (64-bit)
1.1 Available View build log
1.1a3 Available View build log
1.1a2 Available View build log
Lastest release
version 1.1 on Mar 1st, 2013

Welcome to ATExtensions

This package provides some further fields and widgets for Archetypes as used by Plone.

Most generic are the RecordField/Widget (effectively handling a dictionary) and the RecordsField/Widget (handling a list of records). The most advanced application thereof are the FormattableName(s) fields and widgets.

To demonstrate their usage, there are demo content types called 'WorkingGroup' and 'FormattbleNameDemo' which can be installed using the packages 'demotypes' profile. To enable the types after install, go to portal types and make them implicitly addable or include them in some folderish type's 'allowed_content_types'.

ATExtensions are installable in the Plone 3.3.x and 4.x series.

Please use a release from the 1.0.x series with older versions of Plone.

Enjoy, Raphael (raphael.ritz at gmail.com)


1.1 (2013-02-25)
  • Now that Archetypes is GPL we need to be GPL as well. [raphael]
  • Email widget macro: fixed a surviving 'isAnon'. [raphael]
  • Combo widget: correct handling of 'empty_marker' in 'process_form'. This fixes https://dev.plone.org/ticket/12105 Thanks to ristow for pointing this out. [raphael]
  • Comment field: support a 'comment_method' to obtain the text via a callable at run time. The method is looked up on the content object. [raphael]
1.1a3 (2010-09-28)
  • Changed translate method to let it be compatible with ore.contentmirror bulk import [martior]
1.1a2 (2010-07-04)
  • Restored compatibility with Plone 3.3 by dealing with validation interfaces in a backwards compatible manner. [hannosch]
  • Added a testing buildout to the package. [hannosch]
1.1a1 (2010-07-03)
  • Fixed deprecation warnings in Plone 4. [ajung]
  • Explicitly define isAnon in templates. [raphael]
  • Remove another explicit translation. [raphael]
  • There is no tabindex in Plone 4 any longer - be more defensive in templates. [raphael]
  • Change old style to new style interface declarations. [raphael]
1.0 (2010-07-03)
  • Some package metadata cleanup. [hannosch]
  • Made some field/widget methods of the record widget available to untrusted code. [raphael]
0.9.6 (2009-07-10)
  • Respect a 'show_hm' attribute on record(s) widgets to optionally suppress the time component on datetime subfields. [raphael]
  • Added form controller settings for the more button when used from atct_edit. [raphael]
  • Added Spanish translation. Thanks to Franco Pellegrini for the contribution. [raphael]
0.9.5 (2008-11-04)
  • Saner default for the LabeledUrlWidget when there is no URL given (not linking anywhere now). [raphael]
  • Changed 'toPortalTime' to 'toLocalizedTime' in the datetime widget (how did that survive?). [raphael]
  • Renamed the old Extensions/Install to Extensions/plone2Install. From now on the profile should be used. People in need of the old behavior can revert the renaming. [raphael]
  • Added the LabeledUrlField/Widget combo. This is an example of a record field holding a 'label' and a 'url' key where in view mode the 'lable' is used as text for the anchor to url. [raphael]
0.9.3 (2008-05-20)
  • First release as egg [aclark]
After 0.8
  • Made the combo_widget more configurable. Thanks to Per Erik Strandberg for the patch. [raphael]
  • Made the demarshalling of records fields more robust. Thanks to Lucie Lejard for spotting this and for the patch. [raphael]
  • Fixed the CommentWidget to not be inline-editable in Plone 3.0. [hannosch]
  • Added two extension profiles: one called 'default' with everything except the demo types and another one called 'demotypes' for nothing but the demo types.
  • Added the SmartEmailField/Widget from Johannes Wille. See the doc string in widget.smartemail.SmartEmailWidget for more. Thanks Johannes!
  • reenabled the demo types but now controlled by a flag in the config file
  • made the insane 'email' masking a bit less insane
  • introduced a flag 'add_select' in 'getDisplyList' to control the addition of the null entry ('Select'). Defaults to True
  • bugfix in the new i18n support (missing domain in widget)
  • improved i18n support [Mike Gabriel]
  • added 'comment' field (lets you include formattable narrative in edit forms)
  • first draft of a 'remotetext' field (not yet working) (the idea is to have a field pull its text from a remote source but also to be able to customize the text if needed)
  • fixed bug when deleting more than one entry from a list of records using the records widget (thanks to Mike Gabriel for spotting the bug and to Frank Bennett for the fix)
  • fixed references to deprecated calendar_slot [David Siedband]
  • extended Record.getVocabularyFor to accept the use of DisplayLists as subfield_vocabulary entries and to raise errors if a valid DisplayLists was not returned from an expression. [DWM]
  • add the 'formattable name(s)' data types, fields, and widgets
  • rearranged almost everything to be inline with AT-1.4's architecture
  • made it backwards compatible with AT-1.2 again (hopefully)
  • added postprocessing to the URL widget to supply http as default protocol if no-one is supplied.
  • added ComboWidget and combo_widget.pt to create combo boxes where users can select a value or specify one freely it they select 'other'.
  • added a 'delete' flag to each record in RecordsWidget's edit macro.
  • added an optional 'maxlength' attribute for subfields
  • added subfield validation; from now on AT 1.3 is required (I think)
  • updated the demo type (WorkingGroup) to use subfield validation for the 'homepage' subfield in e-contact
  • added a 'delete all entries' checkbox to the records widget
  • added 'minimalSize' and 'maximalSize' to the RecordsField's properties to enable better control of the number of lines offered in the edit form
  • do not override 'content_edit' anymore; configure the form controller on install instead and add a custom 'more_edit' to be called when 'more' is pressed (only slight extension to the original 'content_edit' but I couldn't get around otherwise with the references - thanks to Roche Compaan for a valuable hint).
  • Record(s)Field should now work with schemata or portal_factory without the risk of data loss
  • adapted the demo content type ('WorkingGroup') to reflect the above changes and made it demonstrate how to enable the date picker box for a DateTime subfield
  • added support for 'int', 'long' and 'float' as subfield types in RecordField and RecordsField.
  • made compliant with the new security policy for archetypes 1.3: Registered the UrlField/Widget and replaced 'getRaw' in the Record(s)Widget by an appropriate indirect call to the edit accessor.
  • added a RecordsField and -Widget (records are a list of record objects)
  • improved the RecordWidget's view macro (empty subfields are not rendered)

Subscribe to package updates

Last updated Mar 1st, 2013

Download Stats

Last month:5

What does the lock icon mean?

Builds marked with a lock icon are only available via PyPM to users with a current ActivePython Business Edition subscription.

Need custom builds or support?

ActivePython Enterprise Edition guarantees priority access to technical support, indemnification, expert consulting and quality-assured language builds.

Plan on re-distributing ActivePython?

Get re-distribution rights and eliminate legal risks with ActivePython OEM Edition.