CHANGES

Plone 1.0.5 - Breakbeat Era release

    - Plone 1.0.5 was a security release, made because of a security hole
      in CMF 1.3.1.
      
    - A workaround for the disappearing text bug in IE6 was included.
      More details:
      http://plone.org/Members/limi/news/ie6-disappearing-float-bugfix

Plone 1.0.4 - Zita Swoon Release

    - Plone is now compliant with the two most widely-used accessibility 
      standards in the world - Level A Conformance to the W3C's Web 
      Content Accessibility Guidelines (WAI-A) and US Government 
      Section 508 compliant.  The law applies to all US Federal agencies
      when they develop, procure, maintain, or use electronic and 
      information technology. Under Section 508 (29 U.S.C.  794d), 
      agencies must give disabled employees and members of the public 
      access to information that is comparable to the access available 
      to others. Plone is now able to be used in these agencies.
      [sh1mmer] [limi]

    - Removed code that appeared to be causing login problems with IE 5.0.
      To enable testing to see if cookies are enabled when a user logs in,
      you will need to set the property 'test_cookie_name' to some non-empty
      string in portal_properties/site_properties and make sure that your 
      main_template actually sets a cookie with the name you have specified.
      See the standard main_template for some sample code.
      [geoffd]

    - Backported Print CSS fixes from HEAD. All browsers now print properly, 
      apart from Mozilla, which still has some way to go before it understands
      print CSS properly, it seems. Tested in IE and Opera 7.
      [limi]

    - PloneFolder.contentValues has grown two args: sort_on and reverse.
      sort_on is a attribute or a callable method on the objects.
      reverse is 0 by default
      [runyaga]

Plone 1.0.3 - Brazil Soundtrack

    - Fixed ERRATA in 1.0.2

    - various bug fixes such as favorites_slot, discussion edit problems

    - WorkflowTool.doActionFor was not returning objects if they were moved

    - DTML support is now working again (NOTE: deprecated in Plone 1.1)

    - added a property in portal_properties/site_properties called invalid_ids
    which will not be allowed to be used in the CMF/Plone site.

Plone 1.0.2 - Vert Release

    - Fixed permissions on PloneFolder methods set in CopySupport.py (1195)

    - 'local roles' tab is now determined by 'Change Permissions' permission.

    - If you dont have access to a object you no longer get a login_form but 
    a "permission denied" view [gdavis]

    - added vcXMLRPC lib

    - Fixed behaviour of the definition list and pre tags in presentation
      mode. [limi]

    - tabindex can now be used in left/right_slot too.

    - Breadcrumbs and form validation error messages are now translated

    - Added javascript to warn people that they have cookies disabled before 
      they try to log in.

    - Added a page that walks people through the process of enabling cookies.

    - Fixed up the code that sends users on to their destination when they log 
      in.

    - When you are logged in and visit a page for which you don't have 
      sufficient privileges, you now get a message that says "you have 
      insufficient privileges to view this page" rather than a login
      prompt. 

    - Removed "(No Description)" string in news.pt

    - creates an object to hold customization policy results, if any.

    - The IE6 fix for invisible text was broken, should work now.

    - Added translation to field 'type' in folder_listing table. Replaced
      'n/a' with '&nbsp' to work like folder_contents

    - Only show "Add Comment" button if discussion is allowed, and user
      has permission to reply to item.

    - added on-error for search results when path('here/%s'%result.getIcon) 
      raises a AttributeError

    - making less assumptions in Portal/Customization Policy for migrations of 
      very old Plones and imported nested_scopes in Portal.py

    - visual tidy up of main_template and header and try to see if variables
      have been declared before blindly re-initing them.

    - removed the setHeader() in header

Plone 1.0.1 - Mira Calix 

    - Added "Dry run" option to portal_migration

    - Syndication is now using portal_form.

    - calendarDatePickerBox used tabindex instead of tabindex/next

    - validation of expiration_date and effective_date in content_status_history was broken

    - checkPermission was being traversed to in breadcrumbs, navigationXXX, and
      my_worklist.  

    - file/image_edit_form had unexpected behavior.  If you had uploaded
      content (without a Name) it would generate the name.  But if you uploaded
      new content it would rename the object to the new id ;'(.  Thanks to
      Robert Rotterdam for pointing it out and to Limi for having patience ;-).
      we now check isIDAutoGenerated() and if not then we keep the old id.

    - added member and portal global variables in main_template for backwards
      compatability

    - fixed Collector bug in new issue formPlone 1.0

Plone 1.0

    - calendar_slot now uses absolute_url() and template.getId() (so you can stay on templates)

    - modified condition of 'state' action in portal_actions so that DTML objects work

    - Removed old Xopus files

    - Removed XSDHTML editor, all editors should be add-ons and not in core 
      Plone

    - Added more flexibility for add-on editors by moving format selector into
      wysiwyg_support.pt

    - Netscape 4 support is back.

    - Fixed IE6's bad handling of floating elements - no more invisible text
      on the pages that triggered this bug. This is done with a couple of lines
      in Javascript - no HTML changes.

    - fixed the content_status_modify.failure navigation to goto 
      content_status_history instead of old action:publishing thanks to Robert 
      Rotterman. NOTE: please do not submit bugs to sourceforge tracker.

Plone 1.0 rc2


    - removed the properties in site_properties that belong in the root
      validate_email, email_from_name/addr

    - added geoff davis's tidy_up.py and tidied up most PageTemplates

    - Issue 787 submitted by Ronnix.  Fixes the appropriate place of email_from_address 

    - now on a portal_workflow.doActionFor() we reindexObjectSecurity()
      ! I think this is already done since we are using DCWorkflow !
      specifically this was addressed by vlado Issue #442.  When a folder
      has changed its permissions and should affect the security for its
      children.

    - migration machinery to add skins, change personalize_form to go back to personalize_form

    - typo in portal_navigation default.folder_rename_form.success should be script:folder_rename
      this typo was propagated throughout previous migration scripts and was also fixed.
      thanks to flacoste for pointing this out.

    - Rewrote the box code, thanks to interra for help with troubleshooting 
      browser bugs. Any customized boxes will need a small update, essentially 
      you need to do the following to make a box::

        <div class="box">
          <h5>Title</h5>
          <div class="body">
           Then it's just the usual:
           <div class="even content">

      etc.
      (Remember that you will need to do a Ctrl-F5 (force refresh) to make use 
       of the new CSS file - normally it is cached for a day or two)

    - Added skin variable to end of CSS file name, avoids caching problems when 
      switching skins on the fly.

    - Added several new skins. Plone now contains the skins:
  
        - Plone Autumn
      
        - Plone Core
      
        - Plone Core Inverted
      
        - Plone Corporate
      
        - Plone Default
      
        - Plone Greensleeves
      
        - Plone Kitty
      
        - Plone Mozilla
      
        - Plone Mozilla New
      
        - Plone Prime
      
        - Plone Zed

    - Fix for the printing problems which caused some text to disappear along the right edge.

    - Added more i18n stuff, the calendar is now fully localized. 
      **Remember that you need to run Zope without any special language 
        settings for this to work**

    - Search results now use the defined time format

    - Added CSS workaround for STX tables, they now look like real 
      Plone Tables(tm ;)

    - Lots and lots of i18n updates
      
Plone 1.0 rc1


    - added 'fullname' to portal_memberdata

    - 'properties' forms (metadata_edit_form) no longer allows anyone to add keywords.  this is now
      controlled in portal_properties/site_properties/allowRolesToAddKeywords

    - Added code to ensure that content object ids do not collide with skin names or reserved ids.

    - Added protocol parameter to portal_form_url script.  Fixes issue 593

    - Made sure that the main portal types (file, image, document, event, link, newsitem, folder) all
      work with portal_factory.  Cleaned up some minor edit form bugs and added some form titles where
      they were missing.

    - Fixed a bug in which uploading two files with the same name in the same folder caused an id
      collision and dumped you into the ZMI.

    - Made ids optional for the main portal types (file, image, document, event, link, newsitem, folder).
      If no id is specified, uses the object's current id.  Fixes issue 66.

    - Per the request of our usability guru, for items that can have their id set from a file name
      (file, image, document) we show a blank id when the item is first created.

    - add_ext_editor script was added.  If you have ExternalEditor installed and 
      you run this script; it should configure your system to use it.

    - tiny feature.. the filename will remain if your validation fails (not in IE)
      Issue 597

    - folder_publish now applied effective/expiration dates and will do so recurssively.
      Fixes Issue 605.

    - Added site_properties into beta2-beta3 migration script. Thanks interra Issue #659

    - Added some navigation properties into the beta2-beta3 migration script that were missing.
      Also put them into the newly created beta3-rc1 migration script for people who migrated
      using the existing script.  Fixes Issue 600.

    - Added a fallback for createObject navigation when the new object has no 'edit' action.
      Fixes problems with installing CMFWiki and possibly other packages.

    - refactored (only slightly) folder_contents.  Think I may have solved some leakage. 
      In previous versions we got a reference to allowedContentTypes and then did a .sort() 
      and it seemed ZPT was not cleaning up after itself. ;'( introduced sortObjects (was
      sortObjectValues) and I think its "Doing The Right Thing"

    - added lock icon to folder_contents (which automatically will show up in content_status_history)
      and about_slot

    - minor optimizations of folder_contents and folder_listing.  
      lookup references to objects and then use them instead of repeating lookups.  its pretty
      obvious looking at the table tag what has been defined before being used.  Just Good Practice(tm)

Plone 1.0 beta3


    - Added all missing i18n strings, merged some strings to better facilitate translations to
      Japanese, Chinese and Korean.

    - Renamed Plone XP skin to Plone Corporate to avoid confusion with a certain operating system ;)
      This will break your skinpath if you have it pointing to plone_styles/winxp, change it to
      plone_styles/corporate instead.

    - Workflow modification so that Owners can see folder_buttons in Folders that they own.
      Also moved over hardcoded Permissions to constants found in CMFCore.CMFCorePermissions
      fixes Issue 557

    - misspell in PloneWorkflow.py found by dc0e - thanks! fixes Issue 579

    - the Portal object needs to be 'publicized'.  fixes Issue 569

    - if form validaton fails for content_status_history keep dates and comments

    - since CMFCalendar/Event.py uses a different set of Permissions, 'Change portal events'
      we need to add this permission to the Workflow definitions and set the permissions
      appropriately. fixes Issue 575

    - removed a useless conditional check on search_form.pt thanks sspickle!

    - Xopus technology preview has been checked in.  It only works on document_edit_forms currently.
      Thanks to q42.nl for the revolutionary technology.  http://xopus.org/
      !!WARNING!!: Careful if you use Mozilla, it swallows the first paragraph when you save at
      the moment. Will be fixed in a later release, this is just to get a feel of how things will
      work.

    - turned on the 'SuppressHiddenFiles' in folder_contents and folder_listing.  
      Now folders that begin with a . will not show up.  Ideally we would want this turned 
      off if we were a Manager.  This is something people can customize themself.  
      .personal should be for: Portrait, Personal Events, etc.  

    - added getFolderContents which wraps listFolderContents for backwards compatibility
      with PortalFolder.  Since it does not provide a suppressHiddenFiles arg we will
      manually apply the suppression in the script.
      navtree_builder has been modified as well so that we will not show these in the navigation tree

    - added verifyPermission argument in MembershipTool.py according to Issue 551 thanks to mitja

    - in PrivatePlonePolicy made Members folder 'published' so that navigation slot works for Members
      I believe this resolves Issue 489

    *NOTE*
    We released a beta3 tarball and then decided to fix the above before a final beta3 tarball release


    - whether or not /folder_contents is appended to the url in folder_contents is now determined by site_properties/use_folder_contents

    - Issue #458 - portal_properties.site_properties is where all Plone/site-wide configuration data is now held

    - Moved changes from 1.2 to Portal.py to the migration

    - Added the migration tool

    - Added PloneInitialize which loads up the ZODB with a Plone instance and some goodies, if and only if the write type of config file that the installer writes is found.

    - CustomizationPolicy made the 'folder contents' tab on object un-visible.
      Also changed the name of 'folder contents' for folder category to 'contents'
      Changes 'Publishing' tab title to 'Workflow'

    - Added "Print this page" option.

    - Reworked the CSS for forms. Should look good in all browsers now, and the
      wrapping problem should be resolved.

    - Made all fonts use percentage values, untangled nesting, made textareas use 
      non-proportional fonts. Fixed several other visual bugs.

    - NavigationExceptions now dump stack traces to the event log rather than including
      them in the error message.

    - Object IDs are checked for collision with skin files when renaming objects.  This
      prevents a stack overflow in BSD.

    - createObject now uses portal navigation (default is action:edit)

    - Added getId and meta_type to the catalog metadata

    - Added support for CMFBTreeFolder if it is installed.

    - Added a script, portal_form_url.py, that adds portal_form to a URL in the appropriate
      spot.  If you set your form's action to python:here.portal_form_url(template.id), the
      portal_form machinery will kick in upon submission even if the form's URL doesn't have
      portal_form in it initially.

    - Added validation for folder_rename and changed the navigation properties accordingly.

    - Added "New items since last login" to the logged_in page.

    - You can now set the length of the authorization cookie in portal_properties.site_properties

    - Added portal_properties.site_properties property sheet for portal wide properties

    - Issue 478, folder contents 'add new item' list is now sorted in alphabetical order

    - If a member has defined a portrait it will now show up in 'local roles' form
      also the defaultUser.gif portrait will show up in your preferences unless you
      personalize the portrait

    - Major CSS update:
    
    - added new box class
    
    - rewrote all boxes (everything in ui_slots)  to use the new code
    
    - made News use the new code
    
    - made Collector use the new code
    
    - made viewThreadsAtBottom use the new code
    
    - moved viewThreadsAtBottom to templates dir 

    - IMPORTANT: if you have customized your stylesheet properties, you need to add the
      new destructiveButton properties to yours, have a look in stylesheet_properties.props   

    - All CSS2 style sheets are now contained in plone.css. This causes fewer requests, and a general
      speedup both in rendering and transfer. 

    - Changed the person icon and name in personal bar to link to page of self, not folder_contents.
      This is more consistent with the use of the person icon elsewhere, and you now have both view
      and folder contents link in personal bar.

    - All Netscape4 style sheets were collapsed into on, and re-built. Plone is *much* faster and looks
      much better in Netscape 4.x now.

    - fixed ISSUES: 327, 363, 445 (thanks interra!), 485, 60, 491, 495, 364 (CustomizationPolicy), 494,
      488 (more logic in showEditableBorder *sigh*), 452 (gdavis), 349, 437 (Private Policy, thanks
      mitja!), 471 (thanks SDuncan)

    - Issue 473 - we now have a standard_error_message python script that 
      calls the default_error_message PageTemplate.  Its possible for you to customize this script
      and dispatch to an appropriate PageTemplate depending on the error that was raised.  Thanks
      to Tino Wildenhain for providing insight.  #zope is such a great resource.

    - factored out logged_in.pt into 4 entities: logged_in.py (dispatches to appopriate view),
      login_success.pt, login_failed.pt, login_password.pt

    - fixed workflow permissions so that:
      if the Manager 'publishes' the root Folder object (so that Members can 'List folder contents')
      that Members can still 'List folder contents' and get the folder_buttons (portal_actions)
      displayed in their home folder.  
      NOTE: at the end of CustomizationPolicies both catalog and workflow tool will be 'reindexed'

    - file_view uses a href now instead of a input button

Plone Beta 2


    - navigation slot/tree was made more resilient to exceptions thrown while traversing child nodes    

    - migration script has been updated to transfer portal_memberdata over in a more sane way 

    - if you only have 1 item you can add dont show drop down list in folder_contents
      just show 'Add New $contenttype' and insert a hidden form variable

    - PrivateCustomizationPolicy had *no way* to let anonymous users view content.  This is 
      debatable feature but 99% end users will want a tranistion that allows content to 
      be visible by a Anonymous user.  Thus introduced the public state and publicize tranistion

    - PloneFolder mixes in DefaultDublinCoreImpl and declares the DublinCore interface
      also it maps manage_addFolder to manage_addPloneFolder

    - By default only Subject keywords assigned in the portal_metadata show up in metadata_edit_form
      instead of the default CMF policy of all Keywords ever assigned + the allowed ones. Also 
      alphabetized Keywords and Languages.  Also removed 'None' from dates.

    - reconfig_form didn't use the postback value of default language, if the form had errors.

    - Bugs fixed 373, 383, 316, 433, 329, 441

    - metadate_edit_form added a '\n' in Contrbutors field, everytime it was saved.

    - Issue 403 - added <meta> tags to header, not really used by modern search engines
      need script listMetaTags.py

    - reintroduced getPersonalFolder/getPersonalPortrait python scripts for backwards compatibility

    - Topics use folder_workflow now

    - added titles for xxx_edit_forms (breadcrumbs seemingly have changed)

    - Issue 300 - Standardized batch navigation. Batching now uses PloneBatch and its macro.

    - Issue 440 - Forms automatically focus on input element with tabindex=1

    - main_template now uses prepare_slots.py 

    - added structure here/title_or_id to plone_contents and other views. 
      Thanks to 'DZ' on plone.org for noticing

    - dont show a select box, "Show all items" in folder_contents unless there are types 

    - gave Manager 'Modify portal content' permission in folder_workflow.published

    - closed out Issue 457.  now ppl can define a ploneCustom.css and it will be included in the header

    - zwork and limi have worked out quite a few issues regarding the new tree maker

Plone Beta 1


    - Added tree navigation from Philipp Auersperg and made it the default
      navigation device. Thanks!

    - Fixed #245, there can now be more than one sortable table on a page.
      Use class listing to make it sortable, class nosort to avoid sorting.

    - CustomizationPolicy was not saving changes to personal_form/addtofavorites 
      in new_actions now things work as Expected

    - moved getPersonalFolder/getPersonalPortrait to portal_membership tool 
      instead of FSPythonScripts

    - Cleaned out all old javascript, consolidated everything into one file,
      this makes the whole thing more caching-friendly. You can also sort
      any table on any page by putting id="sortable" in the table tag.

    - Moved all javascript/ECMAscript into the plone_ecmascript folder. This
      will require earlier instances of Plone to have plone_ecmascript added
      to their skinpath. New sites will work fine.

    - The *big* i18n branch was merged into main Plone, breaks the existing 
      translation files, (none of who are complete at the moment anyway)
      but is much more future-proof. We have this change in as early as 
      possible, and it makes everything much easier to manage from here on.
      to have a much better control over i18n in the future. 

    - subjects(keywords) in metadata tool were being saved with null property.. 
      automatically relating items

    - filtering was broke changed folder_contents had filter_by_Type where 
      CMF1.3 now uses filter_by_portal_type   this required changed to 
      folder_contents and filterTypes - only 2 lines of code to change ;) - 
      thanks Florrent!

    - topic has been changed to to make the icon clickable, it now uses title or 
      id of the catalog brain

    - related box now has <br /> seperating elements and will not show related 
      items that dont have a title - thanks kpm!
      added icons, sort by Type and changed up navigationLocal and only shows 
      published items - thanks Raphael Volz!

    - MembershipTool.changeMemberPortrait() method added and removed from 
      personalize_form

    - added MIGRATION documentation

    - calendar_slot will only search for items with review_state=published

    - width/height are correctly being calculated for all icons (limi fixed)

    - added validator for content_status_modify and if folder_publish 
      is used for mass publishing it will redirect back to folder_contents
      asking for publishing action if none is supplied

    - also fixed the mass publishing which was borked.  now we pass around 
      the container

    - Issue 266 fixed - topic_view now says 'no results found'

    - Issue 288 fixed - favorites slot needed <br />

    - removed CSSImports and inlined @imports into style tal:content="string"

    - put Content-Language to use here.Language() or 

    - portal_properties.default_language

    - changed 'My Stuff' to 'My Folder' 

    - moved edit_forms in with content

    - moved event_xxxx into plone_3rdParty/CMFCalendar for consitency

    - Issue 204 fixed

    - Sigve Tjora fixed the migration machinery - incredible job! 
      CMFPlone/Extensions/migration.py
      Ownership is carried over properly and reindexes newsite 
      after migration

    - portal_status_message is shown when a object is created, type_name has 
      been created.

    - Ownership form is wired up but is not visible by default

    - added quick_undo script, one step undo.  not visible by default

    - removed the download tab on File view since we have a button

    - fixed Issue 242, if portal_title==here/title_or_id 
      (in a pagetemplate) search for template/id in header - 
      thanks ronnix for pointing this out.
      We do this by adding properties on the filesystem i.e.
      search.pt.properties to give search the title=Search results

    - <shiver> added more logic to breadcrumbs so you can see templates i.e. 
      search tab will show
      home >> search form - fixes issue 211 </shiver>

    - content_status_history.pt now uses Effective/Expiration data accessors

    - Andy McKay added nested discussions.  

    - You can now delete discussions (need to put security check) 

Plone 1.0 alpha4


    - publishing now works without javascript. #202

    - moved plone_calendar to plone_3rdParty/CMFCalendar (your skinpath will 
      need updating if migrate)

    - add ownership_form (so you can change ownership)

    - Private plone sites now keep their portal_registration tool, resolving #
      243, #250.

    - Anonymous users do not have Add portal member permission in private plone 
      sites anymore.

    - Members folder is no longer cataloged upon reincarnation as a Plone Folder

    - formtooltips for anonymous user are defaulted to portal_memberdata setting

    - fixed FreeBSD segfault problem in forms caused by IndexIterator inheriting
      from ZTUtils.Iterator

    - Issue 236 resolves - verified by Michael Dietrich 

    - search_form changed to use portal_type instead of Type thanks to Buehlmann
      and JeffK

    - moved all content forms to portal_form machinery

    - 'editor view' wasnt going to the parent to list folder_contents

    - added personazlie_form/reconfig_form to portal_from machinery

    - when you changed password it was forwarding rather than redirecting to
      personalize_form and losing the portal_form proxy

    - portal_status_messages have been added for all the validate_xxx and 
      xxx_edit forms

    - news form now has links to Creators homepage

    - first cut at a migration script look Extensions/migration.py

    - many more changes 

    - made a second release of alpha4 with input from Jon Lim - thanks!

    - FormTool had typo

    - removed old CMF skins in portal_skins

    - if your object didnt have a title in a topic it wouldnt show the id

    - Issue 345 - content_status_modify wasnt using editMetadata and wasnt guaranteed to 
      set the effective/expiration date - FIXED.  and minor aethetic cleanups to boot

    - since we got rid of 'index_html' as a PageTemplate and its a Document.  there
      was no flexible way to assign left/right columns easily.  so we now can use
      Folder properties, left_slots and right_slots to put the Path expressions to
      the slots.  These properties are acquired but Membes.right_slots is empty.
    
Plone 1.0 alpha3


    - removed tabs, request.set('disable_border',1) from: news, roster, search, 
      and search_form

    - reconfig_form for site wide configuraiton has form validation, and exposes 
      loads of configuration options

    - change in main_template for portal_types to get object_tabs from 
      folder/object has been pushed into a property on portal

    - added 'use_folder_tabs' property on portal object.  portal_type ids that 
      are listed will get folder_actions instead of
      object_actions in main_template.

    - fixed edit_topicCriteria (has debug code in it) added navprops entry and 
      modified script to use getNextRequestFor

    - Members now have default Title/Description Issue 206

    - if Casey's incredible ExternalEditor application is installed in ZOPE the 
      CustomizationPolicy will integrate it into Plone
      this is the ext_editor boolean property on the Portal Object

    - portal_factory tool has been added - Geoff Davis (freakin brilliant)
      this exists to smooth over the fact that you can have empty orphaned 
      objects if someone leaves after they
      create a object but before they 'save' changes.  this tool will create a 
      proxy object that does not exist
      in the ZODB and the form will be rendered against this proxy object.  

    - portal_form tool has been added - Geoff Davis (what a great idea!)
      this co-ordinates the instance, portal_navigation and the edit forms and 
      acts like a 'Controller'

    - portal_properties has been extended to now be a container - Alan and Geoff
      Davis

    - tabindex is now being used to generate the tabindex numbers for all fields
  
    - thanks to Helge!!

    - Topic interface has been completely skinned - cheers to Helge/Alex duo!

    - if event data isnt set it now shows back up in the form - helge

    - integrated XSDHTMLEditor and a way to add other "popup" editor boxes

    - publishing tab will not show up for anonymous #224

    - added more options in 'plone setup' form

    - new Portal wide Property, 'use_folder_tabs' needs to know what Types are 
      considered 'Folders' so it shows
      folder tabs and not object tabs.  Wiki/Collector are examples of folderish 
      objects that we dont want to see
      folder tabs for.

    - Issues resolves: 206, 214, 173, 229, 106, 180 (removed CANCEL for now), 
      198, 233 and others

    - 'select all' column has been added to folder_contents and general 
      folder_contents refactoring

    - you can now specify a Default Language for the Portal

Plone 1.0alpha2


    - Added localLongTimeFormat, set to '%Y-%m-%d %I:%M %p' by default. Used by 
      Events.

    - Publish tabs now appear on all content types if they have available 
      tranistions

    - configurable tabs and buttons have change:
    
    - local_buttons (in folder_contents form) is now folder_buttons
	
    - local_tabs (on all pages that showborder) are now object_tabs
	
    - global_tabs (at the top of the page) are now portal_tabs

    - change status ('mass publishing') now works as expected

    - personalize_form was reseting values on form validation failure

    - on the rename form you can now change the id and title (maybe the id 
      should be optional)

    - the way forms interacted with editing scripts has changed:
    
    - form validation has been refactored (basiclly the only thing you need 
          in validate_xxx.py)
	- the actual editing scripts call plone_utils.getNextXXXXFor() to get the 
      next screen to goto 
	- look at plone_scripts/form_scripts/navigation_properties.props if you want
      to change this.

    - bad id's will not escape the validation machinery

    - if you want to disable registration, unregister the registration tool from
      portal_actions and then remove it

    - added small IndexIterator utility class (PloneUtilities.IndexIterator), we
      should use this for tabindexs

    - metadata_edit_form now has mimetypes/languages boxes that work, also popup
      calendar works now as well

    - some python scripts did not have context namespaces bound to them (on the 
      filesystem)

    -  __init__.py files that declard modules in folders if had 0 bytes made 
      winzip unhappy

    - folder_contents will no longer show empty dropdown/add new item button or 
      (up one level) if they are not usable

    - on Plone site creation we now add another workflow defnition, 
      folder_workflow which is bound to Folder types.

    - instead of having a Document as index_html, we use a PageTemplate that 
      fills out the master macro and renders
      the CookedBody() of the old index_html, now affectionally called 
      'frontpage'

    - added a Navigator Controller.  navigational_properties.props is how you 
      customize the various page transitions
  
    - everything has been (should be) wired up to the new machinery

    - view_source.py has been added to Extensions. use it by 
      http://site/object/view_source?template_id=$id
  
    - create external method, id=view_source, module=CMFPlone.view_source, 
        function=getObjectSource

    - topics have been skinned.  subtopics now share their listing/management of
      subtopics with folder_contents

    - removed 'my workspace' (not visible action) until CMFWorkspaces and 
      friends land   

    - undo form now will return you to where you were when you went to the undo 
      form 

    - added a PrivateSiteCustomizationPolicy that makes a plone site "private" 
      (preconfigures workflow's) -- you will still need to 
      customize the header to get rid of the search_form 
      tal:condition="not: here/portal_membership/isAnonymousUser"

    - added metadata tab to Event contentType in DefaultCustomizationPolicy 

    - fixed issue 163

    - metadata tab is now labeled Properties

    - added XSDHTMLEditor to document form for trial before 1.0

Plone 1.0alpha - Boards of Canada Release:


    - refactored how edit scripts work.  lots of heavy lifting is now done in 
      plone_utils.editContent()

    - specialized WorkflowTool and got rid of sloppy External Methods, 
      getWorklists and getAvailableTransitions

    - added a Utility object, plone_utils

    - tooltips and ID boxes in edit_forms can be turned off in personal settings

    - Tres added _cloneActions to ActionProviderBase and co. API  and gave diff 
      to CustomizationPolicy. All hail Tres!

    - created a CustomizationPolicy for alternate Customizations to be applied 
      to Plone on site creation
      these can be seperate products that register with the Portal.addPolicy()

    - all forms were majorly refactored: popup help boxes were added, i18n 
      namespaces were used, general html cleanup

    - license changed to GPL, companies can get Plone licensed under BSD - they
      will need to contact Plone Industries

    - added transaction notes (exposed on the undo form)

    - added form validation to password_form

    - renamed recent_news to news

    - removed duplicate content_xxxx_forms (publishing forms)

    - consolidated the content_status_history and content_publishing_history 
      into content_status_history (bad name)
      which can publish 1 object or multiple objects.

    - folder_contents now uses actions whose cataegories are local_buttons

    - fullname was not being used.  we took it out on personalize form and 
      register form (you can add this back)

    - metadata_edit_form Discussionabiltiy is now radio boxes not dropdown

    - issue #30 - autogenerated passwords only partially being honored

    - issue #58 resolved

    - issue #52 resolved

    - issue #47 resolved

    - issue #51 resolved
    
Plone 0.9.9 - Bola Release:

    - Replaced all references to TextColor with FontColor, added 
      headingFontColor property

    - New undo page

    - New search results page   

    - All CSS and most HTML validate according to W3C's validators

    - fixed up MembershipTool which will add a homepage which will partcipate 
      in workflow

    - added a FormulatorTool (portal_form_validation) which is a *thin* wrapper 
      around Formulator and exposes
      minimal amounts of functionality.  I didnt know about CMFFormsTool when I 
      did this (cmf.zope.org not doing its job)
      so I will have to take another look at whether or not we should go with 
      this more advanced component. 

    - in CSS we have: class="label required" now, and "field error" if a error 
      has occurred.

    - added validation for all xxx_edit_forms, look in 
      plone_scripts/validate_xxxxxx

    - removed plone_images/img, all images are now in plone_images
        WARNING: you should always specify the full url to the image or caching 
        will not occur. ${here/portal_url}/image.gif
        You want to cache as many images on the client side (or in caches in 
        front of your ZOPE) as possible.

    - navigateXXXX scripts were fixed (thanks to AndyD) which were causing some 
      authentication errors

    - seperated form specific scripts into plone_form_scripts (this includes 
      validation scripts)

    - file_view when you download no longers puts trailing 0's and uploaded file
      and image views

    - file and images will change id's to the uploaded file (strip extension).
      if you -specify- an id, like all other objects the file will be renamed to
      this id regardless of uploaded file
      there is no validation on file and images

    - fixed folder_edit (renaming was broke) also added validation - if you 
      specify a id, the title is not mandatory.
      we dont want people to have autogenerated ID's in the folder_contents 
      listing

    - plone_calendar added - thanks to AndyD
        calendar now works out of the box (after running installation script)

    - fixed ordinary view and 'up one level'.    

    - ability to remove MyPortrait

    - put absolute paths in for stylehseets (in the @imports we do that in a 
      script, CSSImports.py)

    - all stylesheets now send back RESPONSE headers that promote caching on 
      clients

    - in Install/Upgrade we set a property, allowAnonymousViewAbout which 
      toggles whether or not anonymous users
      should see a content's about box.  by default it is turned off. 
      content_template was impacted        

    - navigation works nicely if you are logged in. you can 'go up one level' 
      to the root URL and then gets it folder_contents
      should promote people to put content in-place.

    - join_form is now validated using portal_form_validation, we need people 
      to review this code!

    - Plone Folder is now the default Folder type inside a portal.  
    
    - if there is no index_html defined it will display Directory Listing 
          (like Apache) 
      
    - folder_listing.pt uses Access Contents Information permission
    
    - if index_html it renders that
    
    - currently old folders are not converted to the Plone Folders in a 
          website.  we need to migration script to do this.

    - CSS can now be manipulated by CSSValues.py, dont need to customize to the 
      CSS themselves. This means you can keep your colors even if we change the 
      CSS files.

    - individual objects can be toggled discussionable in their metadata edit 
      forms (taken from CMF1.2 metadata form)

    - discussions attached to a object use structured-text

    - from folder_contents you can now publish multiple objects if you have 
      permission

    - join_box doesnt show up if anonymous doenst have access to add portal 
      member

    - Netscape 4.x graceful degrading added. It has its own CSS files.

    - review_box shows all content that matches any worklist where you qualify 
      NOTE: this means DCWorkflow has now become -required- and you should use 
      worklists to assign items to people.  

    - if you are in multiple worklists, you will not get duplicate entries in 
      review list in your UI ;)

    - took out unused getObject() calls in search.pt 

    - Changed ALL pages to use main_template as their template, instead of the 
      previous two portal_template and content_template.
      This means we are compatible with all existing CMF Products, although 
      they can break our look a wee bit if they are coded
      badly, which a lot of Products unfortunately are.

    - Added new method to deal with CSS values - stylesheet_properties.props

    - standard_html_header/footer are now in place for backwards compatibility. 
      thanks Evan Simpson!

    - Collector and Wiki have been minimally skinned (plone_3rdParty)

    - added default content to the root of Plone, index_html

    - moved most of the boxes into plone_ui_slots (trying to lighten 
      portal_boxes), added FSDirectoryView for ui_slots

    - you can now create a Plone site by simply 'Add Plone Site' from inside 
      the ZMI (thanks Lalo!)

    - suppressed empty comment history in content_status_history

    - Calendar slot works as Expected (only published events show up)

    - rejected content status no longer redirects to a search page

    - if you upload a binary into a Document object, form validation gripes 
      [useability issue]

    - CMFTopics pretty much work, there is a bit more work to do.

    - personalize.py and other CMF1.3 issues have been resolved (setting a 
      member properties API has changed in 1.2->1.3)

    - showEditableBorder has gone through quite a bit of changes.. still is 
      wrong

    - Comments have been modified - they are still unuseable ;(

    - Lucas Marshall pointed out a javascript error in the calendar slot on 
      MacOS and a fix 8)

    - News items can now use structured-text in the edit_form

    - my_worklist works correctly and sorts in ascending order for modified

    - you can now edit text of File objects who has text content_type

    - added StringIO string access

    - added 'change status' button that allows mass publishing of folder 
      contents

    - refactored filesystem directory view skin structure 
  
    - plone_scripts contains scrips and supporting form_scripts
  
    - plone_templates containers site wide templates and supporting ui_slots
  
    - plone_styles container default style and optional plone_themes

    - base href is now compatible with how other CMF Products work.  This 
      means you can use other CMFProducts out of hte box (hopefully ;)

    - beginnings of workspace

    - moved back to 2 column layout (CMFPlone/Extensions/Upgrade.py 
      migrate2ColumnLayout function)

    - no longer have to go to folder_factories to create a certain type, 
      can do it from folder_contents

    - many more changes and cleanups

Plone 0.9.8 - Ulrich Schnauss Release:


    - renaming of objects 

    - more mozilla enhancements

    - calendar support code was optimized (AndyD) 

    - on Memberarea creation creates a .personal folder for Portrait and 
      future private items (by convention)

    - fixed it so that http:// isnt always added to link's remote_url

    - other things I forgot ;'(

Plone 0.9.5 - 1/31/02:


    - enormous overhaul of entire UI.  UI now works with Mozilla.  
      Install script installs skins
      navigation boxes work (left hand side)

    - worked out most deadends

    - some security calls have been put in place

    - navigation is much nicer and lends itself to more real-world use of CMF as
      filesystem/document sharing

    - some cleaning up of code, lots of inefficiencies remaining (
      like listFolderContents)
      breadcrumbs overhauled

    - comments have been changed, still more to go before 1.0

    - some visual queues exist for users (green border around objects which 
      can be edited)

    - plone can now be skinned *entirely* using CSS and overriding the /img 
      folder
      NOTE: you will need to have copies of all the images in your /img folder

    - system should never prompt someone for Username/password if they are 
      logged in all xxx_edit scripts return back to objects view 

    - changing ID works in xxx_edit_form

    - you can now customize your 'portrait' in /Members/roster by doing the 
      following:
  
    - create a folder, .personal in your home folder
  
    - create a image in .personal called MyPortrait
  
    - publishing your /Members/xxx/.personal/MyPortrait image

    - folder_contents now sort (case insensitive) alphabetically by default, 
      no more 'pagination' in batches of 10

    - added current server time in the top right corner ;)

    - content_status_history has been simplified -- still hardcoded 
      transitions ;( 

    - BSD license added (not final license, as will require some non-visual (?) 
      attribution)  

Plone 0.9:


    - load of fixes, too many to even attempt to keep track of ;)

Plone 0.7:


    - folder_edit_form id is editable (not so if its your own member folder id ;)

    - new Install.py

    - new folder structure (makes more sense)

    - new look (content tabs)

Plone 0.6:


    - so fast didnt have time to catch 'em

Plone 0.5:


    - fixed search form up

    - fixed folder_contents (not have an extended_edit, since we muck w/ metadata
      alot)
 
 Plone 0.1 
 
    - Initial release
 

