Metadata-Version: 1.0
Name: Plone
Version: 4.0a4
Summary: The Plone Content Management System
Home-page: http://plone.org/
Author: Plone Foundation
Author-email: plone-developers@lists.sourceforge.net
License: GPL
Description: About Plone
        ===========
        
        Plone is a user friendly Content Management System running on top of Python,
        Zope and the CMF.
        
        It benefits from all features of Zope/CMF such as: RDBMS integration,
        Python extensions, Object Oriented Database, Web configurable workflow,
        pluggable membership and authentication, Undos, Form validation, amongst many
        many other features. Available protocols: FTP, XMLRPC, HTTP and WEBDAV
        Turn it into a distributed application system by installing ZEO.
        
        Plone shares some of the qualities of Livelink, Interwoven and Documentum. It
        aims to be *the* open source out-of-the-box publishing system.
        
        What is Plone?
        --------------
        
        Plone is a ready-to-run content management system that is built on the powerful
        and free Zope application server. Plone is easy to set up, extremely flexible,
        and provides you with a system for managing web content that is ideal for
        project groups, communities, web sites, extranets and intranets.
        
        - *Plone is easy to install.* You can install Plone with a a click and run
        installer, and have a content management system running on your computer in
        just a few minutes.
        
        - *Plone is easy to use.* The Plone Team includes usability experts who have
        made Plone easy and attractive for content managers to add, update, and
        mantain content.
        
        - *Plone is international.* The Plone interface has more than 35 translations,
        and tools exist for managing multilingual content.
        
        - *Plone is standard.* Plone carefully follows standards for usability and
        accessibility. Plone pages are compliant with US Section 508, and the W3C's
        AAA rating for accessibility.
        
        - *Plone is Open Source.* Plone is licensed under the GNU General Public
        License, the same license used by Linux. This gives you the right to use
        Plone without a license fee, and to improve upon the product.
        
        - *Plone is supported.* There are close to a hundred developers in the Plone
        Development Team around the world, and a multitude of companies that
        specialize in Plone development and support.
        
        - *Plone is extensible.* There is a multitude of add-on products for Plone to
        add new features and content types. In addition, Plone can be scripted using
        web standard solutions and Open Source languages.
        
        - *Plone is technology neutral.* Plone can interoperate with most relational
        database systems, open source and commercial, and runs on a vast array of
        platforms, including Linux, Windows, Mac OS X, Solaris and BSD.
        
        Technical overview
        ------------------
        
        Plone is a content management framework that works hand-in-hand and sits on top
        of Zope, a widely-used Open Source web application server and development
        system. To use Plone, you don't need to learn anything about Zope; to develop
        new Plone content types, a small amount of Zope knowledge is helpful, and it is
        covered in the `documentation`_.
        
        Zope itself is written in Python, an easy-to-learn, widely-used and supported
        Open Source programming language. Python can be used to add new features to
        Plone, and used to understand or make changes to the way that Zope and Plone
        work.
        
        By default, Plone stores its contents in Zope's built in transactional object
        database, the ZODB. There are products and techniques, however, to share
        information with other sources, such as relational databases, LDAP, filesystem
        files, etc.
        
        Plone runs on Windows, Linux, BSD, Mac OS X, and many other platforms;
        double-click installers are available for Windows and Mac OS X, and RPM
        packages are available for Linux. For full information, see the
        `plone.org product page`_.
        
        .. _documentation: http://plone.org/documentation
        .. _plone.org product page: http://plone.org/products/plone
        
        
        .. This file should contain the changes for the last release only, which
        will be included on the package's page on pypi. All older entries are
        kept in HISTORY.txt
        
        Changelog
        =========
        
        4.0a4 - 2010-02-01
        ------------------
        
        - Define a "content-core" macro for each content view template to make blog
        like listings possible.
        [elro]
        
        - Make sure the default content folders (news, events, and Members) are
        not explicitly ordered (e.g., equivalent to the old Large Plone Folder
        type).
        [davisagli]
        
        - Show user's fullname in form header in prefs_user_details
        [esteele]
        
        - Deprecated plone_prefs/prefs_search_macros.pt
        [esteele]
        
        - Deprecated plone_prefs/prefs_user_memberships.pt,
        plone_prefs/prefs_user_memberships.pt.metadata,
        plone_prefs/prefs_user_membership_edit.py,
        plone_prefs/prefs_user_group_search.py. Functionality is now handled by
        @@usergroup-usermembership.
        [esteele]
        
        - Overlay form on @@usergroup-groupprefs and @@usergroup-userprefs now
        redirects to the current page instead of reloading it. Reloading caused a
        resubmission of the last form action (such as "delete") which threw an
        error.
        [esteele]
        
        - Deprecated plone_deprecated/prefs_group_members.cpt,
        prefs_group_members.cpt.metadata, prefs_group_members_add.cpy,
        prefs_group_members_add.cpy.metadata, prefs_group_members_delete.cpy,
        prefs_group_members_delete.cpy.metadata. These are now handled by
        @@usergroup-groupmembership in plone.app.controlpanel
        [esteele]
        
        - In the tests, patch the MockMailHost to give it a secureSend method,
        just like we already patch the real MailHost.
        [maurits]
        
        - Make QuickInstallerTool.upgradeProduct() able to handle upgradeSteps
        directive.
        Closes http://dev.plone.org/plone/ticket/9455
        [cah190]
        
        - Update jquery.js to use jquery-1.4.min.js. The change is in
        Plone3rdParty/branches/4.0/skins/plone_3rdParty
        [smcmahon]
        
        - Remove explicit iefixes (css and js) from the main_template, which
        will be pulled now from the ResourceRegistries, using the
        conditionalcomments property.
        Refs http://dev.plone.org/plone/ticket/9278.
        [dukebody]
        
        - Move iefixes.js to the ploneclassic.theme package, since we agreed
        upon that every theme should be responsible of its own fixes for IE.
        Refs http://dev.plone.org/plone/ticket/9278.
        [dukebody]
        
        - Make global_cache_settings responsible for deciding to switch on gzip
        compression instead of doing it in the enableHTTPCompression script. This
        avoids another costly Python script call.
        [hannosch]
        
        - Avoid the test function in the main_template. It doesn't exist in view page
        template files.
        [hannosch]
        
        - Avoid the getSectionFromURL method completely and merge functionality into
        the bodyClass method.
        [hannosch]
        
        - Display logoIcon.png instead of favicon.ico on the Zope root overview screen,
        for compatibility with IE which refuses to render X-ICON format images in the
        document body.
        [davisagli]
        
        - Avoid yet another mindless Python script and deprecate renderBase.
        [hannosch]
        
        - Simplify the charset handling, by moving the actual setting into the
        global_cache_headers macro.
        [hannosch]
        
        - Replaced the getSectionFromURL Python script with a view method.
        [hannosch]
        
        - Deprecated the computeRelatedItems script in favor of a method on the
        related items viewlet.
        [hannosch]
        
        - Hide plonetheme.classic from the list of uninstallable products to reduce
        confusion, as at this point it can't be uninstalled without breaking
        sunburst as well when the Quick Installer unregisters its CSS.
        [davisagli]
        
        - Altered table of contents javascript so that comments are not displayed.
        Refs. #8621.
        [dbfrombrc]
        
        - Added back INavigationRoot to CMFPlone.browsers. We need to provide an
        upgrade step for persistent marker interfaces before removing it.
        This refs http://dev.plone.org/plone/ticket/10072.
        [hannosch]
        
        - Updated markup of document_view and event_view to follow conventions
        in main_template.
        References https://dev.plone.org/plone/ticket/9981
        [spliter]
        
        - Just a markup polishing - <metal> tags don't need explicit "metal" for
        defining slots.
        [spliter]
        
        - plone.belowcontent should not replace div#viewlet-below-content but
        rather add content into it
        [spliter]
        
        - Moves plone.abovecontent and plone.belowcontent viewlet managers actually
        above and below content respectively.
        Closes http://dev.plone.org/plone/ticket/10081
        [spliter]
        
        - Put the preferred markup for content area in main_template. References #9981
        [spliter]
        
        - Remove prefs_group_modify.cpy as we no longer use it. Adjust tests accordingly.
        [esteele]
        
        - Rework the prefs_group_details form to properly redirect back to the new
        @@usergroup-groupprefs page when creating a new groups, and postback to
        itself when modifying existing groups.
        [esteele]
        
        - Add popup for add group form.
        [smcmahon]
        
        - Pass group title and description through to the editGroups request, to
        ensure the those properties on the groups are updated. Allows the display of
        titles in @@usergroup-groupprefs
        Closes http://dev.plone.org/plone/ticket/7277
        Closes http://dev.plone.org/plone/ticket/9828
        [esteele, erikrose]
        
        - User-add dialog will no longer hide errors (e.g., inability to mail).
        fixes http://dev.plone.org/plone/ticket/9964
        [smcmahon]
        
        - Changed noform action for user add ajax overlay form to "reload" to
        fix http://dev.plone.org/plone/ticket/9957
        [smcmahon]
        
        - Changed login form overlay handling to deal with the need for a redirect
        if logging in from pwreset_finish.
        Closes http://dev.plone.org/plone/ticket/5548
        [smcmahon]
        
        - Changed the ``Add Plone site`` link in the ZMI to use the basic form. Too
        many regular users are still using the ZMI.
        [hannosch]
        
        - Fix template errors in author_feedback_template.pt which prevented author
        feedback from being sent.
        Closes http://dev.plone.org/plone/ticket/9730
        [esteele]
        
        - Update prefs_user_details.cpt and prefs_user_memberships.cpt templates to
        fit the current styling of other configuration screens.
        Closes http://dev.plone.org/plone/ticket/9660
        [esteele]
        
        - Avoid leading spaces in the class attribute of the body element.
        Refs http://dev.plone.org/plone/ticket/9489.
        [dukebody]
        
        - Removed explicit macros calls for related items from templates.
        Closes http://dev.plone.org/plone/ticket/9985
        [spliter]
        
        - Deprecated document_relateditems.pt template - we are using viewlet instead.
        Refs http://dev.plone.org/plone/ticket/9985
        [spliter]
        
        - Introduced order of viewlets for plone.belowcontentbody viewlet manager.
        Refs http://dev.plone.org/plone/ticket/9985
        [spliter]
        
        - No longer show the ``Send this`` action by default. This refs
        http://dev.plone.org/plone/ticket/8800.
        [hannosch]
        
        - Adjust login overlay position and width. Closes
        http://dev.plone.org/plone/ticket/9869.
        [dukebody]
        
        - Adjust wording for user group membership removal. This fixes
        http://dev.plone.org/plone/ticket/9961.
        [dukebody]
        
        - Make the ISiteRoot a INavigationRoot by default. This simplifies registering
        many views aimed at the nav root.
        [mj]
        
        4.0a3 - 2009-12-21
        ------------------
        
        - Updated statusmessages code to more modern API.
        [hannosch]
        
        - Updated add-on configuration section. Clarified terminology to refer to
        de/activation and interpret product readme files as restructered text.
        [hannosch]
        
        - Adjusted control panel and upgrade screens to show software instead of
        profile version and removed dependency on the persistent product registry.
        [hannosch]
        
        - Changed the default profile metadata version to 4003, to follow our own best
        practices of distinguishing between profile and software versions.
        [hannosch]
        
        - Added ``Plone site`` back to the all_meta_types list and revert change that
        made the site object not copyable. These prevented Plone sites from being
        imported from zexp files.
        [hannosch]
        
        - Do not display the author contact form when the author has no email
        (for example for openid users).  Refs #8707.
        [maurits]
        
        - Only specify icon_expr in factory type info; not also content_icon which
        has been deprecated in CMF 2.2.
        [davisagli]
        
        - Optimize RSS template and make it work for items without a getText method.
        This closes http://dev.plone.org/plone/ticket/9696.
        [hannosch]
        
        - Define encoding for RSS feeds. This closes
        http://dev.plone.org/plone/ticket/3506.
        [hannosch]
        
        - On author.cpt, only display the "log in to add comments" button if mailhost
        is defined. Only show the mailhost warning if user is authenticated.
        [esteele]
        
        - Adjusted rss_template to work for content items without an effective date
        and include issued and modified tags. Thanks for the patch anthonygerrard.
        This closes http://dev.plone.org/plone/ticket/7952.
        [hannosch]
        
        4.0a2 - 2009-12-03
        ------------------
        
        - Restore the ability to add Plone sites within ZODB mountpoints (and other
        OFS folders).
        [davisagli]
        
        - Move prefs_navigation_form to plone.app.controlpanel as
        @@navigation-controlpanel. The form and its cpy script have been deprecated.
        [esteele]
        
        - Use the @@plone-upgrade view as the default management screen for the
        migration tool.
        [davisagli]
        
        - Respect multibyte language delimiter in search field. This closes
        http://dev.plone.org/plone/ticket/9422.
        [hannosch]
        
        - RegistrationTool's registeredNotify now sends mail immediately instead of
        waiting until the end of the transaction. This puts the function back in
        line with the way the method worked in previous versions of Plone.
        http://dev.plone.org/plone/ticket/9871
        [esteele]
        
        - Create normal folders instead of Large Folders (which are deprecated)
        for the initial example content.  All folders are now BTree-based.
        [davisagli]
        
        - fixed validation of prefs_main_template for plonetheme.classic
        [spliter]
        
        - re-applied fix for plone.css by aaronv. Fixes #9366 and #9761
        [spliter]
        
        - moved plone.css.py to CMFPlone in order to share it among all themes
        http://dev.plone.org/plone/ticket/9366
        [spliter]
        
        - moved "Manage portlets" fallback link out of main_template to
        plone.manage_portlets_fallback viewlet
        http://dev.plone.org/plone/ticket/9808
        [spliter]
        
        - Point the "Join" action the newly-renamed @@register view.
        [esteele]
        
        - Remove ``calendarpopup.js`` from jsregistry.xml. It no longer exists.
        [hannosch]
        
        - Depend on ``plone.app.upgrade`` so it gets installed by default. Keeping
        the upgrade package separate only made sense when it had massively more
        dependencies than Plone itself. That cleanup isn't part of Plone 4.0.
        [hannosch]
        
        - Added back an ``utranslate`` function to the i18nl10n module that retains the
        old call signature.
        [hannosch]
        
        4.0a1 - 2009-11-19
        ------------------
        
        - Moved ``Image Handling`` control panel into the main Plone category. It's not
        an add-on anymore.
        [hannosch]
        
        - Clarified the default labels shown on the site setup overview page.
        [hannosch]
        
        - Adjust tests to new Archetypes behavior, which respects the default language
        of the portal_languages tool.
        [hannosch]
        
        - Adjust the _createObjectByType functions in utils and FactoryTool to use the
        _constructInstance method of the FTI instead of duplicating pieces of its
        logic.
        [davisagli]
        
        - By default hide the "Subfolders" tab on collections. They don't behave in a
        way understandable to users. Existing sites aren't changed.
        [hannosch]
        
        - Converted ``plone_javascript_variables.js`` to a browser page. Dynamically
        generating JS using a page template was too cumbersome. This also avoids the
        special ``escape_for_js`` handling of the translate script.
        [hannosch]
        
        - "Relevance" was not internationalized in search_form.pt. This closes
        http://dev.plone.org/plone/ticket/9747
        [vincentfretin]
        
        - "Your Plone site is up to date" was not internationalized in plone-upgrade.pt.
        This closes http://dev.plone.org/plone/ticket/9746
        [vincentfretin]
        
        - "Preferences" link should go directly to the personal prefs, the memberprefs
        panel is an unnecessary abstraction here. Add-on products can easily add new
        links to the personal menu now, so that's the pattern we want to encourage.
        
        - Removed the login portlet from the default setup now that the login link opens
        an inline window.
        [limi]
        
        - Fixed a DYNAMIC_CONTENT in site_feedback_template.pt
        [vincentfretin]
        
        - Make sure the 'Portlets: View dashboard' permission is set for Members.
        [davisagli]
        
        - Make sure the mock MailHost used in tests is registered as a local utility
        so that it can be found via getToolByName.
        [davisagli]
        
        - Moved all CSS styles to plonetheme.classic package. plonetheme.sunburst is
        now default theme, both are installed by default, classic theme may be
        uninstalled, sunburst theme can't be uninstalled.
        [limi, naro]
        
        - Added site_encoding and bodyClass methods to the @@plone view. These should
        simplify main template a bit.
        [naro]
        
        - Avoid AttributeError while getting the CMF version for the
        plone_control_panel when enable-product-installation is off in
        zope.conf.
        [maurits]
        
        - Fixed bad internationalized messages in logged_out.pt
        [vincentfretin]
        
        - Changed default message for label_show_all msgid from "Show all..." to
        "Show all items" in livesearch_reply.py to be the same as in folder_contents
        view which use the same msgid.
        [vincentfretin]
        
        - Use the new ``pas_member`` view in the overview templates. This avoids
        getting the member info for each item in the listing from the PAS internals.
        [hannosch]
        
        - registerNotify and mailPassword now send properly encoded emails.
        Fixes http://dev.plone.org/old/plone/ticket/9659
        [alecm]
        
        - Deprecated register.py and join_form.cpt. This functionality has been moved
        to plone.app.users.
        [esteele]
        
        - Changed ``listActions`` on the workflow tool to no longer call the
        ``listGlobalActions`` method on every installed workflow. This method would
        internally call and calculate the worklist (reviewer_queue) for every
        workflow. The listActions method is called by the workflow menu to show the
        state drop down menu on almost all pages.
        [hannosch]
        
        - Deprecated the ``selectedTabs`` script in favor of a method on the
        GlobalSectionsViewlet.
        [hannosch]
        
        - Micro-optimize the CatalogNavigationTabs view.
        [hannosch]
        
        - Added a more prominent upgrade warning to the top of the ZMI screen, instead
        of the old tiny note on the portal migration tool.
        [hannosch]
        
        - Added a new ``@@plone-upgrade`` view, which replaces the old migration tool
        DTML ZMI screens.
        [hannosch]
        
        - Added a simple ``advanced`` mode to the add site form. If advanced is passed
        as a query argument to the ``@@plone-addsite`` more options are available.
        The button in the ZMI uses the advanced mode by default. Currently the choice
        of omitting the default content and deselecting any of the default extension
        profiles are limited to the advanced mode.
        [hannosch]
        
        - Expose the site language in the add site form and refactor the language
        guessing based on the browser language into that view. The addPloneSite
        function takes an explicit argument for the language now.
        [hannosch]
        
        - Hardcode utf-8 for UnicodeSplitter, since Hanno says that's all we
        can accept and there's no way to use getSiteEncoding from the splitter.
        [alecm]
        
        - Added option to skip the creation of the default example content in the new
        add site form. Grouped the add-ons selection via a fieldset.
        [hannosch]
        
        - Refactored the old factory dispatcher / addPloneSiteForm to use a modern
        browser page instead.
        [hannosch]
        
        - Removed the special default page and translation handling. LinguaPlone uses
        a content language negotiator per default instead.
        [hannosch]
        
        - Replaced highlightsearchterms.js with the Plone trunk
        jquery.highlightsearchterms.js plugin. This removes the need to add
        searchterm= query parameters to search.pt results.
        Refs. http://dev.plone.org/plone/ticket/8770
        [mj]
        
        - Add a link to log out from the logged_out template if logged in as a Zope
        user via basic HTTP Authentication and the standard logout failed.
        [davisagli]
        
        - Removed the cut/copy/paste icons from the action menu in new sites, as they
        just add noise + more HTTP requests.
        [limi]
        
        - Moved happytalk in site_feedback_template.pt and author_feedback_template.pt
        to bottom of emails, per http://dev.plone.org/plone/ticket/7001
        [jonstahl]
        
        - Added precedence: bulk header to several PasswordReset's
        mail_password_template, per http://dev.plone.org/plone/ticket/7000 - still
        haven't added this header to CMFPlone templates.
        [jonstahl]
        
        - Added the upgrade warning to the main control panel screen. This is the same
        as found on the new overview page.
        [hannosch]
        
        - Changed the new default overview page to be a normal browser page and made
        it aware of multiple Plone sites in the root or in ZODB mountpoints.
        [hannosch, davisagli]
        
        - Overwrote the Zope quick start page, with a more helpful Plone specific
        version as already found in the unified installer.
        [hannosch]
        
        - Turned the new add Plone site button in the ZMI into a link. This allows us
        to get out of the frameset to the top.
        [hannosch]
        
        - Add jQueryTools integration, using plone.app.jquerytools.
        [smcmahon]
        
        - Updated our add site ZMI screen.
        [hannosch]
        
        - Changed search.pt (plone_forms) and rss_template.pt (plone_templates) so they
        display fullname instead of creator.
        [ralphjacobs]
        
        - Cleaned up old an unused scripts to edit the plone site object itself. This
        is done via the site control panel now.
        [hannosch]
        
        - Hide the TinyMCE profiles hidden from the Plone site add form.
        [robgietema]
        
        - Added 'Use site default' to the wysiwyg_editor field in the Personal
        Preferences view.
        [robgietema]
        
        - Set default value of wysiwyg_editor to blank (use site default).
        [robgietema]
        
        - Added default editor property to the site properties.
        [robgietema]
        
        - Added TinyMCE and set TinyMCE as default visual editor.
        [robgietema]
        
        - Removed getProductInfo method from the migration tool. It wasn't used
        anymore and depended on the persistent product registry.
        [hannosch]
        
        - Inlined the enableSyndication function into importFinalSteps in
        setuphandlers. Avoid an unneeded catalog search.
        [hannosch]
        
        - Simplified portal creation code and got rid of the PloneGenerator class in
        setuphandlers. It was a useless closure for independent functions.
        [hannosch]
        
        - Removed the `plone-site` import step and stop overriding the
        `componentregistry` step. The portal object directly implements the
        IObjectManagerSite interface, so we don't need to activate it as a site
        manager in an extra step anymore.
        [hannosch]
        
        - Updated and added various ZMI-visible tool titles.
        [hannosch]
        
        - Removed the `plone-archetypes` import step. This is handled via a normal
        GenericSetup dependency in metadata.xml.
        [hannosch]
        
        - Merged the `plone_various` import step into the `plone-final` step and
        install more packages directly by their profiles.
        [hannosch]
        
        - Removed the zserverPatch. There's not many people running ZServer as the
        front-end web server anymore, so this isn't particular useful.
        [hannosch]
        
        - Fixed the default portlet blacklisting for the `Members` folder.
        [hannosch]
        
        - Replaced Products.ATReferenceBrowserWidget with
        archetypes.referencebrowserwidget. This is PLIP 9258
        http://dev.plone.org/plone/ticket/9258
        [tom_gross]
        
        - Clarified help text for extension profiles on the add site form.
        [davisagli]
        
        - Added a mechanism for specifying profiles that are selected by default on
        the add site form. This should be kept in sync with PloneTestCase's list
        of default extension profiles.
        [davisagli]
        
        - Hide the plonetheme.sunburst uninstall profile from the add site form.
        [davisagli]
        
        - Default to plonetheme.sunburst for new sites.
        [esteele, davisagli]
        
        - Allow email addresses as login name, with a switch on the security
        panel. This is plip 9214: Refs http://dev.plone.org/plone/ticket/9214.
        [maurits]
        
        - Extend the language specific default configuration to set a reasonable first
        day of week on the calendar tool.
        [hannosch]
        
        - Stop pretending to use GenericSetup's content import. As a last item we now
        create the translated front-page purely in imperative code. As a bonus we
        moved the body text of the front-page to a page template, so i18ndude can
        automatically extract it.
        [hannosch]
        
        - Create and configure `Members` folder purely in setupPortalContent.
        [hannosch]
        
        - Converted import and export steps XML files to use ZCML registrations.
        [hannosch]
        
        - Made sure to have a complete list of non-installable profiles. No longer
        apply the filter to base profiles and ignore our default profile. This works
        in combination with the corresponding changes in quick installer to reduce
        portal creation time.
        [hannosch]
        
        - Make use of the new `authenticated` flag for ResourceRegistries entries
        instead of specifying verbose condition expressions.
        [hannosch]
        
        - "Categories" are now "Tags", in line with common usage and terminology.
        [limi]
        
        - Changed workflow actor variable from user/getUserName to user/getId.
        http://dev.plone.org/plone/ticket/7398.
        [hannosch]
        
        - Removed the AT graphviz references action from all content types.
        [davisagli]
        
        - Finished switching tool and action icons to use PNG format.
        [davisagli]
        
        - Exclude some of the CMFDefault functionality, that isn't used or usable
        inside Plone sites. The CMFDefault types are no longer supported.
        [hannosch]
        
        - Move prefs_users_overview and prefs_groups_overview pages to
        plone.app.controlpanel (@@usergroup-userprefs and @@usergroup-groupprefs
        respectively).
        [esteele]
        
        - Adjust to CMF's splitting of CMFCatalogAware into separate CatalogAware,
        WorkflowAware, and OpaqueItemManager mixins.
        [davisagli]
        
        - Added zope.app.locales dependency, some strings are in zope domain such as
        'Invalid value' and '(no value)' found in portlet EditForm.
        [vincentfretin]
        
        - Moved membershipRolemapping.dtml and portrait_fix.dtml to PlonePAS.
        [davisagli]
        
        - Added icon_expr property to the Plone control panel tool actions, and
        switched to registering configlet icons here instead of in the action
        icons tool.
        [davisagli]
        
        - Moved the diff tool registration to this package, so it can still be a tool
        for Plone 4.
        [davisagli]
        
        - Use the new zope.ramcache in favor of zope.app.cache.
        [hannosch]
        
        - Removed GroupUserFolder skin layers.
        [davisagli]
        
        - Silenced the deprecation warning about old-style actions from CMFCore's
        ActionProviderBase when listing configlets with the control panel tool.
        [davisagli]
        
        - Added the _IMREALLYPLONE4 hint to factory.py for PloneTestCase to use.
        [hannosch]
        
        - Removed the calendar and review portlets from the standard global
        assignments. The review list is better put onto a personal dashboard and the
        calendar is exceptionally slow and rather user unfriendly. The news and
        events portlets are a better fit to show-case the portlets system.
        [hannosch]
        
        - Include the `overrides.zcml` from `Products.PlacelessTranslationService` to
        actually make PTS' language negotiator available to the zope.i18n machinery.
        [hannosch]
        
        - Got rid of the ToolNames indirection and declared the meta_types directly
        in the relevant tool class themselves.
        [hannosch]
        
        - Moved ATCT specific exportimport code into the ATCT package itself.
        [hannosch]
        
        - Made sure the plone.indexer registration works by introducing a more
        specific IPloneCatalogTool marker interface and registering the indexable
        object wrapper for this.
        [optilude]
        
        - Added a restricted version of the opaqueItems method for CMFCatalogAware.
        This takes the idea of experimental.opaquespeedup one step further.
        [hannosch]
        
        - Actually made the types tool action lookup optimization effective. Slightly
        optimized the add items drop-down menu.
        [hannosch]
        
        - Removed the `ResourceRegistries` skin layer. It only contained test code.
        [hannosch]
        
        - Make use of the new IContainer API of object managers and replace objectIds
        and objectValues calls.
        [hannosch]
        
        - Finally removed the interfacePatch for the IContainer interface of
        OFS.ObjectManager after it has been merged upstream.
        [hannosch]
        
        - Removed CMFTopic from our dependency list, it turns out that we aren't
        actually using any of it.
        [hannosch]
        
        - Added proper deprecation warnings for the IBrowserDefault,
        IDynamicViewTypeInformation and ISelectableBrowserDefault interfaces, who
        has always come from Products.CMFDynamicViewFTI.
        [hannosch]
        
        - Use the `replace_local_role_manager` method from borg.localrole.
        [hannosch]
        
        - Deprecate our own IOrderedContainer interface in favor of the original one
        from OFS.
        [hannosch]
        
        - Avoid dependency on the zope.app.zapi package.
        [hannosch]
        
        - Declare package dependencies and fixed deprecation warnings for use
        of Globals.
        [hannosch]
        
        - No longer depend on the PageTemplates.GlobalTranslationService but use
        zope.i18n directly.
        [hannosch]
        
        - Merged in more performance optimizations from experimental.contentcreation.
        We don't restrict the permissions for the temporary folder anymore, but
        only care about the permissions of the actual target folder.
        [hannosch]
        
        - Use the new `icon_expr` for specifying icons for content types instead.
        [hannosch]
        
        - Prefer path expressions over Python expressions for persistent expressions.
        [hannosch]
        
        - Fixed the content_status_history form to include the required content table.
        The old_folder_contents template is gone.
        [hannosch]
        
        - Fixed the browserDefault tests to use actual traversal to look up views
        for content items instead of relying on Acquisition.
        [hannosch]
        
        - Moved the `scale_image` function from utils into the PlonePAS.utils
        module, as PlonePAS is the only user of it.
        [hannosch]
        
        - The remaining functionality from GroupUserFolder has been merged into
        the PlonePAS package. GroupUserFolder is no longer required.
        [hannosch]
        
        - Removed the groups, groupdata, membership and memberdata tools from this
        package. All code is now in a central place inside PlonePAS. The persistent
        tools have been from the PlonePAS package since Plone 2.5.
        [hannosch]
        
        - Replaced has_key method calls with containment checks via `in`.
        [hannosch]
        
        - Replaced a direct interface invocation with a queryAdapter call, to avoid
        an internal getattr call and make the pattern clearer.
        [hannosch]
        
        - Replaced here with context in all templates and scripts. The old spelling is
        still supported, but we need to settle on one to avoid confusion.
        [hannosch]
        
        - Optimized the types tool action lookup further to avoid Acquisition lookups.
        [hannosch]
        
        - Simplified the normalizeString method.
        [hannosch]
        
        - Optimized the action lookup code and implemented category restriction for
        the types tool in the same way it was available for the actions tool.
        [hannosch]
        
        - Removed remaining sys.modules hacks to provide the browser.ploneview as
        browser.plone.
        [hannosch]
        
        - Removed last unused external methods and PloneInitialize code. To my
        knowledge the Windows installer doesn't use this code anymore.
        [hannosch]
        
        - Write the doctype definition in the main_template in a way that does not
        claim to be valid XML, as the main_template really isn't.
        [hannosch]
        
        - Worked around `sys._getframe` call in mark_view.
        [malthe, hannosch]
        
        - Removed macro slot for changing the document type; this was not
        correct XML and should this flexibility be required, it's
        recommended to customize `main_template.pt`.
        [malthe]
        
        - Turned deprecated string 'Unauthorized' exceptions into real exceptions.
        [davisagli]
        
        - Removed module alias for the ploneview formerly named plone.
        [hannosch]
        
        - Clarified content language versus response language handling.
        [hannosch]
        
        - Removed unmaintained and unused Favorite content type.
        [hannosch]
        
        - Removed our own home-grown dependency checking code.
        [hannosch]
        
        - Exposed option to honour exclude from navigation even in subfolders from
        navtree_preferences.  Request from theming sprinter at ploneconf2008.
        [MatthewWilkes]
        
        - Made the fieldset tabbing code faster on startup (especially for IE) by
        constructing a big string and creating the HTML elements in one bunch
        instead of using DOM functions to add them step by step.
        [fschulze]
        
        - Added uniqueItemIndex as a method to the plone view.
        [hannosch]
        
        - Added back ``global_defines.pt`` as a template including the (empty)
        macro definition. This allows main templates to be compatible with both
        Plone 3.x and 4.0 at the same time.
        [hannosch]
        
        - Removed ``global_defines.pt`` and the globalize-hack. Templates
        now bring in their tool and function dependency using the
        standard utility views or via normal Acquisition of tools.
        [malthe, hannosch]
        
        - Fixed test for editing language fields. This refs
        http://dev.plone.org/plone/ticket/8342.
        [hannosch]
        
        - Removed deprecated context parameter in getDefaultPage and
        isDefaultPage in utils.py.
        [maurits]
        
        - Made sure the export order of the factory tool GS step is consistent.
        This closes http://dev.plone.org/plone/ticket/7892.
        [hannosch]
        
        - Replaced lock_icon with smaller version with one third of the size.
        [hannosch]
        
        - Removed backwards-compatibility code in calendar_formfields.js introduced
        in Plone 3.1.4. Any date-time picker not based on calendar_macros.pt
        using the old-style (no plone.jscalendar namespace) methods will no
        longer work until adjusted.
        [mj]
        
        - Don't show relevance information of one percent in the search form,
        since sort_on searches will always show this for all entries
        This closes http://dev.plone.org/plone/ticket/4325
        [hannosch]
        
        - Removed duplicated isMemberIdAllowed method from registration tool.
        [hannosch]
        
        - Fixed mailto link in event view and enhanced the spam protect script to
        allow setting css ids on the generated anchor tag. This closes
        http://dev.plone.org/plone/ticket/8219
        [hannosch]
        
        - Fixed contact form to be usable for authenticated users which have no
        email address stored in their member data. This closes
        http://dev.plone.org/plone/ticket/5766
        [hannosch]
        
        - Avoid empty tags in the contact form. This closes
        http://dev.plone.org/plone/ticket/8182
        [hannosch]
        
        - Avoid an empty div in login_form. This closes
        http://dev.plone.org/plone/ticket/8192
        [hannosch]
        
        - Avoid an empty dd in recently modified.pt. This closes
        http://dev.plone.org/plone/ticket/8186
        [hannosch]
        
        - Avoid an empty span in folder_summary_view. This closes
        http://dev.plone.org/plone/ticket/8181
        [hannosch]
        
        - Changed wording in personalize form to remove reference to external
        editor icon and add a note about ZopeEditManager. This closes
        http://dev.plone.org/plone/ticket/7390
        [hannosch]
        
        - Changed webstats_js in portal properties to a text field.
        This refs http://dev.plone.org/plone/ticket/7781
        [hannosch]
        
        - Added option to the error log control panel to search for an error log
        entry by number, since the number is the only thing that is exposed to
        normal users. This closes http://dev.plone.org/plone/ticket/7234
        [hannosch]
        
        - Changed title of collections control panel to plural form. This
        closes http://dev.plone.org/plone/ticket/8096
        [hannosch]
        
        - Include link to the plone.org upgrade manual from the migration tool
        inside the ZMI. This closes http://dev.plone.org/plone/ticket/8075
        [hannosch]
        
        - Clarify help text in content_status_history. This closes
        http://dev.plone.org/plone/ticket/8218
        [hannosch]
        
        - Let default RSS list publication date, not modified date and include
        the body text. This closes http://dev.plone.org/plone/ticket/7952
        [hannosch]
        
        - Updated the check_id script to disallowed content by the name of
        properties. This closes http://dev.plone.org/plone/ticket/6005
        [hannosch]
        
        - Fixed invalid markup in membershipRolemapping.dtml. This closes
        http://dev.plone.org/plone/ticket/6222
        [hannosch]
        
        - Removed long unused getObjPositionInParent.py script which wasn't
        functional at all anymore, since it used Zope 2 interfaces. Also
        simplified the getObjPositionInParent function in the CatalogTool.
        This closes http://dev.plone.org/plone/ticket/6081
        [hannosch]
        
        - Removed getActionObject call from createObject script. It was a private
        method and would always fail. This closes
        http://dev.plone.org/plone/ticket/7172
        [hannosch]
        
        - Removed testing of sendto action visibilty from sendto.cpy. There's a
        permission to use to restrict sending mail. This closes
        http://dev.plone.org/plone/ticket/5377
        [hannosch]
        
        - Disable external editor icon for structural folders. This closes
        http://dev.plone.org/plone/ticket/6871
        [hannosch]
        
        - Updated the check_id script to disallowed content by the name of zip or
        plone since this shadows the views by those names. This closes
        http://dev.plone.org/plone/ticket/6105
        [hannosch]
        
        - Purged old Zope 2 Interface interfaces for Zope 2.12 compatibility.
        [elro]
        
        - Make use of upgrade steps with a source '*' version and an explicit
        destination, to register the 'enable site' and 'register tools as
        utilities' only once.
        [hannosch]
        
        - Added support for upgrade step groups to the migration tool and started
        exposing the individual upgrade methods as steps.
        [hannosch]
        
        - Changed the way messages are handled during migration. We don't pass an
        `out` list around anymore, but use the logging framework.
        [hannosch]
        
        - Replaced our own migration step registration by using GenericSetup steps
        directly. Changed the migration tool to integrate with GS instead.
        Added BBB code to read the instance version from the migration tool if
        the last profile version isn't set yet inside the GS tool.
        [hannosch]
        
        - Exposed all our migration steps as GenericSetup upgrade steps.
        [hannosch]
        
        - Hide the deprecation warning about the moved ITranslatable interface
        for our own code.
        [hannosch]
        
        - Use png icons instead of gif icons since they are much more flexible
        for styling.
        [dannyb, wichert]
        
        - Fixed the coreVersions method in MigrationTool to return strings and not
        bound methods for the Zope and Python version.
        [hannosch]
        
        - Fixed off-by-two error in transaction_note. This closes
        http://dev.plone.org/plone/ticket/7610
        [hannosch]
        
        - Moved all icons for real actions from the action icons tool to the
        actions themselves.
        [hannosch]
        
        - Changed PloneTool's getIconFor method to prefer the icon expression set
        on the action itself instead of looking it up in the action icons tool.
        This finally makes use of the new icon expression on actions introduced
        in CMF 2.1.
        [hannosch]
        
        - Avoid unneeded line breaks in TAL output, by effectively disabling the
        internal beautified wrapping inside tags. This reduces the HTML output
        by 5% - 10% for normal Plone pages.
        [hannosch]
        
        - Memoize the installed products and packages in App.FactoryDispatcher
        for the duration of the process runtime.
        [hannosch]
        
        - Hiding page history, page navigation, and busy icon (spinner) in print.css
        Related to http://dev.plone.org/plone/ticket/7433
        http://dev.plone.org/plone/ticket/7402
        [siebo]
        
        - Updated webdav_enabled method in utils.py to check for
        webdav.interfaces.IWriteLock interface in addition to the old Zope2
        interface.
        [hannosch]
        
        - Use a FauxArchetypeTool which returns no catalogs for CatalogMultiplex
        aware objects in portal factory. This prevents most temporary objects
        from being indexed in the first place.
        [tesdal, hannosch]
        
        - Move our GenericSetup import step registrations to zcml.
        [wichert]
        
        - Added a 'do-not-use' warning to the ZMI security screen for Plone content
        objects. Sharing tab or workflows are what you are looking for.
        [hannosch]
        
        - Moved interface declarations for factorytool from ZCML to the class.
        [hannosch]
        
        - Added BBB code for ITranslatable, which is now part of LinguaPlone.
        [hannosch]
        
        - Added an explicit button to add a new Plone site to the ZMI for faster
        access. If you have installed Plone this is probably what you want to
        add most of the time. The button only shows up in the root folder.
        [hannosch]
        
        - Deprecate the ITranslatable interface. This interface is LinguaPlone-
        specific and has thus been moved to LinguaPlone.
        [wichert]
        
        - Removed tests for isRTL method of PTS. The method was deprecated in the
        last release and is gone now.
        [hannosch]
        
        - Removed PTSTranslationDomain utilities. PTS exposes all translation files
        as pure Zope3 translation utilities now, so these aren't needed anymore.
        [hannosch]
        
        - Replaced our FasterStringIO implementation by one based on
        collections.deque, which is a faster than StringIO.
        [hannosch]
        
        - Removed more deprecated code, adjusted some comments.
        [hannosch]
        
        - Tweaked sortable_title method to give reasonable results for titles with
        many numbers in them, like '1.2.3 document'.
        [hannosch]
        
        - Moved CMF skins registration into configure.zcml, removed security
        declaration for no-longer extant listPolicies of the portal.
        [hannosch]
        
        - Refactored initial content creation into a separate extension profile,
        thus making it possible to skip it. This refs
        http://dev.plone.org/plone/ticket/6948
        [hannosch]
        
        - Removed some outdated Extension scripts.
        [hannosch]
        
        - Removed deprecated tool related Zope2 interfaces. Extended the
        deprecation period for ConstrainTypes and NonStructuralFolder as these
        are still used in Plone Core.
        [hannosch]
        
        - Removed work-around code for insertion of non-unicode non-ascii non-utf8
        encoded text in TAL. This will produce an error now. Always use Unicode
        when using data in page templates and TAL.
        [hannosch]
        
        - Removed lots of deprecated code and zcml registrations.
        [hannosch]
        
        - Fixed ticket #9420 DC.date.valid_range not emitted if only Publishing Date is set.
        [jaroel]
        
Keywords: Plone CMF python Zope
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Web Environment
Classifier: Framework :: Plone
Classifier: Framework :: Zope2
Classifier: License :: OSI Approved :: GNU General Public License (GPL)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Classifier: Topic :: Software Development :: Libraries :: Python Modules
