Metadata

Distro Index Owner:
eea
Home Page:
Products.Archetypes
License
GPL
Version:
1.9.5.1.eea
Last updated:
2014-02-20
Keywords:
Archetypes Plone CMF Zope

Products.Archetypes

Files

Indexes

Archetypes is a developers framework for rapidly developing and deploying rich, full featured content types within the context of Zope/CMF and Plone.

Introduction

Archetypes is a developers framework for rapidly developing and deploying rich, full featured content types within the context of Zope/CMF and Plone.

Archetypes is based around the idea of an Active Schema. Rather than provide a simple description of a new data type, Archetype schemas do the actual work and heavy lifting involved in using the new type. Archetype Schemas serve as easy extension points for other developers as project specific components can be created and bound or you can choose among the rich existing set of features.

Features

  • Simple schemas with working default policy.
  • Power and flexibility with lowered incidental complexity.
  • Full automatic form generation
  • Unique Ids for objects
  • Object References/Relationships
  • Per Type cataloging in one or more catalogs

Unit testing

  • Go into the root of your buildout and run:

    bin/test Products.Archetypes
    

Documentation

Major resource for documentation is located at plone.org.

Changelog

1.9.5 (unreleased)

  • Various vocabulary fixes, mostly for translations and IntDisplayLists. [maurits]
  • Don't fail when getting a value that can't be converted to i18nmessageid Message [tiberiuichim]

1.9.4 (2013-08-29)

  • Fixed error of validate_content_types when checking a field that was an instance of OFS.Image.File [ichim-david]
  • Fix transaction note so long notes do not bork the transaction [vangheem]

1.9.3 (2013-08-14)

  • Avoid UnicodeDecodeError in @@at_utils.translate if the value contains special chars [gbastien]

1.9.2 (2013-08-13)

  • Make some methods of TypesWidget unpublishable. [davisagli]
  • Remove UIDResolver's resolve_url and protect UIDCatalogBrains' getObject. Protect ReferenceEngine's getReferences and getBackReferences. Add security declarations to functions in utils.py. (Security fixes from PloneHotfix20130618) [davisagli]
  • Pass request to field validation so errors are translated properly. [davisagli]
  • Add a transaction note when setting a default value for a field which doesn't have a storage yet [frapell]

1.9.1 (2013-05-29)

  • Fix computed widget, use getParentNode to get the parent object instead of aq_parent, like in field.pt (avoid Unauthorized error) [jfroche]

1.9.0 (2013-05-23)

  • Unmark creation_flag after object rename so we still know that the object is in the creation process in sub methods around the renaming functionnality (setId calls manage_beforeDelete, 'onDelete' event, ...) [gbastien]

1.8.7 (2013-04-06)

  • Ignore missing file and blob uploads during content_type validation [pjstevns]
  • Before validating the field, make sure you actually have the field objects for the type [vangheem]
  • Fix issue #7556 (https://dev.plone.org/ticket/7556) by adding validation of uploaded blobs by checking the allowable_content_types attribute of a field [pjstevns]
  • Provide fix for issue #9774 (https://dev.plone.org/ticket/9774) change import target and update order params in install_uidcatalog from setuphandlers has different order params [bogdangi]
  • Provide sane defaults for minute_step, which is an integer everywhere else. [tomgross]
  • Fix when using archetypes.schemaextender. the keyword widget call to field.getAccessor return None, so to let integrator do sth we need to said index name is equal to field name. [toutpt]
  • Don't fail if contenttype can not be acquired (eg PFG) [tomgross]
  • Translate selection values in base_view, fix #7627 (https://dev.plone.org/ticket/7627) [kiorky]

1.8.6 (2012-12-09)

1.8.5 (2012-11-15)

  • Disallow downloading files via the at_download script if the user does not have the field's read_permission. This addresses a security vulnerability discussed at http://plone.org/products/plone/security/advisories/20121106/17 [davisagli]
  • Add minute_step to CalendarWidget so we can define another minute step than hardcoded 5 for now [gbastien]
  • If form tabbing is allowed, make sure we can still track the current fieldset if form submission returns to the edit form. [davisagli]
  • Fix inline validation for items in the portal_factory. [davisagli]
  • Change used event to update metadata during copy&paste fixes #13326 and makes 1.8.5 compatible with LinguaPlone again. [do3cc]

1.8.4 (2012-10-15)

  • Add support for non-KSS-based inline validation. [davisagli]
  • Fixed some problems with IntDisplayList. [maurits]
  • Update object creation date on paste; closes https://dev.plone.org/ticket/9896 . [davidblewett]
  • Import getBrain from Products.ZSQLMethods and declare dependency for Zope trunk compatibility. [elro]
  • Always add alt to image when shown in file widget [maartenkling]

1.8.3 (2012-08-23)

  • Fixed i18n regression introduced in 1.8 in several templates. [vincentfretin]

1.8.2 (2012-08-18)

  • tiff, psd and eps images scales are generated, in jpeg format. Fixes thumbnail view and main view for image contents with tif, psd or eps file. With tif files, scales were generated but couldn't be seen in Plone UI ; psd and eps scales weren't generated. Refs https://dev.plone.org/ticket/13077 [thomasdesvenain]
  • BaseObject.setId(): Remove leading/trailing space from given id. Fixes http://dev.plone.org/ticket/8338 (test still needed). [patch by stxnext, applied by kleist]
  • Changed deprecated getSiteEncoding to hardcoded utf-8 [tom_gross]

1.8.1 (2012-07-02)

  • BaseObject.py, CatalogMultiplex.py, mimetype_utils.py, UIDCatalog.py: Don't use list as default parameter value. [kleist]

1.8 (2012-05-25)

  • PEP 8 (ignoring W602, W604, E231, E241, E301, E302, E501 and E701). [hvelarde]
  • Remove remaining hard-coded required markers. The 1.7.14 change only got one of them. [smcmahon]
  • Moved form help from a div after form field labels to a span within. The purpose is to semantically associate the label to the form help so that it's more useful to a screen reader user. Note that sunburst's public.css and classic's form.css.dtml were simultaneously changed to assure block display of help in normal font-weight. Closes http://dev.plone.org/ticket/7212, an accessibility ticket. [smcmahon]
  • Deprecated aliases were replaced on tests. [hvelarde]

1.7.14 (2012-05-07)

  • removed hardcoded required icon. It can and should be set by CSS as it is done in the formTabs [tom_gross]
  • added 'placeholder' support for StringWidget, DecimalWidget and IntegerWidget [zopyx]

1.7.13 (2012-04-09)

  • Make sure inline editing calls target the id="parent-fieldname-$fieldName-$UID" on text fields. Closes http://dev.plone.org/ticket/12465 [esteele]
  • Fixed the KeywordWidget template and JavaScript source. the widget can now be used for fields with name different from "subject". Also multiple istances of this field can be used in the same page. See http://dev.plone.org/ticket/12218 [keul]

1.7.12 (2012-02-07)

1.7.11 (2012-01-26)

  • Archetypes ImageField converts GIF to PNG when it scales see http://dev.plone.org/plone/ticket/12472 [anthonygerrard]

  • Delete image also when field mutator is given a None argument. Previously, an image would only be deleted if given the string "DELETE_IMAGE".

    Note that we still return immediately if provided an empty string. [malthe]

1.7.10 (2011-11-24)

  • Fix DateTimeField.set() to handle all date formats DateTime handles. See discussion at http://dev.plone.org/plone/ticket/10141 [elro]
  • Add render_own_label to TypesWidget. Allows "special" widgets that need to render their own label/help text for styling to override it. Closes http://dev.plone.org/plone/ticket/12355 [ggozad, stefan]
  • Add new viewletmanger that enable extra markup before the fieldsets [jfroche]
  • Include UID of object in widget DOM ids, eg: id="parent-fieldname-$fieldName-$UID". This makes it possible to render multiple Archetype objects in the same view without duplicate DOM ids. This fixes http://dev.plone.org/ticket/9464 [rochecompaan]
  • Fix SelectionWidgets getSelected not return selected values if the value is a int with value 0 [martior]
  • Gracefully deal with ReferenceFields that had their referencesSortable flag changed after creation. [stefan]

1.7.9 (2011-09-19)

1.7.8 (2011-09-16)

  • Raise a NotFound exception when the at_download script cannot find the requested field. I have seen the Google bot trying to index at_download/info@example.org and at_download/www.example.org, which is obviously wrong. [maurits]

1.7.7 (2011-08-23)

  • Fixed http://dev.plone.org/plone/ticket/11387 (Missing & orphaned labels for check boxes and radio buttons) by deferring label generation for label, select and multi-select widgets to each widget's edit macro. In the case of the select and multi-select widgets, this allows the label to be generated (or not) once the format (checkbox, dropdown...) is known. Same for label for calendar widget. Thanks to mattbarkau and jdeluca for researching this and proposing a solution. [smcmahon]
  • When checking isVisible in validation, use instance, not widget as argument. [tesdal]
  • Do a double DateTime conversion to avoid timezone naive values. Refs http://dev.plone.org/plone/ticket/10141. [rossp]
  • Avoid site error when we display a file whose mimetype is unknown. Refs http://dev.plone.org/plone/ticket/12061. [thomasdesvenain]
  • Fixed initial content length used by textCounter. Length should be the length of a unicode string, not the utf-8 string. [vincentfretin]

1.7.6 - 2011-05-21

1.7.5 - 2011-05-12

  • Add forward compatibility with DateTime 3. [hannosch]
  • Avoid flagging base units as changed, if their values didn't actually change. [hannosch]
  • Clarify default value of BaseUnit.filename to be None instead of switching between None and an empty string in every request. [hannosch]
  • Rights field has text/plain format only. (If no allowable_format specified for secondary fields, we get unexpected behaviour) This refs http://dev.plone.org/plone/ticket/9345. [thomasdesvenain]
  • Put required field indicator inside the label tag, fixes #11726 [dimboo]

1.7.4 - 2011-04-03

  • Fix bug where a TextField's default_content_type was not respected when wrapping a non-BaseUnit value. [davisagli]
  • Fixed test setup to work with ZCA-based GenericSetup profile registry. [davisagli]
  • Fixed: all labels on edit form had 'display: block' css behaviour once there was keywords. [thomasdesvenain]

1.7.3 - 2011-03-02

  • Fixed i18n of new keywords widget. [vincentfretin]
  • Remove method docstrings in Referenceable and ReferenceEngine to prevent making them publishable. [davisagli]
  • Fixed handling of Anonymous ownership in ExtensibleMetadata, where the ownership tuple is None. Also triggered for views on FactoryTool-wrapped objects. [mj]

1.7.2 - 2011-02-04

  • Merge PLIP 11017: Tags MultiSelectionWidget w/scrollbar & checkboxes. [esteele]

1.7.1 - 2011-01-11

  • Include plone.app.viewletmanager package to clear up plone.app.layout test failures. [esteele]

1.7 - 2011-01-03

  • Merged optimizations from the experimental.atrefspeedup distribution into the reference engine. We avoid intersections with the large relationship index and loading the persistent reference objects where possible. [hannosch]
  • Fix Referenceable, UIDCatalog to support references to non-Archetypes-based content. [toutpt]
  • Use the new plone.uuid package to generate UUIDs. The UID() method is now an alias for IUUID(obj), which is the new preferred means of looking up a UUID, since this can also work for non-Archetypes content. Archetypes provides an IUUID() adapter that returns the value stored in the Archetypes UID attribute. For new content, UUIDs are generated using plone.uuid.interfaces.IUUIDGenerator, although old content will not (and need not) be migrated. [optilude]
  • Handle getCharset() returning None in Field.encode/decode. [elro]
  • Avoid various deprecation warnings under Zope 2.13. [hannosch]
  • Fixed a SyntaxWarning when using assert in the migrations module. [deo]
  • Cleaned OrderedBaseFolder by using OFS implementation of OrderSupport. [tom_gross]
  • Depend on Zope 2.13.1 [tom_gross]
  • Fixed textCounter JavaScript to work with fieldnames with hyphen. API of textCounter-method changed. Second parameter takes now the name of the counterfield, not the DOM object itself. https://dev.plone.org/plone/ticket/11334 [tom_gross]

1.6.5 - 2011-02-25

  • Remove method docstrings in Referenceable and ReferenceEngine to prevent making them publishable. [davisagli]
  • Handle getCharset() returning None in Field.encode/decode. [elro]
  • Avoid various deprecation warnings under Zope 2.13. [hannosch]
  • Fixed a SyntaxWarning when using assert in the migrations module. [deo]
  • Fixed textCounter JavaScript to work with fieldnames with hyphen. API of textCounter-method changed. Second parameter takes now the name of the counterfield, not the DOM object itself. http://dev.plone.org/plone/ticket/11334 [tom_gross]
  • Fixed handling of Anonymous ownership in ExtensibleMetadata, where the ownership tuple is None. Also triggered for views on FactoryTool-wrapped objects. [mj]

1.6.4 - 2010-11-06

  • Speed up the unicodeTestIn skin script. [maurits]
  • Fixed chameleon incompatibilities. [swampmonkey]

1.6.3 - 2010-09-30

  • Fixed TypeError introduced in the previous fix for the selection widget when the passed value was None. [maurits]

1.6.2 - 2010-09-28

  • Fixed error in the at_selection_widget view of a SelectionWidget if the vocabulary has integer keys (usually with an IntDisplayList). When a value has been filled in and the form is redisplayed (e.g. due to missing required input on a different field) you would loose the filled in value as it is submitted as a string, which is not in the vocabulary. (Fix forward ported from branch 1.5.) [maurits]

1.6.1 - 2010-07-18

  • Avoid duplicated import in OrderedBaseFolder.py. This closes http://dev.plone.org/plone/ticket/10425. [hannosch]
  • Downgrade a user warning to a debug message about explicit permissions set on custom accessor and mutator methods. [hannosch]
  • Removed outdated content_types.css used in the standard reference widget. [hannosch]

1.6 - 2010-07-01

  • Provide class default for new referencesSortable property. [sureshvv]

1.6b11 - 2010-06-13

  • Avoid deprecation warnings under Zope 2.13. [hannosch]
  • Avoid testing dependency on zope.app.testing. [hannosch]

1.6b10 - 2010-05-31

  • Fixed Chameleon compatibility of boolean widget. [hannosch]
  • Fixed invalid XHTML in base_view. [hannosch]

1.6b9 - 2010-05-01

  • Fix another regression in my CalendarWidget fix, to make it handle 12 p.m. correctly when using a 12-hour clock. Fixes http://dev.plone.org/plone/ticket/10487 [davisagli]
  • Simplify conversion of DateTime instances to non-ISO8601 representation. Refs http://dev.plone.org/plone/ticket/10141 [witsch]
  • Allow ReferenceFields to be sortable when referencesSortable is set True. [cah190,esteele]

1.6b8 - 2010-04-10

  • Fix a regression in my CalendarWidget fix, to make it handle hour '12' correctly when using a 12-hour clock. [davisagli]

1.6b7 - 2010-04-10

  • Make sure the CalendarWidget returns string representations of datetimes in a format that will be treated by the DateTimeField setter as being in the local timezone. [davisagli]

1.6b6 - 2010-04-08

  • Products.Archetypes.Field.DateTimeField.set: DateTime 2.12 changed the ISO-string behavior. Convert date values to a non-ISO8601 representation, so that DateTime respects the server's timezone and the date's "Daylight Saving Time" (DST) instead of assuming naive timezones. Refs http://dev.plone.org/plone/ticket/10141 [thet]
  • Replace the required field indicator image with a unicode box. Refs http://dev.plone.org/plone/ticket/10352 [davisagli, limi]
  • Update DateTimeField mutator to also accept value with a time zone, but still add the local zone if none was given. Refs http://dev.plone.org/plone/ticket/10141 [witsch]
  • fixed broken warnings.warn() parameters in Schema/_init__.py [ajung]

1.6b5 - 2010-03-08

1.6b4 - 2010-03-05

  • Fix issues with sliding modification/publishing dates by using DateTime's ISO8601 method instead of ISO, which doesn't include time zones. Refs http://dev.plone.org/plone/ticket/10140, 10141 & 10171. [davisagli, witsch]
  • Made base_view work for public items in private folders. This closes http://dev.plone.org/plone/ticket/9040. [hannosch]
  • Avoid str() on unicode objects before passing them to guess_content_type. [deichi]
  • More HTML validity fixes. The checkbox widget needs an element with an id for the label to attach to. [rossp]
  • Tolerate some cases where fieldName isn't defined yet. [rossp]
  • The AT widget renderer has potentially very useful support for rendering a widget for a field under a different name than the field name. But this support has never been fully integrated into the rest of the AT widget machinery. Also fixes validation errors with duplicate element ID's with widget uses such as the Topic criterion edit form. [rossp]
  • More useful description of what the description/summary is actually good for. [limi]

1.6b3 - 2010-02-17

  • Updated templates to follow recent markup conventions. References http://dev.plone.org/plone/ticket/9981. [spliter]
  • Let the file widget produce valid HTML. This closes http://dev.plone.org/plone/ticket/9948. [hannosch]
  • Ported the GenericSetup handlers for the reference and uid catalog from LinguaPlone into this package. [hannosch]
  • Sanitize the behavior of the 'alt' and 'title' attributes for the image_field.tag function. This closes http://dev.plone.org/plone/ticket/8756. [dukebody]
  • Move the fields and fieldsets calculations from base_edit to the view class. There's no good reason why we need to do nested list comprehensions in a template. [hannosch]

1.6b2 - 2010-01-29

1.6b1 - 2010-01-25

  • Portal variable no longer available via global definitions - fixed in skin widgets/reference.pt. [thet]
  • Inserted explicit i18n:translate for the form tabs to make sure Chameleon does the right thing. This fixes http://dev.plone.org/plone/ticket/9224 [limi]
  • Removed some test helper constants, support for Zope 2.9 has long gone. [hannosch]
  • Stop using the session_restore_value script. We never create a session in the first place, so looking for one is pointless. [hannosch]
  • Don't render an empty select tag when there are no keywords defined. This references http://dev.plone.org/plone/ticket/9222 [limi]
  • There's no attribute wrap=off for textareas in keywords. Removed. References http://dev.plone.org/plone/ticket/9222 [limi]
  • Avoid needless zodb writes while creating content in the portal_factory. Patch by hazmat. Merged from 1.5 branch. Fixes http://dev.plone.org/plone/ticket/9672 [maurits]
  • Actually use IImageField, and add markers for other field types just to be consistent. [optilude]

1.6a4 - 2009-12-27

  • Cleaned up manage_options for base types. No longer show unsupported ZMI screens. The functionality is still present for those that know its use and limitations. [hannosch]
  • Respect the use_combined_language_codes setting from portal_languages if PloneLanguageTool is installed. Fixes http://dev.plone.org/plone/ticket/8907. [erico_andrei, hannosch]
  • Let content_types.css.dtml no longer rely on content_icon. [hannosch]
  • Redirect to the object view URL when the user is coming from the edit view of the object and clicks the Cancel button. This closes http://dev.plone.org/plone/ticket/8853. [dukebody, thanks hannosch and wichert]
  • Fixed package dependencies. [hannosch]

1.6a3 - 2009-12-02

  • Fix a regression from my adjustments to AT factories, to make sure that the reference engine still gets initialized before initializeArchetype is called. [davisagli]

1.6a2 - 2009-11-17

  • Changed the language field in ExtensibleMetadata to respect the default language set on the portal_languages tool and remove incorrect "site default" from the "Language neutral" term. [hannosch]
  • Updated readme and fixed reST errors in changes.txt. [hannosch]

1.6a1 - 2009-11-17

  • Remove version.txt and functions that read it. [hannosch]
  • Modified the auto-generated type factories for compatibility with CMF 2.2. The _constructInstance method of CMF FTI objects now takes care of raising object events for old-style factories, so AT factories no longer raise their own events. [davisagli]
  • Restructured and restyled inandout widget to fix issue with rtl scripts. http://dev.plone.org/plone/ticket/5660 [emanlove]
  • Replaced the css_slot with the style_slot, as the deprecated css_slot is now really removed in Plone 4. [maurits+maartenkling]
  • Sanitized the log message handling. Added a simple log module based on Python's logging module. The log methods in the debug module calculate the entire stack frame on every log call. [hannosch]
  • "Categories" are now "Tags", in line with common usage and terminology. [limi]
  • Changed the test_metadata tests regarding dates to change reasonable times. Times around the year 1000 had somewhat different timezones. [hannosch]
  • Adjust to refactoring of CMFCatalogAware and PortalFolder's use of it. [davisagli]
  • Fix for missing short-name field due to removal of globals. http://dev.plone.org/plone/ticket/9429 [esteele]
  • Deprecated our own IOrderedContainer interface in favor of the version from OFS. We do require Zope 2.7 for a while now ;) [hannosch]
  • Declare package dependencies and fixed deprecation warnings for use of Globals. [hannosch]
  • Removed PloneCompat module and moved transaction_note to utils. [hannosch]
  • Removed tabindex and Iterator from the template scopes. Their use was discouraged long ago. [hannosch]
  • Removed utils.getPkgInfo and __pkginfo__. We use setuptools as our distribution and package information platform. [hannosch]
  • Removed unsupported AggregatedStorage. You can easily convert this into an add-on package if you use this storage. [hannosch]
  • Fixed remaining test failures caused by CMFPlone dependencies. Moved normalizeString method to the edit view instead of requiring plone_utils. [hannosch]
  • Created a separate layer for Archetypes, that does not depend on the Five ZCML layer anymore. AT tests can finally be run in isolation of other installed packages. Fixed a couple of test failures which now have a deterministic output. [hannosch]
  • Removed a couple of assert statements which wouldn't help in any way. [hannosch]
  • Changed all references to here in all templates to context. [hannosch]
  • Removed reference graph visualization based on graphviz. It is unmaintained and certainly not a core feature. [hannosch]
  • TextField._process_input doesn't forward **kwargs this fix https://dev.plone.org/plone/ticket/7597 [garbas]
  • Traverse to plone_utils tool instead of relying on it being available in global variable scope. [malthe]
  • Do not add empty schemas into a CompositeSchema anymore. This closes http://dev.plone.org/plone/ticket/7584. [hannosch]
  • Removed deprecated _guessPackage method. This closes http://dev.plone.org/plone/ticket/7569. [davisagli]
  • Normalizing the "id" attribute for fieldsets and fieldset legends, so javascript schemata selection works for schematas that have spaces in the title. This closes http://dev.plone.org/plone/ticket/7999. [rsantos]
  • Added a missing alt tag to the image in the file widget. This closes http://dev.plone.org/plone/ticket/7763. [hannosch]
  • Removed the rebuild catalog tab from the reference and uid catalog. The method is still there and can be accessed via the URL, but you won't accidentally click on a tab in the ZMI anymore and have your catalog be rebuilt without a warning. This closes http://dev.plone.org/plone/ticket/8093. [hannosch]
  • Fixed the SelectionWidget view to keep the order of the passed in values on output and not sort after arbitrary Python internal dict order. This closes http://dev.plone.org/plone/ticket/7272. [hannosch]
  • Fixed a macro expansion error when customizing templates which used the folderlisting macro from base.pt. This closes http://dev.plone.org/plone/ticket/6672. [hannosch]
  • Purged old Zope 2 Interface interfaces for Zope 2.12 compatibility. Consider branching before this revision if release required before Plone 4. [elro]
  • Avoid a failure in addCreator when called on an object without an Acquisition chain. [hannosch]
  • Remove the long long deprecated 'type' class variable, which was replaced with 'schema'. [wichert]
  • Allow fields to supply their own PdataStreamIterator. This closes http://dev.plone.org/plone/ticket/7572. [hannosch]
  • Fixed off-by-two error in transaction_note. This refs http://dev.plone.org/plone/ticket/7610. [hannosch]
  • Add a new publish traverse that exposes image fields and their scales. This removes the need for content types to have a __bobo_traverse__ method. [wichert]
  • Move export/import step registrations to exportimport/configure.zcml. This change requires CMF trunk. [stefan]
  • Added dependencies to GenericSetup profile. [hannosch]
  • Removed five:implements statements from ZCML, which are already done in the classes themselves. [hannosch]
  • Minor tweak in the calendar widget. [deo, hannosch]
  • Converted Archetypes tests to use CMFTestCase as a base again, instead of PloneTestCase. Fixed all tests / code to actually work without Plone installed. [hannosch]
  • Removed Archetypes Site customization policy. [hannosch]
  • Removed deprecated code. [hannosch]
  • Moved rejectAnonymous script from CMFPlone over, as it is still used inside base_metadata.cpt. [hannosch]

1.5.16 - unreleased

  • Fix the ImageWidget's preview_tag method to fetch the available scale sizes correctly using the field's getAvailableSizes method, rather than assuming its sizes attribute is a dictionary, since callables are allowed. [davisagli]
  • Sanitize the behaviour of the 'alt' and 'title' attributes for the image_field.tag function. This closes http://dev.plone.org/plone/ticket/8756. [dukebody]

1.5.15 - 2010-01-25

1.5.14 - 2010-01-14

  • FixedPointField required validation now counts zero as a value, and the default default value is now None like other numeric fields, rather than 0.00. This closes http://dev.plone.org/old/plone/ticket/9414. [kilobug, davisagli]
  • Pass request when testing validation in test_fields. [ccrownhart, jnelson, tesdal]
  • Use the same default messages than in Plone for label_effective_date and help_expiration_date msgids. There is no new strings to translate. See http://dev.plone.org/plone/ticket/9633 [vincentfretin]

1.5.12 - 2009-09-06

  • Replaced fti/title_or_id by fti/Title in edit_macros.pt. This fixes content type title translation when the i18n domain is different of plone. Note that the Title method defined in Products.CMFCore.TypesTool.TypeInformation takes care of id fallback if the title is not defined. [vincentfretin]
  • Fix mapping for an i18n string in Field.validate_vocabulary. This closes http://dev.plone.org/plone/ticket/9287 [vincentfretin]
  • BaseObject.getCharset() now supports extraction of the default_charset for plain CMF sites. [ajung]

1.5.11 - 2009-03-30

  • When saving an AT object only validate the visible fields in the schema. (avoids hidden and invisible ones). Fixes http://dev.plone.org/plone/ticket/7964 [massimo]
  • Fix XML validity in base_edit. [mborch]
  • Extinguishing last use of document_actions and add missing documentFirstHeading class in the metadata_macros template. [limi]
  • check unrendered widget in KeywordWidget process_form. Fix for http://dev.plone.org/plone/ticket/8738 [gotcha]
  • Add implements-flag for ICatalogableDublinCore to ExtensibleMetadata. [wichert]

1.5.10 - 2008-09-30

1.5.9 - 2008-07-02

  • According to rfc1806 the header is Content-Disposition not Content-disposition. Case matters, at least for IE6 (and results in IE6-typical strange effects). [jensens]
  • Add a new archetypes.edit.afterfieldsets viewlet manager which can be used as a replacement of the extra_bottom slot on the edit view. [wichert]
  • Add 'keepReferencesOnCopy' option to ReferenceField, which allows control over whether references of that field are copied on copy or not. This defaults to False. [daftdog, nouri]
  • Backported the fix for the KeywordWidget 'checkbox' format support. [deo]

1.5.8 - 2008-04-21

  • Fix code in 'Field.validate_vocabulary' that would validate a set of values OK if the last element was in the vocabulary, but others weren't. This closes http://dev.plone.org/plone/ticket/7809 [nouri]
  • Change BooleanField to return actual booleans instead of the raw value. [wichert]
  • Fixed validation messages to translate the inner parts of the mappings explicitly. This fixes the '${label_foo} is required, please correct.' messages. [hannosch]
  • Remove invalid leading whitespace in hrefs. [wichert]
  • Fixed NameError in Field.py when an error occurs in a transform. This closes http://dev.plone.org/plone/ticket/7905. [hannosch, sidnei]
  • Add a new preview_scale property to ImageWidget. This is used by the edit view when showing the image. If the scale is not present the previous logic (only show if the image is <100kB in size) is used. [wichert]
  • Add a new formQuestion class to field labels. [dannyb]
  • Don't show the 'next' button if we allow tabbing, i.e. we're displaying all schematas on the same page. Fixes http://dev.plone.org/plone/ticket/6936 [nouri]

1.5.7 - 2008-03-08

1.5.6 - 2008-02-15

  • Add a plone.locking unlock subscriber for IObjectInitializedEvent. This ensures non portal_factory (and LinguaPlone translations) are unlocked after creation. [ldr]
  • Show the plone.abovecontentbody viewlets once per body instead of once per field. [wichert]
  • Add checkbox in updateSchemaForm to remove the instance schemas. This is possibly needed when going from Archetypes 1.5.1 or earlier to a newer version. Should be safe unless you know that you have content items with local schemata that you need to keep. [maurits]
  • In mkDummyInContext use _setObject instead of setattr. This means dummy content in the tests shows up when using context.objectIds(). [maurits]
  • Remove test dependency on ArchetypesTestUpdateSchema as this does not work on Zope > 2.7. Unused tests removed. [maurits]
  • Changed 'form.inlineForm' in 'archetypes_kss/at.kss' to use 'kssSubmitForm' instead of simply 'currentForm'. This is needed to support multi-valued form variables in inline editing. This is dependent on http://dev.plone.org/archetypes/changeset/9200 [raphael]
  • Calling getDefault twice is unnecessarily slow and could potentially cause bugs when a default_method returning an object is used for the field. In that case the field would get initialized with one instance, but a second, different instance would be returned from the call to get. [witsch]

1.5.5 - 2007-12-29

  • If allow_discussion is set as an attribute on a content type class, ExtensibleMetaData.allowDiscussion() may hit a bug in CMF 2.1.0's CMFDefault.DiscussionTool.overrideDiscussionFor() that tries to delete a missing attribute, causing an AttributeError. This may be avoided by using GS instead of a class attribute to control discussion on the type, but there's no reason I can see to break old code. Fixed by catching exception. Closes http://dev.plone.org/archetypes/ticket/761 [smcmahon]
  • Archetypes should inform the widgets when processing the form in the validation phase. This closes http://dev.plone.org/archetypes/ticket/760 [deo]
  • Backported the fixes from r8665 and r8804: zope.i18n.translate calls should use the request, not the instance itself as the context. [deo]

1.5.4 - 2007-11-07

  • Made the getSelection method in browser/widgets.py return the selection in the character set of the vocabulary -- not the input value. Fixes issue #759, UnicodeDecodeError with selection/multiselection widgets. [smcmahon]
  • CalendarWidget would not return a value without JavaScript support from calendar_formfield.js. This is disabled for unauthenticated users in Plone 3. Added a process_form override method to CalendarWidget to assemble the input components. [smcmahon]
  • Revert http://dev.plone.org/archetypes/changeset/8683 - Dont skip the 'metadata' schema in base_edit. Wichert and I agreed thats this is wrong. Specially inside a bug-fix release. If theres a good reason to remove the metadata from fieldsets, we can do it in the next release. The UI was broken as well, btw. [jensens, wiggy]

1.5.3 - 2007-10-07

  • Skip the 'metadata' schema in base_edit, like we used to do it pre-1.5. Also, do not render fieldset and legend elements when we're only displaying one fieldset, i.e. the 'default' one. [nouri]
  • Provide bbb alias for ReferenceEngine.UIDCatalog. This closes http://dev.plone.org/plone/ticket/6507. [hannosch, naro]
  • Restore use of the defaultLanguage method for the language field and undeprecate it. This is done for two reasons: there is no alternative to this feature, which LinguaPlone requires, and there never was a deprecation warning. [wichert]
  • Fix clicking on the "next" or "previous" button raises 'Non-existing fieldset: None'. http://dev.plone.org/archetypes/ticket/754 [encolpe]
  • Forward-ported the disable-delete-option-when-required feature of image widgets from 1.4. [mj]
  • Re-added UIDCatalog import to ReferenceEngine for sites migrating from Plone 2.1 (where the UIDCatalog is a class in that module). [mj]

1.5.2 - 2007-09-12

  • Changed browser/configure.zcml to update unnecessarily restrictive permissions for two widget views. These were requiring ModifyPortalContent even though they exposed no private information, thus making the widgets less useful outside Archetypes. [smcmahon]
  • Made OrderedContainer implement OFS.interfaces.IOrderedContainer. Fixes bug #7084 in Plone issue tracker. [rocky]
  • Update schema handling code to always use self.Schema() to get the current schema and never (re)set self.schema. [wichert]
  • Fix the change made in 1.5.1 which produced invalid XHTML [limi]

1.5.1 - 2007-09-10

  • Updating the AT widget views to be rendered inline, so they can be invoked in View mode by KSS without any special magic. This is a prerequisite for bug #6705 in the Plone issue tracker. [limi]

1.5.0 - 2007-08-16

  • ImageField.set used 'size' attribute instead of 'get_size' API.
  • added support for default DCMI "Right" using the portal_metadata tool. This closes http://dev.plone.org/plone/ticket/5831. Remark: overall support of portal_metadata is very poor. [jensens]
  • Removed hard dependency on the plone.locking package. [hannosch]
  • Removed a hard dependency on the plone.i18n package in Field.py. [hannosch]
  • Don't attempt to convert to 'text/plain' in Archetypes.Field.FileField.getIndexable if there's no path to it. This avoids loading the whole file contents into memory for these cases. [nouri, drjnut]

1.5.0-rc3 - 2007-07-27

1.5.0-rc2 - 2007-07-13

  • Added a special fieldproperty type for reference fields, with a more generic base class for any field accessors/mutators that need to acquire tools. This uses a workaround for the fact that not all tools are utilities (yet) and acquisition doesn't work properly in property descriptors. [optilude]
  • Fixed allowDiscussion handling in ExtensibleMetadata. This closes http://dev.plone.org/plone/ticket/5977. [hannosch]

1.5.0-rc1 - 2007-07-04

1.5.0-b5 - 2007-05-05

  • Never validate fields that are not writeable. [optilude]
  • Remove colors from log entries. [wichert]

1.5.0-b4 - 2007-04-28

  • Added an ATDateTimeFieldProperty version of the ATFieldProperty mentioned below. This takes care of conversion between Zope 2 DateTime's and Python datetime objects. [optilude]
  • Convert filename to ASCII in Content-Disposition header on download. This fixes #620. [nouri]
  • Added Products.Archetypes.fieldproperty.ATFieldProperty, which can be used analogously to zope.schema.fieldproperty.FieldProperty for Archetypes fields. See the doctest in that module for details. [optilude]
  • Added an at_textarea_widget view and used it instead of the checkSelected, unicodeEncode and lookupMime scripts on the textarea and visual widgets. [hannosch]
  • Replaced the getSelectionWidgetSelected script introduced in beta2 with the at_selection_widget browser view. This allows us to use a Python generator and safes us from iterating over all values in the vocabulary, when the first value is already the selected one. [hannosch]
  • Make the boolean widget work correctly with or without javascript. [elvix]
  • Removed the default value for starting_year from the CalendarWidget. This ensures the value can be looked up dynamically from the properties. [hannosch]
  • Disable the content border when an object is being added using portal_factory. These tabs don't make sense in an "add form" scenario, and were causing errors. [optilude]

1.5.0-b3 - 2007-03-20

  • Refactored installation code. This is now based on a GenericSetup extension profile instead of the old Extensions/Install.py way. [hannosch]
  • Removed tests/runalltests.py and tests/framework.py as they have outlived their usefulness. To run tests use Zope's testrunner: ./bin/zopectl test --nowarn -s Products.Archetypes [stefan]
  • Added the Location element (also known as Coverage in Dublin Core) to the standard metadata set. This allows lots of interesting things like geotagging of images, location notices on news items, etc. [limi]

1.5.0-b2 - 2007-03-05

  • Added a new LanguageWidget that does the same as the SelectionWidget but does not try to translate the vocabulary using the normal translation machinery. It should use the Zope 3 locales information instead. [hannosch]
  • Speed up the selection widget considerably by calculating the selected values ones and not for every value in the selection using a new getSelectionWidgetSelected script. [hannosch]
  • Modernized some code in checkSelected and unicodeEncode scripts. [hannosch]
  • Removed explicit invocations of the translate script from various vocabulary widgets. The getValue method of a vocabulary returns a Message which can be translated by the usual TAL engine. [hannosch]
  • Allow field defaults to be looked up using an adapter of the instance to IFieldDefaultProvider, with a name that is the same as the field name in question (only if no default or default_method was set for that field). This allows dynamically determined, context-sensitive defaults without having to add a method into the class itself. [optilude]
  • Make it possible to use vocabulary_factory for fields, giving the name of a Zope 3 style named IVocabularyFactory utility. This means that Archetypes fields can use more general Zope 3 vocabularies, and share them with e.g. formlib forms. [optilude]

1.5.0-b1 - 2007-02-27

  • Fixed deprecation warnings for minimalpath in skins install code. [hannosch]
  • Updated error message handling in validation to use Zope3-style translation, which is available in the latest PTS. [hannosch]
  • FileField is now a bit cleverer about indexing. If you set a file field to be 'searchable' it will now per default attempt to convert it to plain text on indexing. [nouri]
  • Replaced status message handling with new approach based on Products.statusmessages. This refs http://dev.plone.org/plone/ticket/6131. [hannosch]
  • Automatic title to id generation is now optionally based on the plone.i18n package instead of requiring the plone_tool. [hannosch]
  • Merged the plip174-reusable-i18n branch. This adds the optional ability to control the language metadata on objects by an utility approach based on plone.i18n. [hannosch]

1.5.0-a2 - 2007-02-06

  • Removed the typeDescription and typeDescMsgId attributes from all content classes. These were only used on the edit form which has been altered to use the Description method from the type information instead. [hannosch]
  • Removed some BBB code in generator/i18n.py. [hannosch]
  • Adjusted some code to work better with the CMF 2.1 tools as utilities work. [hannosch]
  • Fix failing test in traversal.txt:184, where an acquired template overrode a view. Added logic to BaseObject.__bobo_traverse__ to make sure the right order is respected. [nouri]
  • Turned off debug mode for writeable checks on fields per default, as this caused a major performance problem with KSS. [hannosch]
  • Made it work with the kss merge in. Some templates are modified, extra markup is added and a kss decorator view is defined that is overwritten if kss is loaded. Currently the addability support in the reference and inandout widgets has its javasacript commented out, this needs to get fixed asap. [ree]
  • By default base_edit will show all fields of all schemas on one page now. The old behaviour can be kept by marking a content type with the IMultiPageSchema interface. [fschulze]
  • Made ATSiteTestCase inherit its layer from PloneTestCase. [stefan]
  • Fixed a DeprecationWarning for listContentTypes(by_metatype=1). [hannosch]

1.5.0-a1 - 2006-10-25

  • Cleaned up event usage: IObjectCreatedEvent is now fired during generated constructor, and two custom events are fired during processForm() - IObjectInitializedEvent and IObjectEditedEvent. Both inherit from IObjectModifiedEvent, and the Initialized event is fired on the first save, whereas the Edited event is fired on subsequent saves. [optilude]
  • Applied patch from George Lee and modernised code a bit for Zope 2.10, to support event-based pre- and post-validation. See interfaces/_event.py [optilude]
  • Cleaned up VarClassGen a bit to make it potentially useful for people needing it as part of a custom ISchema adapter. [optilude]
  • Made it possible to look up AT schema using an adapter from self to ISchema. See note in Schema/factory.py. [whit, optilude]
  • Fix #585 by providing the right arguments for testCondition in templates. [nouri]
  • Added small optimizations for DisplayLists to not translate values of type Message by itself, added some tests. [hannosch]
  • Deprecated explicit msgid attributes on DisplayLists. Store Zope3 Messages directly as values instead to get the same behavior. [hannosch]
  • Deprecated the generator.i18n module. We use the translate method of the GlobalTranslationService directly for now, as long as we support PlacelessTranslationService. Ultimately this should be replaced by calls to 'from zope.i18n import translate' [hannosch]
  • Removed outdated message catalogs and changed the few remaining texts in the 'archetypes' domain to use the 'plone' domain instead. The translation files can be found as usual as part of the PloneTranslations product. [hannosch]
  • Changed BaseObject and ExtensibleMetadata to use new Message approach for internationalization of labels and descriptions. [hannosch]
  • Optimized the basic widget for the new default case of labels and descriptions as Messages. These are not translated automatically anymore but this is delayed to be triggered by the time they are rendered in a TAL context. This will ultimately safe quite some translation machinery hackery. [hannosch]
  • Modernized DisplayLists to use isinstance instead of type checking. Now derived string types like Messages are allowed as keys and values as well. [hannosch]
  • Removed last bits of dependency version checks from __init__.py as well as support for INSTALL_DEMO_TYPES. These types are not meant to be used in a live site but only serve as code examples and are used during test runs. [hannosch]
  • Renamed sample_content profile to sample_types as it only includes types but no content ;) This profile is not registered globally anymore but only during test runs, as these types aren't meant to be used for anything else. [hannosch]
  • Marked Base* as implementing their Z3 interfaces. [hannosch]
  • Based tests on PloneTestCase with extension profile support for site setup. [hannosch]
  • Added (Default) alias to base_view to all sample types, so calling them will still work in CMF >= 2.0. [hannosch]
  • Removed deprecated spec argument from listFolderContents and folderlistingFolderContents of BaseFolderMixin. [hannosch]
  • Changed import of TAL.ndiff to zope.tal.ndiff. [hannosch]
  • Cleaned up XXX comments, converted non-critical ones to TODO. [hannosch]
  • Removed five:traversable from configure.zcml as it is not needed anymore for Zope 2.10, which we require now. [hannosch]
  • Cleaned up some comments, removed a pdb and an unused zLOG import. [hannosch]
  • Removed some more BBB code. [hannosch]
  • Removed deprecated ArchetypesTestCase.py. [hannosch]
  • Adjusted rest tests to Zope2.10 output. [hannosch]
  • Remove BBB code for calendar_macros. [hannosch]

1.4.5 unreleased

  • Encode values in Field.toString so we do not fall over fields with unicode default values that contain non-ASCII text. [wichert]
  • Fixed possible Unicode problem in BaseObject's SearchableText. This closes http://dev.plone.org/archetypes/ticket/720. [hannosch]

1.4.3 - 2011-05-21

  • Add an ObjectModifiedEvent right after initializeArchetype, since that modifies the object with default values defined in the schema. [nouri]
  • Fix http://dev.plone.org/archetypes/ticket/712: Do not put security declarations on a ComputedAttribute, or on 'def content_type(self)'. [mj]
  • BooleanWidget always displays 'True' and 'False'. This is very IT-centric! In real world people prefer 'Yes' and 'No' - or custom settings. Latter was fixed before, but Archetypes should have a sane default behaviour, so its now changed to display 'Yes' and 'No' - and is l10n aware. [jensens]
  • BooleanWidget offers to show something different than True/ False in view macro using a vocabulary. Unfortunally it passed a boolean to the DisplayList, which raised a TypeError. Now we pass the string representations 'True' and 'False using 'str(key)', so one can define a vocabulary like [('True', 'Yes'), ('False', 'No')]. [jensens]
  • Fix http://dev.plone.org/archetypes/ticket/686: "zid.pt does not respect the portal wide visible_ids setting". [nouri]
  • The last change expected portal_type global available. This is true for all good archetypes products ;-) but failed with CacheSetup, where editmacros was called w/o setting it. Archetypes now ignores this missing global and inititalize it to 'unknowntype'. [jensens]
  • for better css styling hpeter added a class and a id to edit_macros form element, which enables per-type styling of base_edit. [jensens]
  • Fix unicodeEncode skin method to deal with sequences; fixes SelectionWidget with underlying LinesField case where the current value was not reflected in the edit widget. Fixes issue #705. [mj]
  • BaseContent.PUT will now also fire the object modified event. [nouri]
  • Update the base folder types to use sane permissions for manage_copyObjects, manage_pasteObjects, manage_renameObject(s) rather than the default 'View management screens' given by OFS.CopySupport (the permission mapping used is from Plone.PloneFolder) [alecm]
  • Backported the catalog unindexing silencer code from trunk, as in contrast to the former code on this branch it doesn't use any private attributes. [hannosch]
  • Fixed translation domain of two messages in go_back.cpy. These were missing from the Archetypes translation files. [hannosch]

1.4.2-final - 2006-12-15

  • Fixed missing declaration of timestamp property in TextAreaWidget for append_only mode. It may need a better intregration of plone datetime format property. [encolpe]
  • Fixed missing i18n statement for the text format label on visual widgets. This closes http://dev.plone.org/archetypes/ticket/687. [hannosch]
  • Fixed a minor issue of FixedPointField: It now works with integer default value. [jensens]
  • Add a try: finally: clause in AllowedTypesByIfaceMixin when deleting the typeinfo "temporarily" Fixes http://dev.plone.org/plone/ticket/5314 [alecm]
  • Fix the unique name finder during initial rename on create so that it checks the names validity. Fixes http://dev.plone.org/plone/ticket/5044 [alecm]
  • Fix BaseObject.isBinary to not assume AttributeStorage. Fixes http://dev.plone.org/plone/ticket/5822 [alecm]
  • Silenced more catalog unindexing log error messages by checking if an object exists in the catalog before uncataloging. [rocky]
  • Fixed #5963. Now all the first headers of the page have "documentFirstHeading" class applied. http://dev.plone.org/plone/ticket/5963 [spliter]
  • Fixed #5929. UID catalog rebuild broke path convention. http://dev.plone.org/plone/ticket/5929. [hannosch]
  • Made tests use layers for AT site setup. [stefan]

1.4.1-final - 2006-09-08

  • Fix #635. Large files were truncated on setFileName. In setFilename of FileField, we now set the filename attribute directly instead of retrieving the BaseObject, setting the filename and setting the object again. [nouri]
  • Fixed log_exc function in debug.py to print the actual exception including the traceback. [hannosch]
  • base_edit (anything calling processForm, actually) now fires off appropriate IObjectCreatedEvent and IObjectModifiedEvent zope 3 events [rocky]
  • Made the BaseObject __bobo_traverse__ fallback on Five traversal except in those cases where it would return something different. This allows views to override acquired attributes. (this change is not intended for Zope 2.10, which behaves differently) [alecm]
  • Fixed simple xhtml non-compliance and some erroneous i18n markup. [hannosch]
  • Make all WebDAV request types return NullResources on failure, not just PUT and MKCOL. This fixes a test failure resulting from some Zope traversal machinery tweaks. Thanks to sidnei for webdav guidance. [alecm]
  • Safari uses HTTP_ACCEPT=='/', which meant that the image widget never rendered an image due to some faulty boolean logic. [alecm]
  • Backport of fix for #585 from trunk [nouri]
  • Add a multiple catalog aware reindexObjectSecurity to BaseObject. This fixes problems with security checks in catalogs when objects are changed through other means than normal editing (such as workflow changes). [wichert]
  • Fix #670: addCreator function fails with AttributeError in ExtensibleMetadata. This closes http://dev.plone.org/archetypes/ticket/670 [nouri]

1.4.0-final - 2006-06-16

  • Undeprecated 'public', there are too many products relying on it and it's just a name change without any real benefit. [hannosch]

1.4.0-RC1 - 2006-06-02

  • Use zope.contenttype in favor of zope.app.content_types if available. [hannosch]
  • Added a new GenericSetup profile 'sample_content' which installs all available sample content types. This should mainly be used as a basis for the test setup. [hannosch]

1.4.0-beta1 - 2006-05-12

  • Added support for <catalog> entries to be added to the GenericSetup profile description of portal types to enable registration w/ multiple catalogs in the archetype_tool. [rafrombrc]
  • Fixed a problem in Field.py which could split mutibyte characters at a wrong position, which could cause encoding problem in mimetypes_registry. This closes http://dev.plone.org/plone/ticket/5214. [hannosch]
  • Add GenericSetup support for importing/exporting the catalog map from ArchetypeTool [wichert]
  • Use portal type instead of meta type for the catalog map. Add an option to config.py to switch back to the old behaviour. [wichert]
  • Removed some old commented out code. [hannosch]
  • Added a archetypes historyaware mixin, providing access to archetypes persistent revisions (including annotations). [mj]
  • Moved 'index_method' computation out from Extensions/utils.py into Field. Because we want SearchableText of BaseObject to use the 'index_method' too. This fixes http://dev.plone.org/archetypes/ticket/645 [nouri]
  • Avoid DeprecationWarnings for manageAddDelete methods and converted the logging infrastructure to use Python's logging module in favor of zLOG. [hannosch]
  • Removed reST-test-kludge. reStructuredText of Zope < 2.8 is buggy, don't bother with test failures. [stefan]
  • converted remaining interfaces and unconverted metadata due to issues with CMF1.5's bridges [whit]
  • converted add following modules to zope3 interfaces w/ backward bridges:: interfaces/_annotations.py interfaces/_field.py interfaces/_layer.py interfaces/_marshall.py interfaces/_metadata.py interfaces/_referenceengine.py interfaces/_schema.py interfaces/_storage.py [whit]
  • added makeBridgeMaker, makeZ3Bridges, and makeZ2Bridges to util to assist in bridging [whit]
  • removed superfluous bridge statements from zcml
  • Spring-cleaning of tests infrastructure. [hannosch]

1.4.0-alpha03 - 2006-03-26

  • Fixed some bizarro bug where the __call__ method of BaseFolder (i.e. render the default view) was instantiating a new CMFCore PortalFolderBase object and returning it (unrendered even). [alecm]
  • fixes #617: Do not catch KeyboardInterrupt. [jensens]
  • marked PhotoField as deprecated. After work done on ATImage and ImageField this one isnt needed anymore in Archetypes core. PhotoField and its supporting classes will be removed in AT 1.5 [jensens]
  • fixed #600: Auto-generated attributes are not protected by permissions. Attention: Enabling protection is a minor change in the config.py. Some products with code doing direct attribute access will break. People using and relying on those products can disable attribute protection, but better fix those Products. [jensens]
  • fixed #608: Protect id field by 'Copy or Move' [jensens]
  • fixed #637: Schema.moveField( ... after ) does incorrect reordering. Needed fixing of a buggy doctest. [jensens]
  • merged in code of Daniel Nouri to support multiple references with the same name between two objects, thsi is needed for example with Relations product. Thx Daniel. [jensens]
  • removed superfluos code from ClassGen. [jensens]
  • Removed some nonsense on PUT that would look at REQUEST._steps and try to catch a exception (which would never occur!). Made it use 'PATH_INFO' instead, with a fallback to 'self.getId()' which should suffice (PATH_INFO is always available as long as the request came in through ZPublisher.Publish). [sidnei]
  • PdataStreamIterator could potentially end up loading a persistent object after the ZODB connection had been closed. Made it use a temporary file to stream out the content so that large files don't end up using all the available memory. [sidnei]

1.4.0-alpha02 - 2006-02-23

  • Added check for duplicate 'accessor', 'edit_accessor' and 'mutator' method names on a schema's fields. Helps Joe Schmoe to get unstuck, hopefully. [sidnei]
  • dont generate 'Schema' method any more. its now part of BaseObject. [jensens]
  • seperated UIDCatalog from ReferenceEngine. [jensens]

1.4.0-alpha01 - 2006-01-26

  • Remove BBB code for CMFBTreeFolder import location. [hannosch]
  • Make import from Products.Archetypes.atapi import * default and deprecate public. [jensens]
  • Integrated 'generator' into Archetypes. [jensens]
  • Changed transactions use to new API and removed some Plone 2.0 backwards compatibility code [hannosch]
  • Changed imports of CMFCore.CMFCorePermissions to CMFCore.permissions [k_vertigo, hannosch]
  • DisplayLists should be a little less strict on their values. Now not only unicode itself but also types inherited from unicode are allowed. This is needed to handle zope.i18nmessageid.MessageID objects correctly. [hannosch]

1.3.10-final2 - 2006-09-14

1.3.9-final - 2006-05-16

  • Add a new generateNewId method to BaseObject which is used to suggest a new id when automatically renaming an object after creation. This makes it easier to used custom naming in derived types. [wichert]
  • Fix visual widget to not lose formatting if there's only one allowed content type - without passing this variable along, the field will revert to text/plain or MIME type guessing the second time it's saved. [optilude]

1.3.8-final - 2006-04-30

  • Cleanup of CatalogMultiplex: removed superfluos code, added docstring and comments. [jensens]
  • Moved 'index_method' computation out from Extensions/utils.py into Field. Because we want SearchableText of BaseObject to use the 'index_method' too. This fixes http://dev.plone.org/archetypes/ticket/645 [nouri]
  • Removed reST-test-kludge. reStructuredText of Zope < 2.8 is buggy, don't bother with test failures. [stefan]
  • Fixed WebDAV MOVE breaking references and cleaned up flagging of reference copying for good measure. Fixes http://dev.plone.org/archetypes/ticket/642 [sidnei]
  • Fixed up some templates that were abusing tabindexes to get unique ids on form elements. Tabindexes can no longer be used for this reliably since Plone 2.1.3, and repeat/var/number is cleaner anyway. [optilude]
  • fixed http://dev.plone.org/plone/ticket/5072 [jensens]
  • fixed #637: Schema.moveField( ... after ) does incorrect reordering. Needed fixing of a buggy doctest. [jensens]
  • Removed some nonsense on PUT that would look at REQUEST._steps and try to catch a exception (which would never occur!). Made it use 'PATH_INFO' instead, with a fallback to 'self.getId()' which should suffice (PATH_INFO is always available as long as the request came in through ZPublisher.Publish). [sidnei]
  • PdataStreamIterator could potentially end up loading a persistent object after the ZODB connection had been closed. Made it use a temporary file to stream out the content so that large files don't end up using all the available memory. [sidnei]
  • Changed sidneis last 'fix'. Dont raise an exception. This is changed behaviour and I cant accept this in a bugfix release. Prints out a deprecation message instead now, to not break Products relying on the old - odd - behaviour. [jensens]
  • Added check for duplicate 'accessor', 'edit_accessor' and 'mutator' method names on a schema's fields. Helps Joe Schmoe to get unstuck, hopefully. [sidnei]
  • Backported fix for failing Windows mime types: Original fix: http://dev.plone.org/archetypes/changeset/6005 Bug details here: http://dev.plone.org/plone/ticket/5109 [limi]
  • Cleanup of CatalogMultiplex: removed superfluos code, added docstring and comments. [jensens]
  • Fixed missing import of PersistentMapping. Closes http://dev.plone.org/plone/ticket/5182 [hannosch]
  • Usability fix for file widget ( widgets/file.pt ) so that the radiobuttons with 'Keep existing file' and similar are no longer shown if there is no file uploaded.
  • fixed bug in getBestIcon.py, use NotFound class but not 'NotFound' string in exception. [panjunyong]
  • fixed bug in AllowedTypesByIface, prevented to copy, paste, rename objects using the mixin. [jensens]
  • fixed problems introduced by last 'fix' of IdWidget zid.pt: Member and widget settings was ignored :-( [jensens]

1.3.7-final - 2006-01-16

  • fixed problems with IDWidget ignore_visible_ids in some setups. [sidnei, rafrombrc]

1.3.6-final - 2006-01-07

  • enable IDWidget to ignore global visible_ids setting and enable ids by adding a property ignore_visible_ids=False (default). If it is True the id (short name) is shown and the global or by-member setting is ignored. This is useful for types where control over the id is needed. [jensens]
  • 'Renderer' is used to set locals to context of rendered widgets. added prefix support for fieldnames in widgets to enable archetypes for multi- object edit forms. [jensens]
  • debug.ClassLog -> generateFrames calls pythons 'inspect' function. This breaks on at least one OS-X Tiger system with an IndexError (normal setup). Now IndexError is catched and ignored. [jensens]
  • cleanup of install_indexes magic to add index and metadata-columns to a catalog. also added an alternative method than 'schema()' to use, for example if a CatalogTool itself is archetypes based. The alternative i method is 'zcschema' and does not conflict with Archetypes schema attribute. [jensens]
  • Moved the byline to the header to be consistent with Plone 2.1. [limi]

1.3.6-RC1 - 2005-12-29

  • Make rename-after-creation resolve duplicates by appending -n, where n is a number, to the id when an existing object exists in the parent folder. This closes http://dev.plone.org/plone/ticket/4510.
  • Return the new PdataStreamIterator when a Pdata-like chain is found (we always assume this if the marshaller didn't return a string). This way it works better with ExternalEditor. [dreamcatcher]
  • PrimaryFieldMarshaller was overriding already computed 'length' with len(data). Yuck. [dreamcatcher]
  • Fixed http://dev.plone.org/plone/ticket/4768 - wrong status message. [hannosch]
  • Fixed typo in BaseBTreeFolder.__init__. Thanks jenner. [stefan]
  • Fixed http://plone.org/collector/4840. Resync some texts with Plone. [hannosch]
  • Fixed http://plone.org/collector/4981. BaseObject.__bobo_traverse__ now also handles HEAD requests. [stefan]
  • Made basically compatible with Zope 2.9 by using a wrapper around the transaction module. [hannosch]
  • Lower the bar for making folderish content implement WebDAV/FTP 'PUT' and 'GET' by adding a new flag __dav_marshall__ that just needs to be flipped to 'True' for folderish content. [dreamcatcher]
  • Finally changing the last toPortalTime call to toLocalizedTime [hannosch]
  • Permission for setting creation date and modification date: Portal Manager should it be allowed to set it manually! [yenzenz]

1.3.5-final - 2005-10-11

  • Fixed http://members.plone.org/collector/4709 __bobo_traverse__ calls will not be passing a RESPONSE argument. [alecm]
  • Fixed filename detection for temporary files on Windows. [dreamcatcher]
  • Fixed [ 1289596 ]. Field.ImageField.tag did not escape alt and title attributes. [elro] [stefan]
  • Repaired ClassGen as to not stomp over declarePublic and declarePrivate security declarations. Patch by Jens Vagelpohl. [dreamcatcher]
  • Fixed some places where a session was being created nedlessly. Now sessions will only be created when they are really used. I hope this is the last occurrence. [dreamcatcher]
  • Fixed at_post_create_script hook to only be called once (was previously called after every edit) and added an at_post_edit_script hook to be called on every subsequent edit (but not the first create/edit). [elro]

1.3.4-final - 2005-08-30

  • added tests if the test engine i working fine, this shows the effect of http://plone.org/collector/4487 verbose. [yenzenz]
  • applied patch to BaseObject.unmarkCreationFlag() with unwanted acquisition of at_post_create_script. thx Aparajita Fishman [yenzenz]
  • enabled renaming of fields while copy them. it eases field recycling. [yenzenz]
  • fixed [ 1265581 ] Deleting a file withn optional FileField/FielWidget breaks [yenzenz]
  • Fixed a number of issues related to the oversimplicity of CatalogMultiplex.manage_after*. Workflow state was not being reset on object copy, which is a minor security issue. Discussions were not being removed from the catalog when the parent was deleted. Copied discussions were not being added to the catalog. The owner local role was not being set on copy. CMFUid objects were not being removed on copy (critical for CMFEditions). CatalogMultiplex now delegates manage_after* methods to CMFCatalogAware (except manage_afterClone which it overrides to do a full reindex before delegating). Removed calls in BaseFolder to PortalFolder manage_after*, as those are just inherited directly from CMFCatalogAware whose methods are now used in CatalogMultiplex. [alecm]
  • Fixed an issue where copying a BaseBTreeFolder resulted in references on subobjects of that folder being duplicated due to bad inheritance of _getCopy. [alecm]
  • download of files from FileField: filenames where cutted at first space character in filename. report, fix/patch by LaurenceRowe, thx! [yenzenz]

1.3.4-rc3 - 2005-08-07

  • import of CMFBTreeFolder changed with CMF 1.5.3, kept it backward compatible. thx to TresEquis. [yenzenz]
  • FileField: On download provide a filename. Patch form Tim Hicks applied. Needs optional UI to change filename, atm it uses the name of the uploaded file. thx tim2p. [yenzenz]
  • theres no application/octet. http://www.iana.org/assignments/ thanks to lalo for this pick. [yenzenz]

1.3.4-rc2 - 2005-08-01

  • Skip image scales with a size of (0,0) [tiran]
  • Fixed handling of boolean usage in allowDiscussion for the CMF 1.5 DiscussionTool. [alecm]
  • Fixed two Marshaller bugs. PrimaryFieldMarshaller wasn't using the mutator for a field and RFC822 marshaller was trying to add field, image and object fields to the header. Fields of these types contain binary data or instances of OFS.Image.Image and can't be marshalled as header. [tiran]
  • Fixed [ 1209047 ] edit method broken on BaseBTreeFolder. Also added some im_func fu to BaseBTreeFolder. [tiran]
  • Fixed [ 1236601 ] bug in method getAvailableSizes() [tiran]
  • Fixed critical bug in RFC822 Marshaller w/ CMF 1.5 The CMFDefault.utils.parseHeadersBody function capitalizes the header names and breaks demarshalling. Marshall contains a light weight reimplementation. [tiran]
  • Added ftests for id autogeneration. [alecm]

1.3.4-rc1 - 2005-07-17

  • Fixed http-etag test. It now 1) refreshs etag on reindexObject and 2) also must update etag on metadata modification (like Title). [yenzenz]
  • Fixed bug when get full BaseUnit object from FileField [panjunyong]
  • Fixed file edit widget to disable upload by default when javascript enabled [panjunyong]
  • Fixed at_download to return values from field.download [panjunyong]
  • Tiny change to image.pt widget template to render a link directly to the image object [rafrombrc]
  • Added Five/Zope3 interface bridges [tiran]
  • Fix http://plone.org/collector/4268 Type descriptions were not translated and fixed the usage of archetype_name in templates. [hannosch]
  • Prefer isIDAutogenerated from plone_tool over the script if available. [alecm]
  • some minor i18n tweaks [hannosch]
  • Added options for PIL quality and resize algo to ImageField. [tiran]
  • Fixed #1212048: ReferenceField "set" broken for BaseBTreeFolder-based objs. [dpunktnpunkt]
  • Fixed #1230645: unnecessary call to str() method in SQLMethod. [dpunktnpunkt]

1.3.4-beta2 - 2005-07-06

  • Fixed outstanding errors with ImageField. ImageField is now using the same api and processing methods as FileField. Empty images are neither created nor returned by the accessor/mutator. [tiran]
  • Added a wrapper for indexing object in the uid catalog to fix unicode issues. [tiran]
  • Added AllowedTypesByIface, a mix-in that allows you to restrict allowed_content_types by interface. We want a better way to do this for 1.4. ArchGenXML support is under way. [dpunktnpunkt]
  • Reworked ArchetypeTool.listPortalTypesWithInterfaces. Note that the former version only returned AT types as well. [dpunktnpunkt]
  • Moved mark creation flag code from ATContentTypes 1.0 to AT. This is the right place for the code. It requires Plone 2.1 but doesn't barf if no or and older version is installed. [tiran, alecm]
  • As a part of the mark creation flag code the _renameAfterCreation() method is added. It can be turned on by setting _at_rename_after_creation to True. Thx to Alec Mitchell for his code! [tiran, alecm]
  • Fixed issue with ImageField where an empty string was passed down to PIL resulting in an exception. [tiran]
  • Updated the type registration code to be compatible with CMF 1.5 and to support method aliases and CMFDynamicViewFTI. [tiran]
  • Made utils.filterTypes compatible with CMF 1.5 [tiran]
  • generalised the interface detetection for types and listings of it in archetypes_tool and adapted TemplateMixin lists and detection to use this code. [yenzenz]
  • calendar_slot has been renamed to calendar_macros in Plone [hannosch]
  • Fixed failed test in ISchema: removed 'self' in interface method. [yenzenz]
  • Expose field creators of ExtensibleMetadata. [yenzenz, optilude, alecm]
  • Make it easy to rename fields and keep its content. Introduced a property old_field_name. Patch from Kai Hoppert. Thx! [yenzenz]
  • Merged madduck-refactor-content-edit-1_3 branch r4283:4363 into release-1_3-branch: content_edit.cpy cannot be called directly by other .cpy scripts, because FormController seems to bestow control upon content_edit.cpy on invocation. This patch moves the code (unchaned) to content_edit_impl.py and replaces content_edit.cpy with a simple call to this .py. As a result, SQLWindowStorage can use AT's content_edit and needs no code duplication, and AT continues to work as before. For reference, please see: http://thread.gmane.org/gmane.comp.web.zope.plone.archetypes.devel/4959 http://thread.gmane.org/gmane.comp.web.zope.plone.user/35620 [madduck]
  • Merged madduck-renderingfixes-1_3 branch r3956:4361 into release-1_3-branch: Reworked base_{view,edit} wrt CSS and Javascript. previously, CSS and Javascript were both rendered into the javascript_head_slot and there was no way to influence it really, other than on a per-field basis with helper_css and helper_js. No way to do it per-type though. My patch splits CSS into the css_slot and makes both templates look in the user templates for optional CSS/Javascript macros ('css' and 'javascript') much in the same way that the header/typedescription/body/footer parts are acquired. For base_edit, this is trivial since edit_macros is defined inside the css and javascript macros provided by the user (they are evaluated in the context of base_edit itself, which defines edit_macros). For base_view, this is not possible. Thus there is code duplication, which I documented in the form of comments in the templates. Added a condition to the errors span for each field in widgets/field.pt such that in the absence of an error, no HTML is generated. This avoids some rendering problems when multiple widgets are to be rendered on the same HTML line. [madduck]
  • Introduced manage_afterPUT and manage_afterMKCOL hooks that are called after a webdav or ftp PUT/MKCOL operation. [tiran]
  • Fixed MKCOL of BaseBTreeFolder to call the right MKCOL method from BaseFolder resp. SkinnedFolder. [tiran]
  • Moved document_actions above title on base.pt. [deo]

1.3.4-beta1 - 2005-05-20

  • Fixed [ 1192453 ] Typo in Extensions/utils.py on line 117. Thanks to salmacis. [yenzenz]
  • Solved unicode encoding problem on set of textfield. [yenzenz]
  • Unquoted filename when uploaded from ftp/webdav. [panjunyong]
  • Fixed [ 1184475 ] Template Mixin UI still borked. Attention: All types are bound to portal_type know. If you're using a type where meta_type!=portal_type you have to rebind your templates to the type! This should affect not too many people. [yenzenz]
  • Fix issue [ 1174598 ] default action title overrides custom title if set using 'name' instead of 'title'. [alecm]
  • Made the show_hm flag for CalendarWidget work. [alecm]
  • Added hidden macro to boolean widget fixes issue [ 1144139 ]. [alecm]

1.3.3-final - 2005-04-22

  • Changed default for Language metadata field to empty string (''). Also removed the undesired fallback magic. [stefan]
  • Fixed [ 1187630 ] AT rebuilds reference catalog by default on product install. [yenzenz]

1.3.3-rc3 - 2005-04-21

  • Added optional 'visible_only' argument to Schemata.editableFields(); modified base_edit to use 'visible_only=True' so the edit form will not display schemata that contain no visibly editable fields. Default behaviour for editableFields should remain the same. [rafrombrc]
  • Applied two performance optimizations: BaseObject.getCharset() no longer calls the PythonScript of same name. This method is called bazillions of times and using a script here is enormously wasteful. The script has been kept as fallback. ExtensibleMetadata.listCreators() now calls getOwnerTuple() instead of getOwner() to avoid lookup of user folder and user. [stefan]

1.3.3-rc2 - 2005-04-01

  • Fixed plone bug #3959 (http://plone.org/collector/3959), made OrderedContainer.moveObjectsByDelta not throw an error when passed the id of a non-contentish object. [alecm]
  • Fixed [ 1061971 ] maintain order in InAndOut and PickLists across edits. [alecm]
  • Fixed hidden variant of MultiSelectionWidget. [tiran]
  • Changed warnings.warn(...) to deprecated(..) from Archetypes.debug. [yenzenz]
  • Fixed [ 1171059 ] Archetypes should not set language explicitly on content. Default is set to None by default. For backward compatibility reasons, I added a switch in config to enable old behaviour. [yenzenz]
  • Added subject to SearchableText. [tiran]
  • Added ComputedAttributes for effective_date and expiration_date. [tiran]

1.3.3-rc1 - 2005-03-25

  • Fixed [ 1163878 ] Field.toString() always return the same thing. Thanks to flacoste for the patch. [yenzenz]
  • Fixed [ 1153525 ] zid.pt hidden mode hardcode field name. Thanks to flacoste for the patch. [yenzenz]
  • Fixed Referencefield making it possible to completely avoid ugly paths in the selectionlist (set vocabulary_display_path_bound=-1 to never get the paths). [elvix]
  • Fixed problem with encoding enforcement on TextField. Now has same behavior as StringField, but is neutral to old behaviour. If you call 'get' on a TextField and give a kwarg 'encoding' it has been ignored, now its used. It returns the encoding requested. [yenzenz]
  • Fixed [ 1160362 ] AT 1.3.2-final bug on PrimaryFieldMarshaller by adding the missing import of shasattr in Marshall. [tiran]
  • textarea.pt and image.pt were broken under 2.7.2 (newline in python expression). [gotcha]
  • Correct getMsgId on DisplayList (when using int keys) and IntDisplayList Fixes [ 1159248 ] IntDisplayList.getValue triggers DeprecationWarning. [gotcha]
  • Made ComputedFiled inherits from Field instead of ObjectField (which should only be used with fields that handle storages). [deo]

1.3.2-final - 2005-03-05

  • Made deprecation warnings less verbose. If someone wants them, switch DEBUG in config.py to True. [yenzenz]
  • Added IntDisplayList to the public module. [tiran]
  • Added Sidney's AttributeValidator to BaseObject. It's disabled for now because it might break third party software which relies on a broken behavior. You can enable it by setting ATTRIBUTE_SECURITY to True. [tiran]

1.3.2-rc1 - 2005-02-26

  • Using registerType without a package name is deprecated. Explict is better than implicit! [tiran]
  • Fixed DisplayList for int keys. The warning module was missing blush [tiran]
  • Added IntDisplayList to utils.py. Also I've coded some nice doc tests for DisplayList and IntDisplayList. [tiran]
  • Fixed[ 1118780 ] Bad validation for required IntegerFields with value zero Also the default values for IntegerField and FloatField are None instead of 0. [tiran]
  • Applied patch from [ 1076738 ] PrimaryFieldMarshaller: wrong length. [dmaurer]
  • Changed the reference tab permission to modify or review according to [ 1087990 ] 'References' action visible for everyone. [tiran]
  • Fixed customizationpolicy.py not to break if CMFPlone isn't available. [tiran]
  • Updated the requirements to Zope 2.7.4+. It may work with older versions of Zope 2.7.4 but due some serious memory leaks and some important bug fixes you should really use Zope 2.7.4! [tiran]
  • Backported CMFTestCase/PloneTestCase based test suite from AT 1.4 branch to AT 1.3. The unit test suite of AT 1.3 was horrible. Yeah you are allowed to beat me up but in excuse I must say it was first try in using ZopeTestCase. I've learned my lessons. In order to run the unit tests you have to install either CMF 1.4.7 + CMFTestCase + ZopeTestCase or Plone 2.0.5 + PloneTestCase + ZopeTestCase. For now only the CVS versions from sf.net collective are working properly. To run the unit tests go into the root of your testing instance and run: ZOPE_HOME/bin/test.py -v -C etc/zope.conf --libdir Products/Archetypes/ [tiran]
  • Fixed [ 1103955 ] ObjectManager raises (usually) AttributeError. [dmaurer]
  • Fixed [ 1074236 ] DDocument and Fact are broken in 1.3.1 final. [tiran]
  • Fixed [ 1093042 ] log warning for int keys in DisplayList. [tiran]
  • Fixed [ 1067212 ] missing security declaration for BaseFolder.manage_addFolder. [biza]
  • Fixed [ 1114892 ] should set to field, not fieldname in ObjectField.getRaw(). [madduck]
  • More OrderedDict fixes... wasn't overriding 'pop' method from base class, causing keys list and data to get out of sync if it were ever called. [rafrombrc]
  • Fixed broken implementation of moveObjectsByDelta in ordered base folder by copying my code from CMFPlone. I've fixed it in Plone over an year ago but I forgot to fix it in AT. [tiran]
  • Fixed [ 1114362 ] use format name instaed that mime type inside RichWidget. [dan_t]
  • Filtering schemata from showing up on base_edit unless user actually has edit privs to some of the fields. [rafrombrc]
  • Fixed utils.OrderedDict problems: - constructor was failing w/ non-empty argument - infinite loop when copy() was called [rafrombrc]
  • Changed UI for Image/File widgets. Should be a lot better now. [_ender_]
  • BaseUnit backward compability on very old bad migrated Archetypes 1.0 sites. Thanks to Brent M Hendricks <brentmh@rice.edu>. [yenzenz]
  • Commented out the View/Edit links for ordinary display - feel free to enable these in your site, but they should definitely not be there by default. [limi]
  • Added the last (and only) info that isn't being handled by AT for FTI: allow_discussion. Now you can define it at class level, as any other FTI property. The module level modify_fti method still exists for any advanced configuration. [deo]
  • Improved test for [ 1003868 ] to demonstrate the real problem: default_charset isn't respected. Now when db_encoding isn't defined, we give precedence to site_encoding and then fallback to utf-8. Bonus: there's no more need to mess with 'sys.getdefaultencoding()' to make tests run... ;-) [deo]
  • The subobject Wrapper class is now based on Acquisition.Explicit. And BaseObject's subobject works now. [panjunyong]
  • Applied ApeSupport changes needed for APE 1.0. Thanks to Roch?ompaan. Changed comment to doc-string. [yenzenz, zwork]
  • Added Italian translation. Thanks to Mirto Silvio Busico. [deo]
  • Change permission of OrderedBaseFolder's manage_renameObject to make FTP works. [panjunyong]
  • Fixedi [ 1053960 ] Cancel goes back to previous schemata page, thanks to Alec Mitchell. [yenzenz]
  • Fix redirect of ZMI constructor, fix ZMI base_add and base_edit. [__gotcha]
  • Fixed [ 1058669 ] Wrong i18n:translate in widgets/field.pt. [yenzenz]
  • Use method getFilename in at_download.pt instead of direct attribute access, which ignores BaseUnit. [yenzenz]
  • Fixed [ 1084278 ] In www/generateDebug.zpt error in * getTypeInfo(type['name']). [yenzenz]
  • Applied patch in [ 1076864 ] schemata links need css declaration, thanks to David Convent. [yenzenz]
  • Fixed [ 1067923 ] Field.py: ImageField.get_size does not work properly. [yenzenz]
  • Fixed bugs in the reference graph feature that was broken for me. [yenzenz]
  • Fixed [ 1066884 ] Field.py: getAvailableSizes 1.3.1-rc4. Thanks to Steve McMahon. [yenzenz]
  • Fixed path to kernel uuid pseudo file. [tiran]
  • Don't use the format selector from wysiwyg. [tiran]
  • Fixed __pkginfo__.py: use version.txt instead of coping a string to several places; changed license to the current license "BSD-like". [yenzenz]
  • Fixed reference cataloging when dealing with BTree folders. [brcwhit]
  • Fixed [ 948385 ] Allow wysiwyg editors to override RichWidget format pulldown. [duncanb, ender]
  • Fixed traversal/WebDAV for the nth time, now with tests. [dreamcatcher]
  • Fixed a possible problem when installing uid_catalog. [zopezen]
  • Added multi-field support to getFilename/setFilename and also getContentType/setContentType. Bonus: reformated ChangeLog... ;-) [deo]
  • Updated Catalan translation. Thanks to Albert Lombarte. [deo]

1.3.1-final - 2004-11-15

  • Some visual fixes to RichWidget and Field code + removed stray comments. [limi]
  • Fixed field tests. [yenzenz]

1.3.1-rc4 - 2004-11-06

  • reverted the patch from duncan because of too many bugs :( final decicion for 1.3.x: we keep the 1.3.0-final reference copy behaviour. [hazmat, geoffd, yenzenz]
  • fixed reference_slot, wasnt adapted to the new style reference engine. [yenzenz]

1.3.1-rc3 - 2004-11-05

  • There where lots of discussions about the behaviour of references while copying. it ends up in 1.3.0-final with the default behaviour to do not copy references if a object is copied. now this is for several use-cases a great problem, and it's also difficult to copy them afterwards. finally we decided to make it configureable per reference in 1.4.x. A solution for 1.3 is provided by the patch from duncan booth we applied here. its transparent to the 1.3.0-final behaviour. you now can set in archetypes tool the copying behaviour. it defaults to not copy references. [duncanb, yenzenz]
  • Changed boolean widget so that the checkbox is displayed before the label and not below the help text. Makes more sense UI wise. [_ender_]
  • Fix manage_delObjects of BaseFolderMixin that did not return anything. [__gotcha]
  • Allow comma as dezimal delimiter in FixedPointField and convert it immediatly to a point-delimited-value. The whole process needs a rewrite in 1.4, this here is only a quick non-immersive usability enhancement. [yenzenz]

1.3.1-rc1 - 2004-10-17

  • Fixed [ 1037265 ] Bug in ArchetypeTool:getWidgets(). Thanks to Tommy from IBAS for the catch. [deo]
  • Fixed a bug with TemplateMixin on folderish types: in navtree and on view tab the choosen template has been ignored, cause it felt back to an action folderlisting, which now is set to view instead. [yenzenz]
  • Applied patch contributed in [ 1038107 ] Problems with addable_types handling in ReferenceWidget. Thanks to Alec Mitchell for the patch. [yenzenz]
  • Added Archetypes Site customization policy. [tiran]
  • Changed it so that Title is not shown twice in view mode (once in the headline is fine, thank you ;) [limi]
  • Fixed [ 1042076 ] missing import in SQLMethod.py: atoi and time were missing. [tiran]
  • Fixed [ 1043114 ] WEBDAV folder creation broken. [tiran]
  • Updated quickref. Thanks to Jean Jordaan for his great work! [neaj, tiran]
  • Fixed [ 1037803 ] "AT Document Details" should be "Document Details" in edit Now Archetypes is using the portal type name by default instead of the archetype_name. You can change the new behavior by using a different type_name var in the templates. [tiran]
  • Added some ugly hacks to ship around [ 1040623 ] FTP upload broken. You may say it's fixed for AT 1.3 but for AT 1.4 we will have a much better implementation. [tiran]
  • Fixed [ 1038404 ] BaseFolder.mange_delObjects proteced by wrong permission. Now the method is protected by CMFCorePermissions.DeleteObjects instead of CMFCorePermissions.ModifyPortalContent which is exactly like Plone 2.x. [tiran]
  • Fixed [ 1038428 ] Unicode string in Subjects break base_metadata page. [tiran]
  • Partly fixed [ 1038450 ] Unauthorized due to BaseObject.__bobo_traverse__. Now __bobo_traverse__ is raising an AttributeError instead of returning None when the object can't be traversed. [dmauerer, tiran]
  • Added workaround for [ 1040514 ] AttributeError on some types after migration 1.2.4rc5->1.3.0 to BaseUnit. Somehow and sometimes the binary attribute gets lost magically. [tiran]
  • Extensions/utils.py (install_additional_templates): Added a method to automagically register classes that inherit from TemplateMixin. [deo]
  • Added Catalan translation file. Thanks to Albert Lombarte. [deo]
  • Added viewableFields() and editableFields() to Schema. The methods are returning only those fields that the current user is allowed to see/edit in the current context. [tiran]
  • Archetypes edit form is raising unauthorized if no editable fields are available. [tiran]
  • BaseContent.PUT and BaseUnit.PUT is also trying to get the uploaded data from BODY if BODYFILE is empty. [tiran]

1.3.0 - 2004-09-30

  • Fixed [ 1034649 ] Typo breaks catalog index creation: index_acessor -> index_accessori. [ronnix]

1.3.0-rc4 - 2004-09-25

  • Fixed [ 1032587 ] Error in field.Vocabulary. Thanks to Danny Bloemendaal for the catch. [deo]
  • Disabled two unit tests in test_marshaller because they were causing a memory fault in glibc. It's probably the cause of either wvWare or the test doc file. [tiran]
  • Added transaction_note to PloneCompat and use it instead of the one from Plone to keep backward comp. with CMF as requested on the mailing list. [tiran]

1.3.0-rc3 - 2004-09-18

  • Fixed misc unit tests that where broken or relied on a broken behavior. [dreamcatcher]
  • Merged patch from [ 1026732 ] base_metadata can not use 'add $type' reference button. [tiran]
  • Fixed [ 1029648 ] getBestIcon needs to be better. [tiran]
  • Partly fixed [ 1024966 ] Reference migration problem: 1.3a2 --> 1.3rc2. References without a relationship name will get the relationship name EMPTY_RELATIONSHIP which is 'related' by default. That should be fine for all people. [tiran]
  • Added 'swallowResizeExceptions' attribute to ImageField. When the property is set to True all exceptions raised by PIL are captured and the specified scale isn't created. Note: Some scales might be created when PIL fails only for some sizes. [tiran]
  • Field.ReferenceField: Simplify code a bit. Fix a typo on exception name. [dreamcatcher]
  • Fixed [ 1023153 ] isEmpty validator must return empty string by using the new isEmptyNoError validator. [tiran]
  • Fixed [ 1029231 ] base_metadata doesn't use JS scripts properly, also cleaned up the base_metadata and added support for helper CSS. [tiran, kai]
  • Fixed [ 1025842 ] Missing i18n:translate in widgets/field.pt <label> [tiran]
  • Cleaned up and fixed ExtensibleMetadata class: no more direct attribute access or attribute storage, rearranged some lines, use 'date is None and fallback or date' because testing for is None is, much faster than testing a DateTime instance for not None. [tiran]
  • Added SQL* and VariableSchemaSupport to public.py. Please import only from public! [tiran]
  • Added class and id attributes to fields rendered in view-mode (field.pt). These had been accidentally left out. [elvix]
  • Fixed problem with BaseBTreeFolder losing references. It was calling CMFBTreeFolder manage_* methods which would end calling PortalFolder.manage_* methods (as they are not overriden in the class hierarchy) twice. The second type it would remove the references as there's a monkeypatch on Archetypes/patches.py which sets _v_cp_refs to None when calling CMFCatalogAware.manage_beforeDelete. [dreamcatcher]
  • Fixed copy problem with AggregatedStorage by added __getstate__ and __setstate__ methods. Before the chances copy.deepcopy was trying to copy a thread lock. [tiran]
  • Finally removed markCreationFlag which was a bad hack to achieve the same effect as portal_factory but w/o using portal_factory. I had a problem with it again and I don't want to have more headache! [tiran]
  • Changed BaseObject.initializeArchetype() to call edit() instead of update(). edit() is an alias for update and it's also the standard method to edit a type in CMF. It makes customization like in ATContentTypes much easier. [tiran]

1.3.0-rc2 - 2004-09-04

  • 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 using '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. Thanks 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(). [tiran]
  • 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. [tiran]
  • 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) [deo]
  • Fixed [ 1013265 ] last changes to Widget.py is highly inefficient. [deo]
  • 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 mimetyptes_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 stil 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. [deo]
  • 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]

1.3.0-rc1 - 2004-08-16

  • Try to use BaseUnit for schema migration to keep the mimetype and the filename of a BaseUnit based field. Without the changes the mimetype of TextField got lost. This should fix [ 1001446 ] Content type lost in migration from pre 1.3b4 to 1.3b4 [tiran]
  • Changed portal type of ComplexType to keep it compatible with AT 1.2 [tiran]
  • Fixed typo in Field.Field.getContentType [tiran]
  • Fixed Field.ImageField.rescaleOriginal to always return a binary string. This fixes the problem with original_size: [ 1004323 ] "IOError: cannot identify image file" when uploading image [tiran]
  • Fixed [ 1004510 ] folderlisting or plone_utils.browserDefault by adding an action 'folderlisting' to folderish content types. [tiran]
  • Use True and False in favor to 1 and 0 to make the code more readable. [tiran]
  • Raise an error when trying to use an index on a reference field unless we have a good solution to avoid catalog corruption. [tiran]
  • Use edit accessor instead of the accessor in Schema.BasicSchema.validate(). [alecacct]
  • Added a index_method property to Field.Field which may be either _at_accessor, _at_edit_accessor or the name of a method which is used as accessor for the index. [alecacct]
  • Starting from NOW all attributes starting with '_at_' are reserved for internal usage. You MUST NEITHER add NOR access any attributes starting with '_at_' in your content types. [tiran]
  • Fixed FTP/WebDAV's PUT in BaseObject:If a new object should be created with an id that can be acquired, then the existing object is silently overwritten rather than a new one created [dm]
  • Fixed with problem MKCOL/MKD used by FTP/WebDAV and BaseFolde.manage_addFolder. Now MKCOL/MKD are creating a sub folder with the type name of the current folder except when this behavior is overwritten by an attribute called _at_type_subfolder. [dm]
  • Fixed [ 1006559 ] addReference allows adding garbage references. addReference is raising a ReferenceException when an invalid source or target was applied. [duncanb, tiran]
  • Fixed [ 1006491 ] File widget makes useless str(value) conversion [tiran, lurker]
  • Fixed possible issue inside ArchetypeTool.getWidgets() by calling initializeArchetype() on the wrapped dummy instance. [tiran]
  • Update catalog on reference catalog has raised a KeyError when trying to access an object that was already removed. Now ReferenceResolver is fetching the KeyError in resolve_url() and returns None instead. [tiran]
  • Added getRaw() method to LinesField which is returning the output of get(). Before this change the edit accessor was using the accessor which might be an overwritten accessor. Thanks to Joel Burton who has figured out the problem. [tiran]
  • Raise an ReferenceException inside Field.ReferenceField._Vocabulary when the brain doesn't have a valid uid. [tiran]
  • Refresh the uid catalog and reference catalog after migration. [tiran]
  • Don't commit full transactions inside migration. This may lead to database corruption. [tiran]
  • General cleanup of imports and public.py. Also include Marshallers in public. [tiran]
  • Fixed [ 1007850 ] Cancel content creation fails with portal factory tool Archetypes is playing nice again with portal factory [tiran]
  • Raise SchemaException when trying to add two or more primary fields to one content type. Adding more than one primary field can lead to unexpected behaviors. [tiran]
  • Don't store mimetype item instances in BaseUnit. Now BaseUnit is storing the mimetype and the binary flag as ordinary strings. Old BaseUnits are auto- magically altered using __setstate__(). Storing mimetype item objects in BaseUnit seemed to lead to memory leaks. [tiran]
  • Reenabled ints as DisplayList and Vocabulary keys. [tiran]
  • Subclass InAndOutWidget from ReferenceWidget which adds the addable feature to InAndOutWidget. [ender]
  • Removed old and deprecated old_OrderedBaseFolder implementation from Archetypes. [tiran]
  • There is no need to subclass BaseFolder from Folder since SkinnedFolder is already subclasses from Folder (over PortalFolder). [tiran]
  • Store subobjects inside a volatile attribute instead of using SESSION which 1) was broken by design 2) was a possible memory eater. [tiran]
  • Fixed [ 988948 ] Reference field: radio button "no reference" isn't checked [tiran]
  • Added properties for [ 1008670 ] Feature request: specify year interval for the Calendar Widget Right now these properties are useless because the plone templates can't handle it but I got word from limi that we are allowed to add these features to the templates [tiran]
  • Fixed [ 1005843 ] Stringfields should not default to '0' in search mode [tiran]
  • Moved addable feature of reference.pt to a seperate file and added addable to inandout.pt [ender]
  • Use manage_rebuildCatalog for refresh_references in installTypes() [tiran]
  • Fixed [ 905677 ] manage_afterClone is a bit of a mess [dreamcatcher]
  • Template cleanups [dreamcatcher]
  • ImageField: Fixed problem with empty image field and calls to getScale, getSize and tag() [tiran]
  • Cleaned up the Extensions/utils.py function which are installing AT and it's dependencies. Added a method setupArchetypes() which is setting up the internals. These fixes are fixing the problem that AT don't seemed to be installed when it's installed from an AT based product. [tiran]
  • Schema: fixed a bug, it wasnt allowed to override a primary field by another primary field with the same name. [jensens]
  • Added getWrappedField(key) to BaseObject which is returning the field instance explictly wrapped relative to the Archetype instance. This method is required for security reasons in order to allow Zope to find the acl_users. [tiran]
  • Fixed [ 1009894 ] CSS class on validation error messages. It's using Plone's 'error' class. [tiran]
  • Fixed two bugs in ttw template registration. 1st the registration-tab was broken, and 2cd it can't deal with migrated ATCT. [jensens]

1.30beta5 - 2004-08-06

  • Fixed forbidden access to schema methods when the schema was acccessed using archetype_tool.lookupType(). [tiran]
  • Fixed typo in widgets/reference.pt [tiran]
  • Do not depend on plone's document_byline template which is not available in CMF. [ajung, tiran]
  • Applied patch from [ 997044 ] db_encoding parameter is lost in BaseSQLStorage.set [biza, tiran]
  • Updated complex type to make it work inside Plone again. It's very usefull to test fields and widgets. [tiran]
  • Applied [ 974846 ] Patch for bug #944343 inandout/picklist values not sticky to make picklist and inandout compatible with reference field again. [alecacct, tiran]
  • Reenabled Ben's reference graph tool by removing some stalled testing code [tiran]
  • Support unqualified references in reference graph tool [bcsaller]
  • Added a test for mimetypes registry before adapter call in BaseUnit.update() with a more verbose error in the case the user hasn't updated MTR properly. [tiran]
  • Fixed Find Objects of uid catalog and reference catalog: Use the relative path (relative to the portal) of the object as uid instead of the full physical path [tiran]
  • Added Rebuild Catalog tab to uid catalog and reference catalog to make the life easier [tiran]
  • Added context to the PortalTransform.convertTo() call in BaseUnit.transform() [tiran]
  • Don't fail to install a product which doesn't have any types [spamsch]
  • Catch Unauthorized exception in ExtensibleMetadata.allowDiscussion that could be raised by the discussion tool when the authenticated users hasn't ModifyPortalContent permissions. [tiran]
  • Added IUIDCatalog and IReferenceCatalog interface. Test for interfaces in the installation process of Archetypes to remove invalid catalogs. [tiran]
  • Added a check to Field._Vocabulary: A result from portal catalog must be a result from uid catalog, too. [ender]
  • FileField/ImageField: Make sure we always get a wrapped object in content_class [tiran]
  • ImageField: Fixed getScale/getSize methods, added tag() method [tiran]
  • session_save_form was using direct attr access in UT code you must use Schema accessor so schema has a security context REMEMBER: <BradB> "Free as in Free Iraq" [runyaga]
  • issue a warning if they register 2 classes with the same name in the same project. this will happen on startup. [runyaga]
  • do not assume templates have title_or_id attribute [runyaga]
  • Added kernel_make_uuid which is using /proc/sys/kernel/random/uuids as source for unique ids. Thanks to Ben for this cool idea. :) The kernel uuid generator is actually a tiny bit slower than our uuid generator but it should be safer if you are worried about the uniqueness of uuids. [bcsaller, tiran]
  • Fixed [ 1002481 ] Missing i18n: <any>, added at_search_any msgid. [tiran]

1.3.0-beta4 - 2004-07-09

  • Fix bug on image deletion [clebeaupin]
  • Fixed [ 997899 ] 1.3b3 will ot startup on Zope 2.7, Windows. Removed api helper to avoid problem with windows [dreamcatcher, tiran]
  • Small improvements on migration (using aq_base() instead of attribute, using is None test instead of simple bool test) [tiran]
  • Get the first non None object instead of the first element of a list of brains to circumvent problems with stalled objects inside the uid catalog [tiran]
  • Don't raise AttributeError when no reference can be found [__gotcha]
  • Fixed a problem introduced by getRaw method on ReferenceField class. When using a field on 'hidden' mode, field.pt uses field.edit_acessor to get field value (and edit_accessor calls getRaw). The problem was related to ReferenceFields not multivalued where getRaw always returns a list, instead of the single UID. [deo]
  • Added a flag refresh_references to Archetypes.Extensions.utils.installTypes (default False). When enabled it's using ZopeFindAndApply to find all objects of the given types and refreshes their references. This is a workaround but not a real fix for bug 997840. [tiran]
  • Added a test for at_version information [tiran]
  • Support Pdata (possible large data from OFS.Image) as type for FileField. This is required to load large images and files based on OFS.Image into a FileField. [tiran]
  • Merged sid's security branch. DefaultLayer based classes (Field, Widget) and schema are now subclassed from ExtensionsClass.Base. [dreamcatcher, tiran]
  • Fixed [ 994511 ] Field.py: Vocabulary cannot handle 2-tuple list [tiran]
  • Fixed creation_date field to be metadata again [tiran]
  • Fixed [ 944440 ] getMsgID method of DisplayList should be used [tiran]
  • Fixed [ 972091 ] base widget doesn't support visble attribute for view [tiran]
  • Added better traceback information to fixAfterRenameType [tiran]
  • Fixed [ 988898 ] Don't swallow ConflictError (SQL missing) [tiran]