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
You'll find more information on Archetypes downloads and repositories at Archetypes Documentation
Bug-Reports
If you find issues please report them to the Archetypes Bugtracker.
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_viewthen forimmediate_viewfrom the FTI and at last it's singbase_viewas 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 ]
NoneTypenot 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-deas fallback to the German translation. [tiran] - Applied fix from [ 924832 ] Widget:isVisible always returns
visiblefor 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]