Plone 4.0.3 (Jan 28, 2011)

Bugfix release for Plone 4.0

For additional information about this project, please visit the overview page .

For installation instructions go to: http://docs.plone.org/manage/installing.

There may be hotfixes applicable to this release. Always check the Plone Hotfix Page before production deployment.

Available downloads

Release Notes

State Final release
License GPL
Release Manager Eric Steele

Please note that the Windows installer is not yet available. It will appear on this page as soon as it becomes so. Until then please use the Plone 4.0.4 Windows installer.

Change log

Plone (4.0.3)

  • Change PloneBatch class to work with actual_result_count alone instead of calculating the length of the provided sequence. [hannosch]
  • Pass on batching hints to the catalog query in `getFolderContents`. [hannosch]
  • Make role/permission settings consistent in Plone root http://dev.plone.org/plone/ticket/7922 [tom_gross]
  • Added some css ids on login form. [thomasdesvenain]
  • Fixed possible Unauthorized error when registering a user when using the email address as login name. [maurits]
  • Fixed errors on kss update in portal factory. This fixes http://dev.plone.org/plone/ticket/11311. [thomasdesvenain]
  • In the registration tool strip the mail text before passing it through message_from_string. A leading white line would prevent getting Subject, To and From headers from the generated message. [maurits]
  • Avoid various deprecation warnings under Zope 2.13. [hannosch]

Zope (2.12.14)

See http://docs.zope.org/zope2/releases/2.12/CHANGES.html

plone.recipe.zope2instance (4.1.4)

  • Change PloneBatch class to work with actual_result_count alone instead of calculating the length of the provided sequence. [hannosch]
  • Pass on batching hints to the catalog query in `getFolderContents`. [hannosch]
  • Make role/permission settings consistent in Plone root http://dev.plone.org/plone/ticket/7922 [tom_gross]
  • Added some css ids on login form. [thomasdesvenain]
  • Fixed possible Unauthorized error when registering a user when using the email address as login name. [maurits]
  • Fixed errors on kss update in portal factory. This fixes http://dev.plone.org/plone/ticket/11311. [thomasdesvenain]
  • In the registration tool strip the mail text before passing it through message_from_string. A leading white line would prevent getting Subject, To and From headers from the generated message. [maurits]
  • Avoid various deprecation warnings under Zope 2.13. [hannosch]
  • Removed zeo-client-name option. The option had no effect since ZODB 3.2 and was removed in Zope 2.13. This closes https://bugs.launchpad.net/bugs/694920. [hannosch]
  • Added option http-force-connection-close which was only present in comment. [tesdal]
  • Fixed error introduced in 4.1.1. [hannosch]
  • Disambiguate the blob-storage option if shared-blob isn't used. In this case we use var/blobcache as a default location, so we don't accidentally overwrite the real blob data with a blob zeocache. Refs https://bugs.launchpad.net/bugs/645904. [hannosch]
  • Give the readme an overhaul, group options into sections and mention the most commonly used ones at the top. [hannosch]
  • Add some flexibility to site.zcml creation. Thanks to Wolfgang Schnerring for the patch. This closes https://bugs.launchpad.net/collective.buildout/+bug/335311. [hannosch]
  • Raise an exception if both ZEO and RelStorage are configured at the same time. This closes https://bugs.launchpad.net/collective.buildout/+bug/645100. [hannosch]
  • Added support for zc.buildout 1.5, while retaining support for 1.4. Thanks to Jeff Rush for the patch. This closes https://bugs.launchpad.net/collective.buildout/+bug/683584. [hannosch]

Products.ATContentTypes (2.0.7)

  • Pass on batching arguments into the catalog query call inside the collections queryCatalog method. [hannosch]
  • Add Site Administrator role to various permissions, for forward compatibility with Plone 4.1. [davisagli]
  • Avoid some deprecation warnings under Zope 2.13. [hannosch]
  • Add missing content-core macro definition to atct_topic_view template. [davisagli]

    Products.CMFEditions (2.0.4)

    • Depend on Products.CMFPlone instead of Plone. [elro]
    • Do not provide "Compare to ... revision" link in versions history actions if content type has no diffable field. [thomasdesvenain]
    • Add Site Administrator role to various permissions, for forward compatibility with Plone 4.1. [davisagli]

      Products.CMFPlone (4.0b1)

      • Removing unused import from testCatalogTool. [thet]
      • Alphabetical ordering of metadata.xml dependencies. [thet]
      • Using tom gross' improved and tested safeToInt version. [tom_gross, thet]
      • Move PlacefulWorkflow, kupu, iterate and openid to Plone egg dependencies. [elro]
      • Depend on plone.app.uuid for indexing content UUIDs. [toutpt, davisagli]
      • Added ++resource++blank.html, a building block for cross-domain iframe communication (e.g. with Disqus.) [elro]
      • Added iframe option for single sign on login templates. [elro]
      • Removed duplicate code in login templates. [elro]
      • Added ajax_include_head request parameter for use with cross domain iframe. [elro]
      • Single Sign On support in login forms. [elro]
      • Refactored URLTool.isURLInPortal, adding allow_external_login_sites property to site_properties for external sites considered to be internal for the purposes of logging in. [elro]
      • Improve table sort of 'listing' class tables. We can use a sortabledata-xxxx class in a cell (td) where xxxx is a sortable data value, then, sort uses xxxx value to compare cell values, instead of td text content. Refs http://dev.plone.org/plone/ticket10809 [thomasdesvenain]
      • Merge in PLIP #10901: Set and enforce base coding standards for our own JavaScript. Refs http://dev.plone.org/plone/ticket/10901 [esteele]
      • Removed IOrderedContainer-implementation from PloneFolder in favour of implementation in OFS.OrderSupport [tom_gross]
      • Renamed package to Products.CMFPlone. [elro]
      • Deprecated the following scripts that are only used by deprecated templates. These will be removed in Plone 5: prefs_group_edit.py, prefs_valid_search_restriction.py, prefs_user_group_search.py, prefs_portrait_delete.py. [davisagli]
      • Replaced the prefs_group_details.pt template with a browser view in plone.app.controlpanel. Ss a side effect this means group creation is now protected by the Plone Users and Groups control panel permission, rather than the CMF Manage Groups permission. [davisagli]
      • Turn plone_control_panel.pt into a deprecated alias for the @@overview-controlpanel view from plone.app.controlpanel. [davisagli]
      • Protect most control panels with specific permissions instead of the generic "Manage portal". [davisagli]
      • Configure the Site Administrator role in the default rolemap and workflows. This role is intended for people who should have full content editing privileges but not Manager access (i.e. to the ZMI). [davisagli]
      • Updated to use Zope 2.13. [hannosch]

        Products.contentmigration (2.0.1)

        • Unlock locked objects prior to migrating them. [ggozad]

          Products.PasswordResetTool (2.0.5)

          • Depend on Products.CMFPlone instead of Plone. [elro]
          • URL for login form is now '/login' instead of 'login_form', adjust tests accordingly. [esteele]
          • Fallback import to work with Plone 3. [elro]

            Products.PlonePAS (4.0.4)

            • Remove plone.openid dependency in setup.py, import errors are already caught in PASInfoView. [elro]
            • The code to search by id in mutable_properties.enumerateUsers didn't work at all, an exception was always raised and it was actually a good thing. We tried to implement it in 3.10 and we had strange listing in Plone UI. Then we reverted it in the next version so the behavior was backward compatible with previous versions. If we allow search by id, we can potentially break other part of the code. For example acl_users/portal_role_manager/manage_roles will break because Products.PluggableAuthService.plugins.ZODBRoleManager.listAssignedPrincipals raises MultiplePrincipalError, and maybe it will break somewhere else. Versions 4.0.4 and 3.13 use now the same algorithm. References http://dev.plone.org/plone/ticket/9361 [vincenfretin]
            • When calling editGroup method, avoid error while trying to remove dynamic 'AuthenticatedUsers' group. [thomasdesvenain]
            • In Plone 4.1+, create a Site Administrators group with the new Site Administrator role. [davisagli]
            • Fix critical error on groupprefs page when some groups have a non-ascii character in their title. Sort groups on their title normalized. This fixes http://dev.plone.org/plone/ticket/11301 [thomasdesvenain]
            • Fix interface error: doChangeUser takes a user id as parameter, not a login name. [wichert]

              Products.PortalTransforms (2.0.3)

              • Fix manage_options which accidentally got turned into a tuple in some refactoring. [swampmonkey]
              • Added missing url metadata. [hannosch]

                Products.TinyMCE (1.1.6)

                • Fix capitalization of the title of the content_css setting. This fixes http://dev.plone.org/plone/ticket/10792. [dariog, davisagli]
                • Protect the control panel using the "Plone Site Setup: TinyMCE" permission, instead of the generic "Manage portal". Also, add the Site Administrator role to the default roles for this permission, for forward compatibility with Plone 4.1. [davisagli]
                • Add tinymce-jsonconfiguration browser view and use it in the template tinymce_wysiwyg_support.pt. Make it easier to customize [toutpt]

                  Products.kupu (1.4.17)

                    archetypes.referencebrowserwidget (2.1)

                      kss.core (1.6.1)

                        plone.app.content (2.0.2)

                        • Avoid using a mutable default argument in the FolderContentsTable code. In a LinguaPlone environment after viewing the folder contents of a collection, the language of that collection got stuck as a content filter and wasn't reset anymore. Viewing the folder contents of any item in a different language showed an empty table until the Zope instance was restarted. [tom_gross, hannosch]
                        • Use the folder as the factory expression context when a front-page is used as the display for the folder. Tests in plone.app.contentmenu. [rossp]

                          plone.app.contentmenu (2.0.2)

                          • Depend on Products.CMFPlone instead of Plone. [elro]
                          • Add test coverage for factory expression context when a front-page object is used for a folder. Fix in plone.app.content. [rossp]
                          • Fix the addContext in the FactoriesSubMenuItem to make it possible to add content to a folderish object that set as the default view on its parent folder. This closes http://dev.plone.org/plone/ticket/10953. [WouterVH]

                            plone.app.contentrules (2.0.6)

                            • Protect content rules management views using the "Content rules: Manage rules" permission, instead of the generic "Manage portal". [davisagli]
                            • Do not force to send mails in same transaction if mail queuing is on. [thomasdesvenain]

                              plone.app.controlpanel (2.0.5)

                              • Fix critical errors on user and group pages when some groups or users have a non-ascii character in their title. Sort groups and users on their fullname or title normalized. Similar as http://dev.plone.org/plone/ticket/11301 [thomasdesvenain]
                              • Fixed : Group titles were not display on group prefs page when title property was got from mutable properties plugin. [thomasdesvenain]
                              • Replace reference to "personalize_form" with "@@personal-information". http://dev.plone.org/plone/ticket/10756 [khink]
                              • Add extra info message if passwords were reset. http://dev.plone.org/plone/ticket/10756 [khink]

                                plone.app.form (2.0.1)

                                • Use the FileUploadWidget from CMFDefault as the default widget for the FileUpload field from the same package (this was lost when CMFPlone started excluding CMFDefault's ZCML.) [davisagli]

                                  plone.app.kss (1.6.2)

                                    plone.app.layout (2.0.6)

                                    • Depend on Products.CMFPlone instead of Plone. [elro]
                                    • Avoid creating persistent DiscussionItemContainers prematurely when items are viewed that have commenting enabled but no actual comments yet. [davisagli]
                                    • Don't cache navigation_root_path and navigation_root_url contextless http://dev.plone.org/plone/ticket/11291 [tom_gross]
                                    • Add ids to links personal_bar when rendered as anonymous so they can be styled. This makes behavior consistent with the authenticated personal_bar. http://dev.plone.org/plone/ticket/10850 [eleddy]

                                      plone.app.locales (4.0.4)

                                      • Updated translations. [Plone translators]
                                      • Updated indonesian translation [dimo]

                                        plone.app.portlets (2.0.2)

                                        • Recover from parse error on updated date. [malthe]
                                        • Display full creator name in review portlet. [thomasdesvenain]
                                        • Do not display portlets add select list if it is empty. [thomasdesvenain]
                                        • Recent items and Review list portlets title is got by a title attribute on the renderer. [thomasdesvenain]
                                        • Fix the IPortletDirective schema's default edit_permission to match the default that is actually supplied by the directive's implementation. [davisagli]
                                        • Fix RSS portlet edge case. The feedparser may not have a 'bozo' attribute if libxml2 is not present on the system. [stefan]

                                          plone.app.upgrade (1.0.3)

                                          • Add empty profile for 4.0.2-4.0.3 upgrade. [esteele]

                                            plone.app.users (1.0.3)

                                            • Don't assume that fields in the user schema will be saved in property sheets when a new user registers. Instead, adapt the navigation root to the user schema to get the same adapter as is used on the Personal Information form, and use it to save the values from the registration form. [davisagli]
                                            • Fixed critical error on add user page when some groups have a non-ascii character in their title. Sort groups on their title normalized. Token and value in terms in the groups vocabulary were switched. This closes http://dev.plone.org/plone/ticket/11316 [thomasdesvenain, vincentfretin, davisagli]
                                            • Don't use a custom widget just to set the description of the fullname field, which should be set on the field itself. [davisagli]

                                              plone.portlet.collection (2.0.1)

                                              • Add Site Administrator to the default roles for the "plone.portlet.collection: Add collection portlet" permission, for forward compatibility with Plone 4.1. [davisagli]
                                              • Removed bug where a resultset with fewer items than limit wasn't randomized. [jaroel]
                                              • Removed Plone 3 specific implementation in favor of a generic one. [jaroel]
                                              • Fixed returning optional randomized results in the collection portlet. This happened on Plone 4; if this makes the portlet too slow for you, you should switch off the randomizing. [maurits]
                                              • Fixed wrong exception handling in random collection portlet that failed to catch an IndexError. [maurits]

                                                plone.portlets (2.0.1)

                                                  plonetheme.sunburst (1.0.6)

                                                  • Adjust the new setuphandler introduced in 1.0.5 to avoid using copy/paste, which introduced unwanted additional security checks. [hannosch]
                                                  • Tightened selector for error fields to avoid z3cform inner div.error. [elro]
                                                  • Added styling for z3cform title and description fields. [elro]
                                                  • Added iframe to style reset. [elro]
                                                  • Added ajax_include_head request parameter for use with cross domain iframe. [elro]
                                                  • Copy the plone_setup action to the user action category via a custom setuphandler rather than in actions.xml, so that we don't have to hardcode the various action settings here. This provides forward compatibility with Plone 4.1, where the URL and permission change. [davisagli]
                                                  • Fixed content views list shift under ie6. This fixes http://dev.plone.org/plone/ticket/11280. [thomasdesvenain]