Archetypes 1.3.0 RC 2 released

The Archetypes development crew proudly presents: Archetypes 1.3.0 RC 2
Archetypes 1.3.0 RC 2 is released today. It's a framework for the development of new Content Types in Zope/CMF/Plone. Schema driven automatic form generation, simple integration with rich content types, and a lower entry bar to the complex requirements Zope places on new content objects. The bundles of the second release candidate include 'Archetypes', 'PortalTransforms', 'MimetypesRegistry', 'generator', and 'validation'. Version 1.3.0-rc2 will be announced as 1.3.0-final if no major bugs are found within the end of next week. Download "Download Archetypes at sourceforge":http://prdownloads.sourceforge.net/archetypes/Archetypes-1.3.0-rc2.tar.gz?download You'll find more information on Archetypes downloads and repositories at "Archetypes Documentation":http://plone.org/documentation/archetypes/download Bug-Reports If you find issues please report them to the "Archetypes Bugtracker":https://sourceforge.net/tracker/?group_id=75272&atid;=543430. Also help us to resolve bugs by contributing with patches and detailed reports. Major chances since 1.2 and early 1.3 releases * Increased security [Sidnei da Silva, Dieter Maurer, me] * New reference implementation with annotation objects on the source object including metadata [Ben Saller, Philipp Auersperg] * A seperated MimetypesRegistry * Hundreds of smaller and bigger fixes to Archetypes and all dependencie products. We have removed about 80+ bugs from the bug collector. * Fixed at least three possible memory leaks. Now the reference count for all objects keeps stable even after several thousands of requests. * All attributes starting with _at_ are reserved for internal purposes. Changes since 1.3.0-rc1 * Removed class="error" from field.pt error message. It caused some ui glitches. [tiran] * Fixed [ 1011658 ] portal_skins/archetypes folder disappeared after AT reinstall. Under some circumstances the skins aren't properly registered. [tiran] * Fixed [ 1011533 ] AT CEILING date for expires will break DateIndex. Changed CEILING_DATE from year 9999 to year 2500. [tiran] * Fixed [ 1012238 ] Cannot set field using boolean widget under IE. [duncanb] * Changed TemplateMixin.getDefaultLayout(): It first checks for an attribute 'default_view' then for 'immediate_view' from the FTI and at last it's sing 'base_view' as fallback. [runyan, tiran] * Removed warning when trying to apply an index on a reference field from install_indexes. Indexes on reference fields are fully supported again. [tiran] * Changed permission of BaseObject.getField() and getWrappedField() from ModifyPortalContent to View. All mutators on fields are secured and it won't make any harm to get a field. Besides it is currently possible getting a field over archetype_tool. [tiran] * Fixed [ 1012344 ] 'NoneType' not callable error on CMFMember prefs page. Also cleaned up the way how the value is calculated inside field.pt. Depending on widget.populate it's either assigning edit_accessor or accessor to a var and THEN it's calling the var (which is a method) when it's not None. Sounds complex? Well the former version was much complexer. [tiran] * Subclasses TemplateMixin from ExtensionClass.Base, set default_view to None in order to enable the immediate_view magic and made the getDefaultView() method a little bit more efficient. [tiran] * Added a test for unqualified references to Schema to prevent user errors. A relationship must be a non empty string. Also moved all field tests in Schema to a new method _validateOnAdd(). [tiran] * Added Danish translation. Thx to stonor! [tiran] * Added 'de-de' as fallback to the German translation. [tiran] * Applied fix from [ 924832 ] Widget:isVisible always returns 'visible' for not DictType which is fixing a broken behavior for Widget.isVisible(). * Fixed [ 1012570 ] Widget.py ReferenceField is horribly inefficient. [runyan] * Temporary fix for [ 1012408 ] __getitem__ doesn't play nice which is backward compatible except of three broken behaviors: BaseObject.__getitem__ now throws an Unauthorized exception when trying to get an item starting with _ and it throws a KeyError when trying to access a nonexisting object. Also it's using explicit acquisition. * Fixed unicodeTestIn.py: return False immediately when the list is None or empty. [tiran] * Widget.py: Changed some field.get(instance) calls to field.getEditAccessor(instance)() to get rid of some sort of infinite loop (in append_only code forTextAreaWidget). [rafrombrc] * Readded Extensions/utils.py:install_tools for backward compat. [dreamcatcher] * fixed edit view rendering of append_only textarea history in widgets/textarea.pt data so whitespace is correct. [rafrombrc] * Fix a misbehavior on __bobo_traverse__ now that Tiran changed the __getitem__ behavior. Before that, __getitem__ was taking precedence and acquiring the object itself, so never getting this far: Nothing has been found. Though it's not written anywere, from deep ZPublisher inspection it seems like we *SHOULD NOT* raise a notFoundError, but instead, return None and leave acquisition do it's job. [dreamcatcher] * Fixed [ 1011111 ] mishandling of UID W.R.T layers. The reference engine is now using _getCopy() mark the copy of an object with a marker _v_is_cp so manage_afterAdd() can detect copies in order to reassign a new UUID and remove the reference annotations. [bcsaller, rochael] * Fixed Alan's fix for [ 1012570 ] brains has no relative_url. (note to myself: addable option on ReferenceField still needs lots of tests) [dtremea] * Fixed [ 1013265 ] last changes to Widget.py is highly inefficient. [dtremea] * Fixed LinesWidget according to [ 1013379 ] LinesField/widget broken. [tiran] * Fixed bug in VariableSchemaSupport.VarClassGen mentioned in the thread on the AT devel mailing list. See "Warning: avoid changing your AT class' meta_type when you have existing instances". [mitchel, dreamcatcher, tiran] * Corrected icon in ZMI; Added some utils for ZMI setup. [gotcha] * Changed unit test to work with an unpatched version of getToolByName to get mimetypes_registry and portal_transform. [tiran] * Fixed [ 1015956 ] getBestIcon can fail. [ctheuni] * Fixed [ 1015292 ] boolean widget error, [ 1015394 ] 1.3 branch field.pt sets value = None inappropriately and another problem with field.pt value. [tiran, alecacct] * Fixed [ 1018821 ] _processInput in Field.py should rewind. [batlogg] * Part fix [ 1013363 ] (renaming of folders nukes all references to AT objects inside them): It works now for AT folders, but renaming of non-AT folders still breaks refs to their contained items so ATContentTypes based portals should be fine now (except you rename the portal itself). [zworkb] * Added monkey patch for CMFCatalogAware, PortalContent and PortalFolder to fix the second part of [ 1013363 ]. [tiran] * Fixed [ 1019803 ] Bug in ArchetypeTool.py: getWidgets(), also renamed _is_fake_instance to _at_is_fake_instance. [johtha, tiran] * Fixed [ 1018300 ] schema defined indexes are not set anymore. [dtremea] * Added targetId index to reference_catalog. It was removed earlier to make the ref catalog more lightweight. However, it broke ReferenceCatalog._queryFor. [dpunktnpunkt] * Explictly reinstall MimetypesRegistry, PortalTransforms and Archetypes when running the migration. Before MTR and PT weren't reinstalled ever and AT under some circumstances which were leading to annoying bug reports. [tiran] * Added StdoutStringIO to migration.py which is printing the input to stdout, too. Also added some gimmicks to the migration: After 10 items a '.' is printed to stdout and after 250 items a '*' is printed to stdout so you can see how the migration is coming along. [tiran]