1.0.3-final 2006-01-20
======================

 * Fixed non-clickable thumbnails in thumbnail view for IE.
   https://trac.plone.org/plone/ticket/5119
   [hannosch]

1.0.2-final 2006-01-03
======================

 * Fixed #5028: constraintypes.py doesn't work properly with PortalFactory when 
   acquiring types.
   https://trac.plone.org/plone/ticket/5028
   [panjunyong]

 * fixed styles for thumbnailview.
   [spliter]

 * content/events.py: made event type look-up respect dynamic types.
   [raphael]

 * Don't return "n/a" in get_size(). This fixes Plone's #5030.
   [nouri]

 * Fixed #5026: Setting a ZCatalog sort limit was interfering with result
   batching. Only use the sort_limit optimization when batching is disabled.
   https://trac.plone.org/plone/ticket/5026
   [alecm]

 * Fixed #4567: Added portal_atct method to fix portal_type on CMF objects that
   have empty portal_type because they were incorrectly instantiated. Such
   situations caused migration to fail. This method is available in the type
   migration form, and also runs automatically on install.
   https://trac.plone.org/plone/ticket/4567
   [alecm]

 * Fixed #4937: Removed list criteria from text indices, because it makes no
   sense, AND and OR must be used explicitly.
   http://trac.plone.org/plone/ticket/4937
   [alecm]

 * Added migration for #4865 to fix the grammar on existing instances.
   [alecm]

 * Made the criteria to index type mapping a little more sane.
   [alecm]

 * Fixed #4915: Smart Folders with path criteria where throwing errors on
   unindex due to partial reference support.
   http://trac.plone.org/plone/ticket/4915
   [alecm]

 * Added And/Or operator to selection criterion.
   [alecm]

 * Fixed #4590: Subfolders inherit the selected layout of their parent folders
   if they are of the same type.
   https://trac.plone.org/plone/ticket/4590
   [alecm]

 * Fixed #4512 - vCal export was not working with outlook.
   https://trac.plone.org/plone/ticket/4512.
   [hannosch]

 * Use the ControlledMarshaller from the Marshall product if
   available. Fallbacks to existing marshaller.
   [sidnei]

 * Enable __dav_marshall__ by default on ATTopic, ATFolder and
   ATBTreeFolder.
   [sidnei]

 * Fixed #4572 and #4909 - Unicode problems with using kupu together
   with mxTidy
   [hannosch]

 * Fixed #4865 - Spelling error on location criteria.
   [hannosch]

 * On invalid mimetypes the getIcon method of ATFile doesn't throw an exception
   anymore but generates a log entry. This should minimize some migration
   problems or at least tell the exact object with an invalid mimetype.
   This should fix http://plone.org/collector/4979.
   [hannosch]

 * Correct some wrong security settings.
   [hannosch]

 * Code cleanup removing lots of unused import statements.
   [hannosch]

 * Fixed two issues with PathCriterion.  It was using depth 0 to get subfolders,
   the proper parameter is depth -1.  Also, in order to properly handle the
   references it holds, it must itself be cataloged in the UID catalog, and
   have its references cataloged.
   [alecm]

 * Fixed issue causing archetypes schema update to fail due to topic not
   checking syndication state in initializeArchetype.
   [alecm]

 * Added missing alternate views for folderish types.
   [alecm]

1.0.1-final 2005-10-13
======================

 * Fixes for http://plone.org/collector/4709 __bobo_traverse__ doesn't
   need or want a RESPONSE argument.
   [alecm]

 * Fixed http://plone.org/collector/4734 It is generally a bad idea
   to check permissions in bobo_traverse methods, especially permissions
   that don't exist, especially if you then try to raise an exception that
   you haven't actually imported.
   [alecm]

 * Fix two small i18n default text inconsistencies
   [hannosch]

1.0.0-final 2005-09-05
======================

 * Packaged 1.0.0 final with a tip of the hat to Christian Heimes who has
   disappeared from our radar. We miss you, dude.
   [stefan]
 
 * Made migration more tolerant of conflicting ids due to auto-created content
   from manage_afterAdd or similar.  Fixes http://plone.org/collector/4468
   [alecm]

 * Moved the exclude from navigation checkbox back to the properties tab, on
   folderish objects, per request from limi.
   [alecm]

 * Fixed two Smart folder issues: http://plone.org/collector/4594 we now fail
   gracefully on bad limit settings, and http://plone.org/collector/4601 added
   show/hide all link to the medatata control panel.
   [alecm]

 * Changed Subject index/metadata title to Keywords, and added appropriate
   description.
   [alecm]

1.0.0-rc5 2005-08-18
====================

 * Fixed http://plone.org/collector/4429 by updating the modifySelectList.js
   to deal with IE deficiencies.
   [alecm]

 * Display files inline if they are of mimetype text/* thanks to LaurenceRowe
   for the patch.
   [alecm]

 * Fixed http://plone.org/collector/4448 index titles in smart folder's
   criteria edit form were not translated
   [hannosch]

1.0.0-rc4 2005-08-09
====================

 * Implemented the custom PUT_factory in both ATCTOrderedFolder and
   ATCTBTreeFolder, as inheriting it from ATCTFolderMixin breaks when
   LinguaPlone comes into play.
   [stefan]

 * Enable syndication on topics by default.
   [alecm]

 * Made inherit criteria field only appear when the parent of a Smart Folder
   is also a Smart folder.
   [alecm]

 * Added permissions checks to listSubTopics.
   [alecm]

 * Remove Smart Folder syndication action as the action category has changed
   in CMF.
   [alecm]

 * Fixed bug in subtopic listing.
   [alecm]

1.0.0-rc3 2005-08-01
====================

 * Change manage_copyObjects' permission to Copy or move, just copy from
   Plone's PortalFolder.
   [panjunyong]

 * Added method to fix the portal type name of CMF based objects
   that were imported or copied from an unmigrated site to a migrated
   site. The fix method is available in the type migration tab.
   [tiran]

 * Added code to remove deprecated external methods.
   [tiran]

 * Fixed an error in the module alias code for the exif library. Fixes
   http://plone.org/collector/4352 - Uploading certain images causes ATCT
   pickling errors
   [tiran]

 * Expose some advanced migration options to the user by using new propertites
   in the portal_atct tool.
   [tiran]

 * Enhanced and updated documentation, mostly the feature documentations in
   the portal_atct tool.
   [tiran]

 * Moved migration related code from tool/atct.py to tool/migration.py. The
   tool class was getting too long.
   [tiran]

1.0.0-rc2 2005-07-28
====================

 * Updated requirements to CMFDynamicViewFTI 1.0.0 and ATRefBrowserWidget
   1.1.
   [tiran]

 * Fixed error in config loader code. The loader must stop after the first
   conf file is loaded or the conf file is overwritten by the default file.
   [panjunyong]

 * Add optional arguments to ATTopic.queryCatalog to make it compatible with
   getFolderContents (optional batching, return full objects instead of
   brains).  Make the album_view compatible with Smart Folders.
   [alecm]

 * Added fix for exif issue when rescaling the original image.  The exif
   information is now stored before the image is set.
   [tiran]

 * Added a main macro to a few templates so they display nicely when used in
   discussion_reply_form.
   [alecm]

 * Added workaround for broken WebDAV/FTP clients like Mac OS X Finder.
   PUT_factory is patched to use the default_PUT_factory which creates
   standard Zope objects instead of CMF/AT content objects.
   Thx to Nate and ATAudio for the idea.
   [tiran]

 * Fixed http://members.plone.org/collector/4321 which was caused by three
   distinct bugs. 1) The initial rename of the CMF object didn't preserve
   order, but rather moved the object to the end of the list.  2) When
   migrating folders the check for orderability on self.new always failed
   because self.new is None at this point, so ordering wasn't attempted.
   3) When going through the subobjects of a folder the position was noted,
   and then the object deleted, the next object was now in the same position
   as the prior one and the order was lost.  Now there is a seperate loop to
   delete the objects after the loop which marks the order and preserves the
   object.
   [alecm]

 * Fixed some minor issues with the relative url and CMF uid handling in
   ATFavorite.
   [tiran]

 * Added AT and CMF uid migration to the migration system.
   [tiran]

 * Fixed the unit test fixture and ATFavorite unit tests. Now tests aren't
   running as Manager only when really needed.
   [tiran]

1.0.0-rc1 2005-07-23
====================

 * Fixed error in version parsing which somehow made portal_types disappear.
   [alecm]

 * Enabled swallowResizeExceptions by default and added warning that original
   image resizing destroies the exif information before the data is saved.
   [tiran]
 
 * Fixed spelling error in a security declaration of ATTopic.
   [tiran]

 * Fixed critical migration issue. Locally added roles and locally changed
   permissions are now migrated. Also added unit tests to verify the 
   migration.
   [tiran]

 * Cleanup up unit tests and logging to reduce the noise
   [tiran]

 * Removed 'MakerNote JPEGThumbnail' from the exif tags. Some cameras might
   store the thumbnail in this tag.
   [tiran]

 * Removed unused customization policy including unit test. Plone 2.1 always
   installing ATCT.
   [tiran]

 * Fixed 4330 Inter-version ATCT migration fails to migrate types
   to CMFDynamicViewFTI. Migration to the new FTI is part of the version
   migration again.
   [tiran]
   
 * Added migration step + unit test for '(selected layout)' change.
   [tiran]
   
 * Optimized getRawRelatedItems index addition. There is no need to reindex
   the *whole* catalog when adding a *single* index.
   [tiran]

 * Made the 'view' method aliases point to '(selected layout)' instead of
   '(default view)'. This assures consistency with previous behaviour,
   so that /view at the end of a URL always gets the item itself, ignoring
   any default-page that may be set. Note that the 'view' *action* still
   points to 'string:${object_url}', so that the 'view' tab, as well as
   the '(Default)' target, still get '(dynamic view)' (and thus default
   pages) for types other than File and Image.
   [optilude]

 * Added migration/othermigrator.py for other migrators like CMFPhoto and
   CMFPhotoAlbum. These migrators are written but not yet available to end
   users. Some glue code needs to be written.
   [tiran]

 * Moved exif library to a new directory thirdparty/. This directory should
   contain all third party extensions that are required to run ATCT. Well
   lib/ was added for this purpose the first time. thirdparty/ is added to
   sys.path at position three which is right after Zope's instance home
   and zope home in most cases.
   [tiran]

 * Removed lot's of unused imports.
   [tiran]

 * Fixed http://plone.org/collector/4083 for atct_album_view.pt
   [ender]

 * Fixed
   http://sf.net/tracker/?func=detail&atid=645337&aid=1215755&group_id=55262
   by making the template sane.
   [alecm]

 * Fixed get_size for ATImage. It should return only the file size of the
   original image.
   [tiran]

 * HEAD fixes for folder based content types.
   [tiran]

 * Fixed permission issue in formatCatalogMetadata.py.
   [alecm]

 * ConstrainTypes should default to disabled unless the parent object is of
   the same portal type.
   [alecm]

 * General get_size fixes. The get_size() method returns either the size
   of the primary field or 1 for folders.
   [tiran]

 * Moved not yet implemented URL upload feature out of the main code.
   [tiran]

 * Fixed constraintypes's allowedContentTypes and invokeFactory to make
   ENABLED mode work when the portal_type is different with parent's.
   [panjunyong]

 * Added http access functionl http tests.
   [tiran]

 * Added HEAD() method to Topic. If the topic has at least one criterion or
   it can acquire a query 200 OK is return else 404 NotFound
   [tiran]

 * Fixed [Plone] 4295/ 1 Request "ATCT and related items fields".
   [tiran]

 * Added workaround for [ 1229206 ] 2.0.5 > 2.1 migration fails. Failing
   reorder is mostly harmless.
   [tiran]

 * Added workarounds for EXIF MakerNote errors. Some cameras are *really* 
   broken. Better no make notes than no exif infos at all.
   [tiran]

 * Fixed and improved recent changes to cleanupFilename(). You can't remove
   features w/o keeping backward compatibility and new features must be
   bullet proof!
   [tiran]

 * Clean up multiple Topic folder_contents tabs.
   [alecm]

 * Readded a seperate _cleanupFilename method for ATCTFileContent to make it 
   better for patch.
   [panjunyong]

 * Fixed http://plone.org/collector/4218 ATCT now uses normalizeString from
   PloneTool. 
   [hannosch]

 * Fixed http://plone.org/collector/4170 Link checking is crazy and [ 1197068 ]
   [hannosch]

 * made constraintypes default ACQUIRE mode works with portal_factory
   [panjunyong]

 * Added Five/Zope3 interface bridges
   [tiran]

 * Disabled text/x-python and text/plain-pre by default. Customize the
   atcontenttypes.conf if you need them.
   [tiran]
   
 * Removed relatedItems field from folderish objects.
   [tiran]
   
 * Made download tab for File and Image invisible.
   [tiran]

 * Fixed __bobo_traverse__ in ATImage, security check was unnecessary and
   required anonymous to have 'View' in order for anyone to use it.
   [alecm]

 * Yet another migration optimization: Added catalogpatch to the migration
   system. The patch is altering portal_catalog.catalog_object and
   uncatalog_object. Read migration/catalogpatch.py for more informations.
   The catalog patch can be enabled by passing use_catalog_patch=True to
   the migration functions.
   [tiran]

 * Fixed last bit of http://plone.org/collector/3060  Don't let missing CMF
   types crash portal_atct.disableCMFTypes().
   [alecm]

 * Enhanced migration code:
    o CatalogWalkerWithLevel is now based on ExtendedPathIndex
      and behaves like CatalogWalker.
    o Added walker arguments for transaction size, full transactions.
      and savepoints. The migration system can use ZODB savepoints to
      roll back to a sane point.
    o Migrators are also registered by (src,dst) meta_type.
    o The new function migratePortalType() can be used to migrate a single
      content type by just passing the src and dst portal type to the
      function. Both portal types must be registerd in portal_types and a
      migration from src to dst meta_type must exist.
   [tiran]

 * Don't catalog all types in _catalogTypesByMetatype it the passed list is
   empty.
   [jenner, alecm]

 * Modified templates to use the new pretty_title_or_id feature from plone.
   [alecm]

 * Made atct_album_view use the catalog like other listings, and reuse the
   nice macro from folder_listing.
   [alecm]

 * Zope2.7 compatibility again:
    o replaced import transaction with from Products.CMFPlone import transaction
   [hannosch]

 * some minor i18n tweaks
   [hannosch]

 * Updated INSTALL.txt for CMF 1.5. Zope 2.8 and more
   [tiran]

 * CMF 1.5 / Zope2.8 compatibility:
    o replaced CMFCorePermissions with permissions
    o replaced get_transaction() with transaction
    o removed product argument from TooolInit()
    o logging.getLogger() and LOG.debug() etc.
   [tiran]

 * Greatly enhanced logging during migration.
   [tiran]

 * Chunked migration in smaller pieces. To be continued!
   [tiran]

 * Fixed finalize migration so that it doesn't reinitialize the workflow
   state.  Added unit tests for workflow, local_role, and owner migration.
   [alecm]

 * Using migration code from DynamicViewFTI instead of own FTI migration code
   [tiran]

 * Moved ATCTImageTransform class to lib
   [tiran]

 * Added configuration options for PIL quality and resize algo.
   [tiran]

 * Couple of bug fixes in the FTI->FTI w/ dynamic views migration
   [rafrombrc]

 * Renamed max_size config option to max_file_size. Added max_image_dimension
   config option to set the maximum border for the original size of an image.
   [tiran]

 * Added some additional i18n markup.
   [hannosch]

Snapshot 2005 07 05
===================

 * Don't run version migration when installing the first time. People should run it
   after type migration.
   [tiran]

 * Disabled full catalog updated after type migration. If people need it they could
   do it after migration.
   [tiran]

 * Added migration to DynamicFTIs.
   [fschulze]

 * Changed index_html method on ATCTOrderedFolder to gracefully handle
   situation where acquisition of index_html attribute returns None.
   [rafrombrc]

 * Added syndication support to Smart Folders.
   [alecm]

 * Fixing up aliases and actions for CMF 1.5-style browser-default code, using
   CMFDynamicViewFTI.
   [optilude]

 * Some code related to browser default is moved to CMFDynamicViewFTI. All
   new versions of ATCT depend on this product now.
   [tiran]

 * Fixed some tests on Windows. Image files must be opened with 'rb'.
   [hannosch]

 * Moved around some fields. excludeFromNav is on the property sheet expect for
   folderish items and discussion is on the main sheet expecpt for folderish and
   Favorite.
   [tiran]

 * Added finalizeATCTSchema function to move the fields in the right position
   [tiran]

 * Fixed http://plone.org/collector/4127 permission incorrect on
   listSubtopics.
   [alecm]

 * Added migration to change the name of the Topic configlet.
   [alecm]

 * Fixed http://members.plone.org/collector/4076, adding exclude_from_nav to
   all content schemas.
   [optilude]

 * Fixes for migration of cataloged non-contentish objects.  Now checking
   meta_type and portal_type before migration steps.
   [alecm]

 * Fixed http://members.plone.org/collector/3804 added validation of filename
   when appropriate using check_id if available.
   [alecm]

 * Added index for relatedItems, and migration to install it into already
   installed instances.
   [alecm]

 * Made the tool check if a config entry is available whenever it finds a new
   index, so that it is automatically enabled if desirable, and to minimize
   the need for migrations.
   [alecm]

 * Disabled all indexes in criteria form by default, only those with
   default values are automatically enabled.  This prevents things like ZWiki
   from messing up our nice edit form.  They can be enabled and prettified in
   the tool.
   [alecm]

 * Spring i18n cleanup:
   * changed i18n:domain from plone to atcontenttypes
   * added missing i18n markup
   * fixed page templates XHTML errors
   * reindented and cleaned up whitespaces
   [deo]

 * Made portal_type, selection, and reference criteria return reasonably
   sorted lists.
   [alecm]

 * Updated folderlisting actions to work properly with optiludes new
   browserdefault behavior.
   [alecm]

 * Localized date in Topic custom view.
   [alecm]

1.0-alpha2
=====================

 * Disabled history tab.
   [tiran]

 * Fixed a small bug in the exif support. The signatur of the process_file
   method has changed.
   [tiran]

 * Catch KeyErrors on third party index types in the catalog.  Fix bad import
   of list criteria.  Fix some unit tests that I broke, and added some more
   (CriterionRegistry) in penance.
   [alecm]

 * Updated exif lib.
   [russf]

 * Added default values for the index/metadata friendly names, descriptions,
   and criteria restrictions for Smart Folders using ZConfig.  Added the
   ability to have an index with no criteria (useful for sort only criteria).
   Made the descriptions for the criteria types more sensible (I hope this
   doesn't screw up existing translations, but the current names are terrible).
   Also, added some missing criteria related strings to manual.pot.
   [alecm]

 * Added a getCriteriaUniqueWidgetAttr method to topics to compile things like
   'helper_js' in one place for the edit form.
   [alecm]

 * Fixed [ 1196809 ] Use getMutator(self) instead of mutator(self) in base.py.
   [stefan]

 * Added new path criterion for use with ExtendedPathIndex that allows users
   to select paths to search in using a sitemap.  This now uses the
   lovely ATReferenceBrowserWidget.
   [alecm]

 * Add Topic to the list of allowed sub-objects for Topic during Migration.
   It was missing before because the class allowed_content_types property
   was being overwritten by the one from CMFTopics.
   [alecm]

 * BrowserDefaultMixin.getAvailableLayouts() now returns a list of tuples
   instead of a DisplayList. Required by interface change in Plone.
   [optilude]

 * Added cool icons for vCal/iCal export and image rotation/flipping made by
   the legendary Vidar Anderson.
   [blacktar, tiran]

 * Replaced AttributeStorage with AnnotationStorage for Document:text,
   File:file, Image:image, Event:text and NewsItem:text,image. This requires
   Archetypes 1.3.5.
   [tiran]

 * Added new Current Author criterion which, when used with the Creator index,
   gets all objects authored by the currently logged in user.  Also fixed some
   permissions that were preventing normal users from viewing published topics.
   Fixes issue [ 1176355 ].
   [alecm]

 * Changed processForm to check for id confilicts using check_ids if available,
   otherwise just parent.objectIds().  Also commit sub-transaction to make
   rename work after portal_factory.
   [alecm]

 * Added version migration system mostly copied from plone. Works automatically
   during Plone 2.1 migration to bring plone 2.0 sites that started with ATCT
   >= 0.2 up to date including changing and uncatalogging ATTopic criteria and
   migrating CMF Topics.
   [alecm]

 * Fixed a small bug in Topic migration introduced during the merge.
   [alecm]

 * Made topic.addCriterion() return the newly added criterion object. That
   it didn't before made things hard for python product developers.
   [alecm]

 * Fixed bug #3773 (http://plone.org/collector/3773) validation check for
   empty/non-existant files/images.
   [alecm]

 * Changed the behavior of the date criteria to make the meaning of
   each field clearer.  Now queries like 'More than 2 weeks ago' can be used,
   and will behave as expected.  This causes some inconsistency in importing
   CMFTopics.  Queries that were of the form 'min' 'x days' 'ago' are now
   'less than x days ago' which is a min:max query with an upper limit of now.
   The same goes for 'max' 'x days' 'ahead', all other queries should be close
   to identical (modulo an earliestTime() where it makes sense).  The
   inconsistency shouldn't be too important as the CMF date criteria was
   entirely inscrutable.  Also changed some strings for criteria descriptions
   for consistency. Fixes bug [ 1181418 ]. Thanks to Dean Jackson for filing
   this bug and devising a reasonably usable UI.
   [alecm]

 * Made the portal_types criteria work properly with either Types or
   portal_types indexes.  Disabled types restrictions in TopicTool, now uses the
   new Plone 2.1 search blacklist for types (site_properties.unfriendly_types).
   This creates a plone 2.1 dependency. Also a change was made to the
   atct_subtopic_form so that it now uses a macro from plone 2.1, this fixes
   issue [ 1164541 ].
   [alecm]

 * Reworked linked select lists for criteria to use custom XMLHTTPRequest code,
   contained in modifySelectList.js.  I will eventually turn this into an AT
   MasterSelectWidget for the master select of two linked select lists.
   [alecm]

 * Added and enabled configlet for Topics, and unit tests for the criteria.
   Fixed a persistency bug in TopicsTool, and a sort bug the in criteria
   listing.  Added Missing.MV as a possible false value for Boolean Criterion.
   [alecm]

 * Removed some configuration vars from config.py and the ZConfig schema.
   [tiran]

 * Moved external types from ATCT to the new ATCTAddons product.
   [tiran]

 * Remove path of filename from ATFile's title when upload a file using MS IE.
   [panjunyong]

 * Merged uiteam-plip73-sanitize-short-names from the old plone
   svn repos: diff https://svn.plone.org/svn/plone/ATContentTypes/branches/1.0@6168
   https://svn.plone.org/svn/plone/ATContentTypes/branches/uiteam-plip73-sanitize-short-names
   [tiran]

 * Added flag to determine whether an content object has undergone a successful
   initial edit.  Use this flag along with detection of default naming to
   rename object on inital edit.
   [alecm]

 * Merged the topic tool branch into 1.0 XXX: insert history here.
   [tiran]

 * Refactored ConstrainTypesMixin to support PLIP 78:
    * DISABLED means use standard allowed types from portal_types
    * ENABLED means use restrictions set
    * ACQUIRE means use types from parent if parent is of same portal type,
      else same as ENABLED (doesn't make sense to inherit from any content type)
    * immediatelyAddableTypes field - for subset of allowed types to show in
      the "add" menu
    * turned off and removed disable constrain-types flag
   [tiran]

 * Turn on TemplateMixin for everything - now directly supported in Plone
   via "display" menu.
   [tiran]

 * Merged plip #3 branch: auto ordering / sorting into the 1.0 branch.
   Features / Changes:
    * Added getObjPositioninParent and getObjSize as helper methods for
      the catalog based folder listing to all types
    * Added AutoSortSuppot and AutoOrderSupport to ATCT. AutoSortSupport is
      used for the catalog based folder listing and AutoOrderSupport also
      adds some auto ordering based on OrderedFolder
    * Subclass ATFolder from AutoOrderSupport+AutoSortSupport, ATBTreeFolder
      only from AutoSortSupport
   [tiran]

 * ATEvent: Removed end date and start date from searchable text.
   [tiran]

 * Implemented PLIP #2 of ATCT: using ZConfig to configure the types and
   features of ATContentTypes.
   [tiran]

 * Changed default output of Document, Event and News Item to text/x-safe-html.
   X-safe-html is using CMFDefault.utils.scrubHTML to remove harmful tags
   like script.
   [tiran]

 * Merged tiran-notypesdir-branch. It's renaming and moving lot's of modules
   around. All content types are in the content/ package, criteria were moved
   to criteria/, tools to tool/ and modules like history aware to lib/. Also
   all modules and packages were renamed to be lower case.
   [tiran]

 * Added history support ATEvent's text field just like Document and News Item.
   [tiran]

 * Updated README.txt and INSTALL.txt: new versions, update from ATCT 0.2 and
   some other informations.
   [tiran]

 * Changed permission of ATNewsItem.EditableBody() to ModifyPortalContent.
   [tiran]

 * Added some tabs to the ZMI view of the portal_atct tool: Overview, rescale
   migrate and recatalog. The usage of the external methods is deprecated in
   favor of the tool.
   [tiran]

 * Restored Plone 2.0.x compatibility.
   [deo]

 * Don't show PloneSite, TempFolder and criteria in constrain types list.
   [tiran]

 * Disabled validator for ATEvent's phone field. Some people have reported that
   they have issues because numbers and especially extensions are handle
   differently in every country. Also see [ 974102 ] Can't enter phone extension
   in phone number field.
   [tiran]

 * Added XXX report tool to ATCT. It's mostly a copy from the Zope3 XXX tools.
   Note: XXX is a marker to show "here is something" wrong. It's not porn. :)
   The tool also reports TODO and BBB (for backward compatibility).
   [tiran]

 * Fixed [ 1049018 ] url field on Link doesn't allow mailto. Also added an
   isMailto validator to validation and enhanced the isUrl validator to support
   more protocols.
   [tiran]

 * Fixed [ 1114696 ] use correct mimetype for reStructuredText and [ 1122135 ]
   ATCT edit not preserving text type selection, not ATCT bug be renaming
   text/restructured to text/x-rst.
   [tiran]

 * Fixed [ 1158950 ] ATTopic default view wrong. This fix needs also a svn up
   of CMFPlone 2.1.
   [tiran]

 * Moved external storage based variants for ATFile and ATImage to a seperate
   module. They won't make it in the official trunk unless the storage is
   working well and the types are tested.
   [tiran]

 * Added 'atct_album_view' and 'atct_album_image' templates based on the
   templates of CMFPhotoAlbum.
   [tiran]

 * Replaced the config vars for permissions with new permissions:
    o ModifyConstrainTypes for constrain types mixin
    o ModifyViewTemplate for template mixin
    o ViewHistory for history mixin
    o UploadViaURL for the new upload via url feature
   By default the permissions are restricted to manager only.
   [tiran]

 * Added new upload via url feature to upload a file or image using an url. The
   file is downloaded from the remote server using urllib2. Since this feature
   isn't finished it's not available by default.
   [tiran]

 * Implemented some very useful functions based on CMFPhoto code for ATImage.
   The new features are:
    * getting the exif informations from images using Gene Cash's exif lib
    * getting the image orientation from exif data (rotation and mirror)
    * Rotating and flipping images using the PIL library incl. a new tab
   [tiran]

   The CMFPhoto exif and transform code was written by several ppl including
   Oliver Baltzer and me. I'm unable to determine the other coders. Please
   write me an email if you want credits for your great work!
   [tiran]

1.0-alpha1
=====================

 * Refactored huge parts of the migration suite. More later.
   [tiran]

 * Fixed [ 1026616 ] Actions aren't migrated. Actions are migrated from
   the cmf fti if an action with the id doesn't exist on the atct fti.
   [tiran]

 * Migrating filter content types, allowed content types and allow
   discussion from cmf fti to atct fti.
   [tiran]

 * Updated requirements to CMFQuickinstaller 1.5/cvs,
   [tiran]

 * Starting to remove the switch* and migrate* external methods.
   [tiran]

 * Fixed default view of ATFolder. Pointing to view again makes a loop and
   raises a hard to debug exception because TemplateMixin is trying to use
   itself as default view which doesn't work.
   [tiran]

 * FTests: install kupu and epoz when available. Moved function test suite to
   ftests/
   [tiran]

 * Fixed [ 1157812 ] ival/vcal action icons not available
   [tiran]

 * Fixed ATTopic to use atct_edit like all other ATCT types.
   [tiran]

 * Added ERRATA.txt which covers known issues.
   [tiran]

 * Added integration tests for discussions.
   [tiran]

 * Ported topic migration and criteria enhancements + additional criteria
   from ender topic branch. Thx to Alec Mitchell for his great work! The new
   criteria are: ATSelectionCriterion, ATDateRangeCriterion,
   ATReferenceCriterion and ATBooleanCriterion.
   [allecm, tiran]

 * Changed archetype names of criteria and removed the AT prefix.
   [tiran]

 * Added unit tests for criteria and ATTopic.
   [allecm, tiran]

 * Added translate tab when LinguaPlone is available at installation or
   reinstallation time.
   [tiran]

 * Added mini scale with 200x200.
   [tiran]

 * Added integration tests for view and edit templates.
   [tiran]

 * I made major changes to the unit test suite. Also I've added more field
   tests, some important interface tests and cleaner and better base classes
   for tests.
   [tiran]

 * prepare ATFolder for use with TemplateMixin, use generic /view instead of
   /folder_listing as default and immediate view.
   [yenzenz]

 * Changed the way ConstrainTypes gets mixed in: Now ATCT is always subclassing
   folders from the ConstrainTypes class and the schema is always in the folder
   schema. Before this change ppl couldn't rely on the api. When the feature
   is disabled the fields are not shown in the schema and the overwritten
   methods are using a "shortcut" to the default methods.
   [tiran]

 * Renamed some methods in the constrain mixin to start with _ct_ for a clean
   name space.
   [tiran]

 * Added a tag methods to NewsItem for its image. Also changed the caption from
   TextField to StringField since it should contain only a small sentence or
   similar. The caption is applied as title to the news item image.
   [tiran]

 * When running unit tests all features like constrain mixin and template
   mixin are forced to be enabled in order to keep the tests sane and to test
   all features under all circumstances.
   [tiran]

 * Dismembered the big beast schemata.py in types/ and types/criteria. The
   schemata are in the same modules as the types.
   [tiran]

 * Added content module which contains all important classes.
   [tiran]

 * Replaced all "from foo import *" by explicit imports.
   [tiran]

 * Used some code from Ben's great Bricolite product to have an add permission
   per type. It allows fine granulated permission settings.
   [tiran]

 * Fixed bug [ 1154073 ] criterion_edit_form.cpt(.metadata) has no default
   action. The default action for the criterion edit form is save.
   [tiran]

 * Added portal_atct tool. The new tool will be used for the new topic features
   and for the plone control panel.
   [tiran]

 * Interface geddon: Merged all interfaces into a single file.
   [tiran]

 * Merged limi's ui branch which adds a text field to ATEvent and an image plus
   image caption to ATNewsItem.
   [limi, tiran]

 * Added related items reference field to all types using Danny's reference
   browser widget. The ATReferenceBrowserWidget has to be available.
   http://svn.plone.org/archetypes/MoreFieldsAndWidgets/ATReferenceBrowserWidget.
   [tiran]

 * Removed old debian/ directory. I don't maintain it any more so there is no
   reason of having it in the CVS.
   [tiran]

 * Removed QuotaSupport.py. It should never be in the official tree of ATCT.
   [tiran]

 * Introduced great chances in the migration system: The portal type names of
   the ATCT types are the same as the CMF types. CMF types will be renamed at
   install time.
   [tiran]

 * Introduced ZConfig based configuration. It will replace the customconfig.py
   file.
   [tiran]

0.2.0-rc5 - 2005-02-26
======================

 * Updated requirements to Zope 2.7.4+, Python 2.3.4+ and AT 1.3.2-rc1+.
   [tiran]

 * Cleaned up the migration suite a little bit and enhanced the doc strings.
   [tiran]

 * Replaces the globalAllow hack by createTypeByName which doesn't make
   security checks like "is the type implicitly or explicitly addable in the
   folder". It shares the same codebase as the function from PloneUtilities
   I once wrote to unfuck the create member area method.
   [tiran]

 * Better traceback support inside the migration suite.
   [tiran]

 * Added knob to toggle the installation of LinguaPlone in ATCT install.
   [tiran]

 * Added explicit portal type name to all ATCT types.
   [tiran]

 * Renamed newTypeFor to _actc_newTypeFor. The former name was confusing
   people.
   [tiran]

 * Added feature to access the name of the last editor through IHistoryAware.
   [ctheune]

 * Fixed a bug in the migration walker. Empty folders aren't skipped any
   more.
   [panjunyong]

 * Increase debugging in Migration suite to find issues with missing types
   in globalAllow.
   [tiran]

 * Ported atct_topic_view icon fix from HEAD.
   [tiran]

 * Don't create ATDocuments when uploading .pdf and .doc files.
   [batlogg]

 * Resurrected warning message when we hit a broken object in the folder
   migration.
   [tiran]

 * Local roles and Creator are kept when migration.
   [panjunyong]

 * Update requirements to the soon to release AT 1.3.2 version and SVN.
   [tiran]

 * Added update_data and manage_edit compat. methods to ATFile and ATImage.
   [tiran]

 * Added temporary fix for [ 1095242 ] EditableBody in ATNewsItem requires
   Modify portal content. It will stay in ATNewsItem until Plone is fixed.
   [tiran]

 * Fixed [ 1075193 ] infinite recursion in ATEvent. The __cmp__ hook was fixed
   a while ago but I forgot to mention it here.
   [tiran]

 * Fixed [ 1098347 ] validate_add_criterion.vpy has errors. The file was
   DOS encoded.
   [tiran]

 * Applied patch from [ 1104069 ] ATCT migration -- more ordering issues
   which fixes some more ordering issues.
   [hahnfeld]

 * atct_topic_view now doesn't call getObject() anymore and is a small
   bit more performant. This also takes some burden from waking up objects.
   (Bug 1079030)
   [ctheune]

 * Made HTML the default content type for documents (and news items).
   [ctheune]

 * Fixed [ 1080729 ] Wrong permissions for ATDocument.EditableText /
   setFormat.
   [tiran]

 * Use StdoutStringIO in migration to be more verbose.
   [tiran]

 * Fixed atct_topcic_view: Make sure there is an object before referencing
   attributes. This can typically happen if there are problems with the
   AccessContentsInfo permission.
   [tesdal]

 * Removed support of Python 2.1 and 2.2 from INSTALL.txt. Some code like
   migration requires new features of Python 2.3 like generators.
   [tiran]

 * Added note to INSTALL.txt that ATCT will soon drop support for Zope < 2.7.2.
   [tiran]

0.2.0-rc4 - 2004-11-30
======================

 * ATTopic: Adding the criterion type to the generated id, so you can sort
   and filter on the same field.
   [ctheune]

 * Fixed unit tests to work without (and hopefully with too) runner again.
   [ctheune]

 * Added feature that doesn't show users non-sortable criterions in the form.
   [ctheune]

 * Added feature that removes double or stupid criterions (allowedRolesAndUsers,
   id/getId).
   [ctheune]

 * Sorting criterion lists (by their translations).
   [ctheune]

 * Added german translation.
   [ctheune]

 * More i18n support in the templates.
   [ctheune]

 * Fixed _very_ annoying problem with bad ids. this should be bullet proof.
   [ctheune]

 * Extended german translations.
   [ctheune]

 * Fixed ATDocument to not kill uploaded files on the submission of an empty
   text area.
   [ctheune]

 * Fixed small bug in id protection.
   [ctheune]

 * Fixed the case where the portal doesn't has a 'Members' folder or
   when it has another name.
   [deo]

 * Fixed [ 1055347 ] id problems when member preferences are set to not
   display and [ 1055348 ] ATCTFile id problems with portal_factory in
   ATCTFileContent._setATCTFileContent().
   [tiran]

 * Disabled external storages based types because neither I nor MrTopf have
   time to support it right now.
   [tiran]

 * Added long description field and image tag to ATImage. Fixed [ 1056050 ]
   Add longdesc to ATImage.
   [tiran]

 * Fixed [ 1057691 ] Make ATContentTypes tests works with testrunner.py.
   Thanks to dan_t.
   [dan_t, tiran]

 * Added fix for [ 1063549 ] ATCT migration doesn't migrate order to
   migrator.py.
   [tiran]

 * Fixed [ 1067719 ] Install.py bug: property modified but not assigned by
   removing unnecessary code from Install.py. AT itself is already handling
   use_folder_tabs.
   [tiran]

0.2.0-rc3 - 2004-10-17
======================

 * Added ATContentTypes Site customization policy.
   [tiran]

 * Fixed [ 1041830 ] TypeError: cmf_edit() takes at least 3 non-keyword
   arguments by changing the edit() implementation. A class var named
   cmf_edit_kws was introduced to fix the issue.
   [tiran]

 * ATLink: Use urlparse library to sanify the url to strip of additional
   slashes. This is fixing http://plone.org/collector/3296 for ATCT.
   [tiran]

 * Added support for the clear format feature of CMF Document.
   [tiran]

0.2.0-rc2 - 2004-10-06
======================

 * Fixed problem with isIDAutoGenerated if the object was not wrapped in
   a site.
   [tiran]

 * Fixed download tab
   [tiran]

 * Made image/file viewable when invoked directly by adding an index_html.
   [tiran]

 * Replaced tag method of ATImage.
   [tiran]

 * Fixed migration: Migration failed when there was a broken object in a
   folder.
   [tiran]

 * Fixed property migration: continue if the object already has this
   attribute.
   [tiran]

 * Added talkback discussion migration.
   [tiran]

 * Set description as primary field for ATEvent. Also use an easier syntax
   for setting description to isMetadata = False.
   [tiran]

 * Renamed tab from history to last changes. Added big warning that the
   history is based on zodb revisions.
   [tiran]

 * Added ExtendingType howto (more to follow).
   [tiran]

 * Recoded migration walkers to use a generator instead returning a list to
   make them much more memory efficient.
   [tiran]

 * Rewritten folder migration to use the depth inside the folder structur
   instead of recursing into the full side.
   [tiran]

 * Added a findStaledObjects external method to ATCT to find staled objects.
   It is very useful to clean up a site before running the migration.
   [tiran]

 * Fixed an ugly bug in ATDocument which was screwing up references on copy.
   [tiran]

 * Merged ConstrainTypesMixin from the branch into the HEAD. Thanks to
   Leonardo Rochael Almeida and Jens Werner Klein for their work.
   [yenzens, rochael]

 * Fixed [ 1013853 ] File upload image shows mime-type in widget.
   [tiran]

 * Removed call to markCreationFlag().
   [tiran]

 * Fixed problem with ATFavorite: Migration to ATFavorite failed when the
   object was gone or the user wasn't allowed to access it.
   [tiran]

 * Fixed [ 1027070 ] Download permission. Now the download tab is shown for
   all logged in users with View permission.
   [tiran]

 * Fixed [ 1027093 ] Edit permission topics. The edit action of ATTopic now
   requires ChangeTopic permission.
   [tiran]

 * Fixed [ 1027094 ] folderlisting action for ATTopic. Removed folderlisting
   action using a module level modify_fti function in ATTopic.py.
   [tiran]

 * Fixed [ 1026379 ] ATDocument: skipField in setContentType throws error by
   removing the custom setContentType method. It's not required any more.
   [tiran]

 * Use a copy of the ATContentTypeSchema for every schema to make customizations
   easier. Fixed [ 1027283 ] Schema editing very hard.
   [tiran]

 * Fixed [ 1035380 ] Problems with createMemberArea and ATCT by adding a
   setFormat() method to ATDocument which is using the translate method to
   map between stupid CMF content types and real mime types.
   [tiran]

 * Changed mx.Tidy test to work around [ 1033396 ] Error on refresh.
   [tiran]

 * Fixed [ 1036267 ] Some typos in customconfig.py.
   [tiran]

 * Fixed [ 1036255 ] switchCMF2ATCT: Favorite can't be added anymore. The type
   was disabled inside the switch script.
   [tiran]

 * Fixed [ 1027108 ] Inherit criteria not working.
   [tiran]

 * Fixed [ 1030660 ] ConstrainMixin: All types are addable in an ATFolder by
   using a default_method to initialize the list of addable types. The method
   _globalAddableTypeIds was added to generate the list.
   [tiran]

 * Fixed a possible problem in allowedContentTypes: Now the method is using
   fti.isConstructionAllowed(context) to verify that the type is constructable.
   [tiran]

 * Added an option called enableConstrainMixin which is a boolean value
   (checkbox). When set to false the constrain mixin is disabled and the
   default list of addable types is generated by using the default values
   from portal_types.
   [tiran]

 * Fixed [ 1030662 ] ConstrainMixin: Can't add an ATTopic to portal root by
   not subclassing ConstrainTypesMixin for ATCTFolder. ATCTFolder must ONLY
   to used as a base class for folderish but non folder types.
   [tiran]

 * Added max_depth workaround and logging for [ 1039846 ] Ghosts in catalog
   while migration and endless loop.
   [tiran]

0.2.0-rc1 - 2004-07-28
======================

 * Removed 'contents' tab and 'add new item' menu from ATTopic.
   [gotcha]

 * Changed criteria tab to table UI.
   [gotcha]

 * Added message when clicking remove on criteria without selecting first.
   [gotcha]

 * Depend on new AT 1.3.0-beta3 release.
   [tiran]

 * Changed ZMI add name of topic related types to 'ATContentTypes Topic'.
   [tiran]

0.2-beta8 - 2004-07-21

 * Fixed validation problem with mx tidy validator and file uploads.
   [tiran]

 * Changed time range ints in FriendlyDateCriterion to strings.
   [tiran]

 * Reenable implicitly addable for ATFavorite.
   [tiran]

 * Added validation for setup of sort order on topics.
   [gotcha]

 * Added getSize, getHeight, getWidth methods and width/height attributes to
   ATImage.
   [tiran]

0.2-beta7 - 2004-06-27

 * Moved around some code from ATFolder to ATContentType.
   [tiran]

 * Fixed problem with index_html in ATBTreeFolder.
   [tiran]

 * Fixed wrong portal type in Members ATBTreeFolder after migration.
   [tiran]

 * Added initializeArchetype() to ATContentType base class and changed it to
   use edit() instead of update() to make invokeFactory compatible with the old
   cmf types syntax.
   [tiran]

 * Fixed problem with _getPortalTypeName in initializeArchetype() phase of
   object creation. Before the fix the portal type name was the original type
   name (e.g. ATDocument) because it was changed after the initializeArchetype
   call by the portal types tool. This issue has caused some wired problems with
   LinguaPlone and workflows.
   [tiran]

 * ATFile file field and ATImage image field are now language independend.
   Later I will add a I18NImage and I18NFile if needed. Having a seperate type
   for language dependend content for file and image is in my opinion easier to
   understand for people. Besides it's like Zope3.
   [tiran]

 * Removed TemplateMixin specific code from ATContentType base class. It was
   moved to TemplateMixin some time ago.
   [tiran]

 * Better error reporting for migration errors.
   [tiran]

 * Fixed migration problem when LinguaPlone was installed.
   [tiran]

 * Added - as valid char for ids.
   [tiran]

 * Reindex only Type, portal_type and meta_type in switching script.
   [tiran]

 * Wrapped field tests in a portal to fix a problem with missing tools.
   [tiran]

 * Fixed migration problem of modified date and created date and also fixed
   a problem with the unit test that was testing the right date. I was
   trying to compare the mod date after editing the objects. %-)
   [tiran]

 * Default type of ATDocument and ATNewsItem is configurable in
   customconfig.py.
   [tiran]

 * Fixed issues with content type registry and registered templates after
   switching from or to ATCT mode.
   [tiran]

 * Added validation to ATEvent: end date must be after start date.
   [tiran]

 * First release with all unit tests of Archetypes, ATCT and CMFPlone
   tiran-atct-integration branch passing!
   [tiran]

0.2-beta6 - 2004-06-20
======================

 * Added max upload size validator to ATFile and ATImage.
   [tiran]

 * Changed permission for download tab an ATFile. Dont confuse the average
   user with the green edit frame.
   [jensens]

 * Added a new class ATCTFileContent which contains some code for ATFile
   and ATImage.
   [tiran]

 * Set title from the filename of an uploaded file (ATImage, ATFile).
   [tiran]

 * Added limit for ATTopic.
   [gotcha]

 * Added EditableBody method to ATDocument.
   [tiran]

 * Added validation of Criterion support for a specific index.
   [gotcha]

 * Added edit() methods for backward compatibility to CMF.
   [tiran]

 * Added restrained folder support.
   [jensens]

 * Disabled restrained folder support until it's fixed.
   [tiran]

0.2-beta5
======================

 * Fixed multiple small bugs and added features requested in the bug
   tracker on sf.net.
   [tiran]

 * Auto set id from filename for ATImage and ATFile.
   [tiran]

 * Fixed python 2.1 compatibility problem with CMFCore/WorkflowTool.
   Thanks to Tiziano Lattisi.
   [tiran]

 * Moved to validation chains.
   [tiran]

 * Fixed security of HistoryAwareMixin.
   [tiran]

 * Added iCal/vCal export to AT Event.
   [tiran]

 * Added LinguaPlone support.
   [gotcha]

0.2-beta4
======================

 * Added AT Dyn Document. It's a CMFDynamicDocument like type that supports
   rendering of TAL inside the body text.
   [tiran]

 * Moved AT Dyn Document to a new product.
   [tiran]

 * Fixed the migration.
   [tiran]

 * Fixed and improved the switch from/to "ATCT as default types" methods.
   [tiran]

 * Updated docs.
   [tiran]

 * Moved helper methods to utils.
   [tiran]

 * Switch objects in content_type_registry, too.
   [lelit]

 * Added isSwitchedToATCT method.
   [tiran]

 * Fixed misc UI problems like doubled folderContents.
   [tiran]

0.2-beta3 - 2004-04-20
======================

 * Updated INSTALL.txt [tiran]

 * Fixed default view of ATBTreeFolder and ATFolder (stage 2). Both types
   are using ATContentTypeSchema with TemplateMixinSchema.
   [tiran]

 * Added a recreateATImageScales method as external method.
   [tiran]

 * Added missing sharing tab to all ATCTContent based types.
   [tiran]

 * Fixed AT Favorite.
   [jensens]

 * Fixed atct_edit macro.
   [tiran]

0.2-beta2 - 2004-04-11
======================

 * Update validators to reflect the last changes and fixes of the archetypes
   and validation packages.
   [tiran]

 * Added uml diagram of ATCT classes.
   [tiran]

 * misc small fixes and improvements.
   [tiran]

0.2-beta1 - 2004-04-09
======================

 * First official beta release for testing.
   [tiran]
