Novedades en Plone 2.5.5

Changelog for Plone

(name of developer listed in brackets)

Plone 2.5.5 - Final - released December 4, 2007

  • Moved folder_rename logic into PloneTool and added savepoint+rollback there as well. Additionally, folder_rename now requires POST requests. [alecm]
  • Moved most folder_publish and folder_delete logic into PloneTool methods. Added savepoints and rollbacks for folder publish and delete actions, so that partial deletions/transitions are not committed. Made folder_publish require POST. Thanks to rossp for finding this. [alecm]
  • Add support for show_ymd to the calendar widget template. This makes it possible to create time-only widgets. [wiggy]
  • Fix 2.1 migration issue for sites using QueueCatalog. [alecm]
  • Fix issues with non-ASCII characters in portal title. http://dev.plone.org/plone/ticket/6628 [hannosch]
  • Fix security hole due to unsafe use of python pickles. [MJ, witsch, hannosch]

Plone 2.5.4 - Final - released October 8, 2007

  • Add support for show_ymd to the calendar widget template. This makes it possible to create time-only widgets. [wichert]
  • No longer require a _catalog property on portal_catalog for migration. This avoids migration errors on sites with e.g. QueueCatalog installed. [alecm]
  • Add migration to set the default GS profile when upgrading from 2.1. [alecm]
  • Migration has been much improved, especially for big sites. We only reindex once — no matter what version you’re migrating from — and there are several improvements to the actual migration code too. Migration now takes 2-4 times less time, and is more likely to succeed. So if you had problems migrating from 2.0 or 2.1 earlier, try this version. Reference: http://dev.plone.org/plone/changeset/14945 [hannosch]
  • Fix navigation portlet when top-level is private. http://dev.plone.org/plone/ticket/6772 [alecm]
  • Made Plone use 1/10th of the memory on file uploads. Details in http://dev.plone.org/plone/ticket/7027 (also fixed in Plone 3.0.x) [zegor]
  • Use a button/script combo for product reinstall from the control panel. http://dev.plone.org/plone/ticket/6457 [alecm]
  • Remove silly root check from stripGRUFLocalRolePrefix script to fix migration bug. http://dev.plone.org/plone/ticket/5817 [alecm]
  • No longer call invokeFactory twice when creating objects in portal_factory. Fixes http://dev.plone.org/plone/ticket/6595 Nice catch nouri :-) [alecm]
  • The page title is not rendered if it’s the same as the global site title (e.g. for pages that don’t have titles). This avoids duplicate site titles in the title tag. [limi]

Plone 2.5.3 - Final - released May 16, 2007

  • Forbid catalog metadata names in check_id.py. Give check_id.py Manager proxy so that ids can be checked even if listing the contents of the parent is forbidden. [alecm]
  • Further optimized the migrations from older Plone versions. We reindex the whole catalog once and only once, independent of the Plone version we start migrating from. [hannosch]
  • Made migration twice as fast, it was recataloging unnecessarily. [hazmat][limi]
  • Fix bad links between templates prefs_users_overview, prefs_user_details and prefs_user_membership (remove starting space and force portal_url) [encolpe]

Plone 2.5.3 - Release Candidate - released April 28, 2007

  • Fix improper uses of ‘CatalogTool.searchResults’ where a dict was passed as the first argument in place of REQUEST. [nouri, maurits]
  • Reindex security recursively after group name update in stripGRUFLocalRolePrefix. Fixes http://dev.plone.org/plone/ticket/5817 [alecm]
  • Add back user skin cookie deletion on logout. Fixes http://dev.plone.org/plone/ticket/2563 [alecm]
  • Add POST-only protections to security critical methods (see http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-0240). [mj, bloodbare, alecm]
  • Set the current instance version on site creation so we can migrate properly. [wichert]
  • Fixed some bugs in addtoFavorites [ender]
  • Fixed cropping of utf8 encoded text (cropText script). This fixes http://dev.plone.org/plone/ticket/6190. [naro]
  • Fixed problems with migrating member data like a members fullname. This closes http://dev.plone.org/plone/ticket/6111. [tesdal]
  • Add a new IHideFromBreadcrumbs interface. Items marked with this interface will not be shown in the breadcrumb trail. Mark the portal factory with this interface so it no longer polutes the breadcrumbs. [wichert]
  • Made CatalogTool.ExtensibleIndexableObjectWrapper a subclass of the CMFCore.CatalogTool.IndexableObjectWrapper class to ensure Plone doesn’t miss on improvements made there. EIOW instances now proxy Zope3 interface declarations of the wrapped object. [mj]

Plone 2.5.2 - Orb - released January 16, 2007

  • Fix issue with drag and drop caused by changing of css ids in folder_contents. [alecm]
  • Added some classes to document_byline.pt for more flexibility when styling this template. This closes http://dev.plone.org/plone/ticket/5025 [spliter]

Plone 2.5.2 - Release Candidate - released January 3, 2007

  • In livesearch results, don’t append ... at the end, when the length of the title or description is exactly the limit. This closes http://dev.plone.org/plone/ticket/5989. [hannosch]
  • Do not display the right column on prefs_main_template anymore, as it was unneeded and could cause design problems. This closes http://dev.plone.org/plone/ticket/5803. [hannosch]
  • Moved the global_cache_settings call in main_template before the call to header.pt as otherwise the encoding in the header would not be defined and fall back to ZPublishers default_encoding. This closes http://dev.plone.org/plone/ticket/6013 [hannosch]
  • Optimized the check_id.py uniqueness check to not use contentIds, fixes http://dev.plone.org/plone/ticket/5976 [alecm]
  • Add search term highlighting to livesearch result links. [alecm]
  • links in Contents table behave as they should now - show the “pointer” hand when hovering the mouse over them. It was broken due to ajax sorting feature somehow [spliter]
  • event_view.pt has a better position for details table now, letting byLine and Description info to be content-wide and not to be shifted to the left, bacuse of Details table [spliter]
  • main table for columns (#portal-columns) should not have paddings or spacings - they can confuse when styling. Fixed with CSS for the table cells, thanks to deo ;) [spliter]
  • Make the parameters for member image scaling more easily configurable by putting them in a mutable data structure. Eventually, we should provide a TTW configuration for this. [alecm]
  • Make hasIndexHtml script more efficient for BTreeFolders. Fixes http://dev.plone.org/plone/ticket/5769 [alecm]
  • Add event support to OrderedContainer so that moveObjectToPosition doesn’t break on Zope 2.9. Should fix http://dev.plone.org/plone/ticket/5961 [alecm]
  • Make css ids for rows in folder_contents sane. Fixes http://dev.plone.org/plone/ticket/5940 [alecm]
  • Make various icons in folder_contents explicitly render alt tags, because the rendering of those images magically picks up items named ‘alt’ in the context, which breaks the page (plus it adds usability). Fixes http://dev.plone.org/plone/ticket/5934 [alecm]
  • Don’t assume portal_catalog when reindexing during ownership change. Fixes http://dev.plone.org/plone/ticket/5063 [alecm]
  • Ensure rss_template max items is an integer. Should fix http://dev.plone.org/plone/ticket/5553 [alecm]
  • Applied patch from aaronv to add includeTop setting to navigation prefs form. Fixes http://dev.plone.org/plone/ticket/5519 [alecm]
  • Made standard_error_message more tolerant of security issues and acquisition problems. Fixes http://dev.plone.org/plone/ticket/5955 [alecm]
  • Fixed issue with search for members of groups, using patch from derek_richardson. Fixes http://dev.plone.org/plone/ticket/5902 [alecm]
  • Use some url unquoting to ensure that the rename form redirects to the correct url after rename, even if quoted characters are involved. Fixes http://dev.plone.org/plone/ticket/5843 [alecm]
  • Use current_page_url instead of ACTUAL_URL for accessibility anchors. Fixes http://dev.plone.org/plone/ticket/5777 [alecm]
  • Made the error displayed on SMTPRecipientsRefused during password reset not display the email address, as this is an undesirable privacy leakage. Fixes https://dev.plone.org/plone/ticket/5962 [alecm]
  • Applied the Hotfix for CVE-2006-4249, which also fixes http://dev.plone.org/plone/ticket/5906 [wiggy, alecm]
  • Non-ascii characters in actions used in the portal tabs provoked an UnicodeDecodeError. This closes http://dev.plone.org/plone/ticket/5791. [hannosch]
  • Fixed another UnicodeDecodeError in livesearch_reply. This fixed http://dev.plone.org/plone/ticket/5828. [hannosch]
  • Added a general safe_unicode method to utils.py, which can be used to convert any Unicode, ‘utf-8’ or ‘ascii’ encoded string to Unicode. [hannosch]
  • Added button tag styling that conforms to the standard input button look. [limi]
  • Added optgroup styling, since the default in Firefox looks like crap. [limi]
  • Fixed the Live search error: 0x80040111 (NS_ERROR_NOT_AVAILABLE). This closes http://dev.plone.org/plone/ticket/4519. [deo]
  • Injected Plone 2.1.4 into the migration chain. [stefan]
  • Lots of minor whitespace corrections, found by using the new i18ndude 3.0 which is based on zope.tal.talgettext for extraction of translation files. [hannosch]
  • Fixed a minor spelling inconsistency in folder_localrole_form. [hannosch]
  • Fixed flawed lookup of email_from_address in send_feedback scripts. This closes http://dev.plone.org/plone/ticket/5839. [hannosch]
  • Added option to choose different base profile while creating a new Plone site. This closes http://dev.plone.org/plone/ticket/5890. [hannosch]
  • Removed redundant getToolByName call in send_feedback_site. This closes http://dev.plone.org/plone/ticket/5863. [hannosch]
  • Fixed the calendar portlet to display correctly in Internet Explorer 7. [limi]
  • Updated links in the automatically generated front-page. [hannosch]
  • Added a few macro hooks in personalize_form and prefs_user_details to allow at least some form of easy customization without the need to customize the entire forms. Now it looks for a file additional_memberdata in your skin and uses the macros in there to inject them into these horrible forms. Now it sucks slightly less ;-). [ender]
  • livesearch_reply.py mixed up utf-8-encoded strings and unicode strings leading to unpredictable UnicodeDecodeErrors. This fixes http://dev.plone.org/plone/ticket/5828. [ajung]
  • livesearch_reply.py wrote quotes (”) in the title-attribute. misformed XML was generated. replaced quotes by ". [jensens]

Plone 2.5.1 - released September 28, 2006

  • The content tab selection logic now checks the request in addition to template_id when trying to determine which tab should be selected. [rocky]
  • Noted the new hard dependency on ElementTree that was introduced in the Marshall product as of Plone 2.5.1. [hannosch]
  • The plone_various and plone-final steps now honour GenericSetup conventions and only run when a config file is present for them. ExtensionProfiles no longer need to override these steps. Fixes http://dev.plone.org/plone/ticket/5823 [mj]

Plone 2.5.1-rc1 - released September 11, 2006

  • Fixed an UnicodeDecodeError in enableSyndication script. This closes http://dev.plone.org/plone/ticket/5750. [hannosch]
  • Adjusted button CSS to have overflow: visible because Internet Explorer makes them very wide in foreign languages like Finnish. This fixes http://dev.plone.org/plone/ticket/5461 - thanks to Mikko. [limi]
  • Made login_form and default_error_message not invoke the portlets, since they are irrelevant and expensive in those forms. Also made the error template a valid HTML document. [limi]
  • Added description in the dict in WorkflowTool’s getTransitionsFor. [ender]
  • Corrected the log_exc method in log.py to actually log the exception, as it was done before replacing zLOG with Python’s logging module. [hannosch]
  • Make the object_delete and folder_delete methods require non-GET requests. This is a bit of a band-aid and it is likely we will want to do the same for other object actions which could be easily triggered by a crawler (a paste for instance, which may have been preceeded by a cut or copy). Related to http://dev.plone.org/plone/ticket/4886 [alecm] [limi]
  • Make the syntool methods for enabling and disabling syndication check for the Manager properties permission on the object. [alecm]
  • Making text/* not render inline for security reasons (Internet Explorer renders these blindly, no matter that they are not text/html), and fixing inline rendering of Office documents and PDFs in the process. [limi]
  • Fix member portrait handling by automatically scaling all incoming images using PIL. This will throw an IOError on any invalid image and also save some bandwidth and space in the zodb. [alecm]
  • Added method and management template to membership tool to cleanup members with bad images. [alecm]
  • Made ‘setuphandlers.PloneGenerator.setupPortalContent’ more robust by checking if the Members folder is really there. [nouri]
  • Copied ‘_getSecurity’ from Archetypes.utils to avoid a dependency. Plone should not import from Archetypes to minimize coupling. [stefan]
  • Added a Unicode and UTF-8 aware case normalizer to the plone_lexicon pipeline. Goes with the fix for http://dev.plone.org/plone/ticket/5231 [stefan]
  • Circumvented a UnicodeDecodeError on smart folders editing view. This closes http://dev.plone.org/plone/ticket/5746. [hannosch]
  • Added new css class visualIcon. This will be used to make generated.css much smaller in Plone 3.0 and is introduced now, so people can see how this will affect templates. Only templates which use css to add icons for content types are affected. [fschulze]
  • DiscussionTool.cookReply needs to be available to anyone who can comment on an item, otherwise the comment will not be cooked and we get HTML injection. This fixes http://dev.plone.org/plone/ticket/5718 [alecm]
  • Made the code in utranslate more error resilient and added tests for it. [rafrombrc] [hannosch]
  • Enhanced accessibility of adjacent links in main_template. This fixes http://dev.plone.org/plone/ticket/5210. [hannosch]
  • Removed some unnecessary hyphens from date_components_support. This fixes http://dev.plone.org/plone/ticket/5711. [hannosch]
  • Added Five and CMF version to the control panel version overview. This closes http://dev.plone.org/plone/ticket/5345. [hannosch]
  • Made getInheritedLocalRoles in PloneTool more error resilient. This closes http://dev.plone.org/plone/ticket/5542. [hannosch]
  • Added some workaround code for the general misbehaving utranslate and uLocalizedTime methods. They should return Unicode now again, but right now they only work for the single supported site encoding of utf-8. This fixes http://dev.plone.org/plone/ticket/5609. [hannosch]
  • Synced table-less and table-based main_template again. This fixes http://dev.plone.org/plone/ticket/5696. [hannosch]
  • Fixed incorrect status message after bad login attempt. This closes http://dev.plone.org/plone/ticket/5695. [hannosch]
  • According to GenericSetup.interfaces.IProfileRegistry: when an extension profile is registered for ‘None’, it should be available in any type of site. Fixed CMFPlone.factory to include such profiles. [stefan]
  • Made PloneTool.browserDefault check if the default page it is trying to render is the folder itself, and prevent it from doing so (which would cause an endless loop). Fixes http://dev.plone.org/plone/ticket/5704. [alecm]
  • Applied patch from paregorius to add ids to all visualClear divs. Fixes http://dev.plone.org/plone/ticket/4145. [paregorius] [alecm]
  • Applied patch from paregorius to make the LiveSearch div vanish in IE as needed. Fixes http://dev.plone.org/plone/ticket/5705. [paregorius] [alecm]
  • Made PloneTool.browserDefault check for a result of None from getLayout and raise a sensible error. Generally this means that the FTI is missing or otherwise incorrect. Fixes http://dev.plone.org/plone/ticket/5676. [alecm]
  • Added migration to reindex the catalog which is necessary for the changes made for http://dev.plone.org/plone/ticket/5569 and http://dev.plone.org/plone/ticket/5231. [alecm]
  • Made is_folderish and isStructuralFolder respect the z2 INonStructuralFolder interface as well as the z3 one. Fixes http://dev.plone.org/plone/ticket/5592 and http://dev.plone.org/plone/ticket/5569. [alecm]
  • Changed all of the action conditional expressions checking for the existence of ‘member’ to explicitly use ‘member is None’ or ‘member is not None’ rather than just using truth or falsehood of the member object. [rafrombrc]
  • Added a workaround for erroneous indexing behavior for words containing non-ascii characters. These were treated as word breaks so far. The code works for a site encoding of ‘utf-8’ now as well as proper unicode usage. This closes http://dev.plone.org/plone/ticket/5231. [hannosch]
  • Added migration to remove plone.css from portal_css. Fixes http://dev.plone.org/plone/ticket/5614. [alecm]
  • Fixed wrong usage of label tag. Added one for attribute that was missing. This closes http://dev.plone.org/plone/ticket/5539. [ender]
  • Added test that ensures the language is getting set in header. This is related to http://dev.plone.org/plone/ticket/5444 and http://dev.plone.org/plone/ticket/4770. [hannosch]
  • Fixed folder_summary_view ignored allowAnonymousViewAbout. http://dev.plone.org/plone/ticket/5678 [ender]
  • Fixed language setting in the html page header. This closes http://dev.plone.org/plone/ticket/5444. [hannosch]
  • Added a few tests for the calendar view. [hannosch]
  • Fixed the problem where you cannot select items in folder_contents in Safari. All non-draggable elements must have the ‘notDraggable’ CSS class now. This closes http://dev.plone.org/plone/ticket/5586. [deo]
  • Fixed handling of login_time and last_login member properties: last_login_time is now the time of the previous login and login_time is the time of the current login. This fixes http://dev.plone.org/plone/ticket/5471. [wichert]
  • Ignored the ‘ character when normalizing strings. This implements part of http://dev.plone.org/plone/ticket/5664. [wichert]
  • Improved test for autogenerated ids to handle content types with an underscore in their id. This fixes http://dev.plone.org/plone/ticket/5560. [wichert]
  • Using ‘indexObject’ instead of ‘reindexObject’ for CatalogTool.clearFindAndRebuild works just as well, but does not touch every object and cause a monster transaction to be committed. [stefan]
  • The list of addable types in a folder is now ordered according to the translated title and not the English title anymore. This closes http://dev.plone.org/plone/ticket/1760. [hannosch]
  • Add GenericSetup import and export steps for the portal factory. [wichert]
  • Fixed a username vs userid confusion in the member search page and bring the implementation inline with the help text. This fixes http://dev.plone.org/plone/ticket/5657. [wichert]
  • Small spelling corrections in reconfig_form. This closes http://dev.plone.org/plone/ticket/5552. [hannosch]
  • Event time and location aren’t considered byline information in folder_listing anymore and thus visible if allowAnonymousViewAbout is disabled. This closes http://dev.plone.org/plone/ticket/5573. [hannosch]
  • Corrected RSS search template to show correct numbers. This closes http://dev.plone.org/plone/ticket/5211. [hannosch]
  • Modified login logic to work for sites which do not use the cookie plugin or still use GRUF. [wichert]
  • Added support for the hCalendar/hCard standard for events. This closes http://dev.plone.org/plone/ticket/4102. Thanks, Nate. [hannosch]
  • Changed setupSite.py to import ‘Zope2’ instead of ‘Zope’. Could cause confusion on case-insensitive filesystems with ‘zope’. [sidnei]
  • Fixed bug in folder_contents causing all links to get /folder_contents appended as well. [optilude]
  • Changed all action conditions that were simply “member” or “not:member” to be “python:member” or “python:not member” to prevent member object from being called, leading to infinite recursion in certain cases. [rafrombrc]
  • Fixed ‘reindexContentObject’ in CatalogTool.py so that it doesn’t set the modification date to now due to some AT “convenience”. [nouri]
  • Cleaned up the localrole form to support searching for either a users full name or login name; both at once does not work. [wichert]

Plone 2.5 - released June 16, 2006

  • Officially deprecated portlet_related which was slated for removal since Plone 2.1. [hannosch]
  • Fixed invalid URL for events/previous link in events portlet. This closes http://dev.plone.org/plone/ticket/5582. [hannosch]
  • Added missing i18n magic to the dummy workflow transition labeled ‘No change’ in content_status_history.cpt. [hannosch]
  • Fix rename from the action menu when using virtual hosting. Thanks to Daniel Nouri, Maurits van Rees, Alec Mitchell and Stefan Holek for pointers and code. [optilude]
  • Small fix to avoid an AttributeError in @@plone when viewing objects without isPrincipiaFolderish, in general uses of aq_explicit should be conditional. [alecm]

Release candidate 3 - released June 13, 2006

  • Added missing nocall: for toLocalizedTime in mail_password_template.pt. Fixes http://dev.plone.org/plone/ticket/5568 [alecm]
  • Added deprecation warnings for the old site creation machinery. [hannosch]
  • Fixed last deprecated occurrences of portal_object. Use portal instead. [hannosch]

Release Candidate 2 - released June 8, 2006

  • Fixed issue with encoding of translated ui strings in javascript. [ree, nouri]

Release Candidate 1 - released June 3, 2006

  • Deleting objects in the portal root now requires the user to have the ‘Delete objects’ permission on both the portal and the objects to be deleted. This makes the rules for object deletion consistent between the portal and all other folderish objects in the portal (at least those based on BasePloneFolder or AT’s BaseFolder). This fixes http://dev.plone.org/plone/ticket/2925 [alecm]

  • Don’t propose local workflow policy configuration iw we aren’t in a folderish type. We don’t allow it on plone root too. [encolpe]

  • Finish worklists implementation with workflow id and complete guard filtering. [encolpe]

  • Polished HTML in livesearch_reply.py. It generated <LI> element without the <UL> when there are no livesearch results. [spliter]

  • Added missing ‘Apply’ button in group preferences again. This closes http://dev.plone.org/plone/ticket/5544. [hannosch]

  • Added a few functional tests using ‘zope.testbrowser’, see ‘AddMoveAndDeleteDocument.txt’ and ‘LoginAndLogout.txt’. These should eventually replace the ‘rendering.txt’ and ‘forms.txt’ tests.

    All *.txt files in the tests/ directory are now picked up by ‘test_functional.py’. I’m open to change here.

    Note that these tests are only run if you have Five >= 1.4 [nouri]

  • Now that five:traversable handles multiple inheritance better, we can just make some common base classes traversable. Fixes issues with CompositePack. [alecm]

  • Fix several wrong usages of the ‘label’ tag. [nouri]

  • Added little spamProtect.py enhancement, to allow overwriting of the name that should be shown. This closes http://dev.plone.org/plone/ticket/4868. [hannosch]

  • Use sort_limit in the search for portlet_recent. Fixes http://dev.plone.org/plone/ticket/5520 [alecm]

  • Expose allowAnonymousViewAbout and allowRolesToAddKeywords in the site configuration configlet. Fixes http://dev.plone.org/plone/ticket/5275 [wichert]

  • Move the ‘mail password’ text and link on the login form so the tab order is more sane. Fixes http://dev.plone.org/plone/ticket/5516 [wichert]

  • Rename ‘large site’ option to ‘Many users/groups’, which covers its meaning properly. If more similar options are added later we can group those in a new ‘large site’ option. fixes http://dev.plone.org/plone/ticket/5451 [wichert]

  • When changing ownership of an object the new owner is identified by a userid, not the username. Adjust the implementation accordingly. This fixes http://dev.plone.org/plone/ticket/5535 [wichert]

  • Fixed spelling error in livesearch. This closes http://dev.plone.org/plone/ticket/5425 [hannosch]

  • Added workarounds so the rounded corners for portlets work in Internet Explorer too. [limi] [spliter]

  • Moved column padding to public.css to make sure it doesn’t stick around when doing customizations of the site theme. It used to be in columns.css. [limi]

  • Fixed private attribute access in PloneBaseTool createExprContext to use the API. This way it will also work with the Zope3 TAL engine. [hannosch]

Beta 2 - released May 17, 2006

  • Added ‘style_slot’ to main_template for compatibility with newer CMF versions, and Five applications. [siebo]
  • Updated the GenericSetup profile format to CMF1.6-style. No configuration changes were made, only format changes. [hannosch]
  • Various small i18n markup fixes. Updated folder_edit_form to conform to the same style as the Archetypes based edit forms, as it is still used for the Plone site object. [hannosch]
  • Added smart folder sub-topic listing to all available smart folder view templates. Fixes http://dev.plone.org/plone/ticket/5349. [alecm]
  • Added link to error reference on plone.org to error log form. Fixes http://dev.plone.org/plone/ticket/5478. [brcwhit]
  • Fixed showEditableBorder.py to check the following permission before checking whether a user is anonymous: Modify portal content, Add portal content, Review portal content. This closes http://dev.plone.org/plone/ticket/5117. [brcwhit]
  • Fixed livesearch issues. This closes http://dev.plone.org/plone/ticket/5204 . [ree]
  • Set access for all plone control panel forms to View = 0:Manager. Closes http://dev.plone.org/plone/ticket/5434. [brcwhit]
  • Fixed extra space in changeSiteActions function in some migrations. This closes http://dev.plone.org/plone/ticket/5161. [hannosch]
  • Fixed the float bug on Events’ view page This closes http://dev.plone.org/plone/ticket/5226 [spliter]
  • Fixed bug in login_success. If you did not came_from somewhere, it would still offer you to go there. Changed this to portal_url instead. This closes http://dev.plone.org/plone/ticket/5496. [hannosch]
  • Added migrations to get rid of deprecation warnings due to actions which still use the old scripts. Gave @@plone.isRightToLeft a sane default value. Made the quoting conventions used in the XML profiles a bit more consistent. [alecm]
  • Simplified action url/condition expressions by using @@plone view methods. There are now no more URL expressions that use ‘python:’ expressions. [alecm]
  • Readd folder_edit_form which is still used to edit the site root. This closes http://dev.plone.org/plone/ticket/5430. [hannosch]
  • Fixed some i18n markup problems revealed by the Zope 2.10 ZChecker tests. [hannosch]
  • Moved css rules for the photo album view inside Plone’s public.css, instead of having them inline in the template. This way they can be overridden. This closes http://dev.plone.org/plone/ticket/4765. [hannosch]
  • Repaired the portal logo appearance visual bug in IE 5, 5.5. This closes http://dev.plone.org/plone/ticket/5228. [wald]
  • Corrected the portlet_calendar view for tableless layout for Firefox. This closes http://dev.plone.org/plone/ticket/5467. [wald]
  • When setting some background to the top, Live Search did not look properly. Moreover in IE it had a bad visual behavior. Changed the visual representation of the Live Search to repair the improper look. This closes http://dev.plone.org/plone/ticket/4313 and http.://dev.plone.org/plone/ticket/5005. [wald]
  • contentActions drop down menus were falling below the content area text in IE. This closes http://dev.plone.org/plone/ticket/4949, http://dev.plone.org/plone/ticket/4960 and http://dev.plone.org/plone/ticket/4961. [wald]
  • Updated tableless main_template.pt to get it in sync with the tablebased main_template.pt. This closes http://dev.plone.org/plone/ticket/5056. [hannosch]
  • A confirmation page is now displayed upon successful submission of the contact-info form. This fixes http://dev.plone.org/plone/ticket/5301. [rocky]
  • Added missing i18n translation in live search for ‘Advanced search’ and ‘Show all’. This closes http://dev.plone.org/plone/ticket/5425. [hannosch]
  • Fixed incorrect coloring of workflow states in content menu in some cases, due to missing normalizeString call. This fixes http://dev.plone.org/plone/ticket/5078. [hannosch]
  • Fixed typo in image_view_fullscreen.pt. This closes http://dev.plone.org/plone/ticket/5469. [hannosch]
  • Fixed trivial error in validate_emailaddr. This closes http://dev.plone.org/plone/ticket/5249. [hannosch]
  • External editor link showed on temporary content. This closes http://dev.plone.org/plone/ticket/5250. [hannosch]
  • Calendar showed arrow when it’s not clickable. This closes http://dev.plone.org/plone/ticket/5223. [hannosch]
  • Links in calendar portlet showed only “published” items, rather than all states set by calendar tool. This closes http://dev.plone.org/plone/ticket/5077. [hannosch]
  • OpenDocument files are no longer shown as garbage text. This fixes http://dev.plone.org/plone/ticket/5504 [hannosch]
  • Readd a couple prematurely deleted scripts. Fixes #5482. [alecm]
  • Fixes #5487. Changed ‘orig_template’ query value from context’s URL to HTTP_REFERER in ‘object_rename’ so that we can really redirect to the original view and not only the default view in ‘folder_rename’. http://dev.plone.org/plone/ticket/5487 [maurits, nouri]
  • Turn I(Selectable)ConstrainTypes and I(Selectable)Browser default into Zope 3 interface with reverse bridges. Depends on changes to ATContentTypes trunk and CMFDynamicViewFTI trunk as well! [optilude]
  • Various small fixes for support of future CMF versions. [hannosch]
  • Incorporate some fixes for Zope 2.10 support. Note that 2.10 is not officially supported for Plone 2.5. [hannosch]
  • Deprecate CatalogTool._initIndexes [wichert]
  • Add a category parameter to createToplevelTabs to allow skins to use a different action category. [wichert]
  • The padding on the documentEditable content area depends on the design in public.css, and was moved there to make CSS customization more predictable. [limi]
  • Fixed missing security declarations in MembershipTool. http://dev.plone.org/plone/ticket/5432 [stefan]
  • Allow turning off PlonePAS installation during 2.1 -> 2.5 migration using an environment variable. If ‘SUPPRESS_PLONEPAS_INSTALLATION’ is ‘YES’, then the migrations will not install PlonePAS. This is not a supported configuration, but it should allow CMFMember/Teamspace users to upgrade their 2.1 sites. [alecm]
  • No longer remove expires and effective parameters from catalog queries. The use of the DateRangeIndex is sufficient, no reason not to let users further restrict results. http://dev.plone.org/plone/ticket/4697 [alecm]
  • Use portal_transforms to do stx -> html conversion instead of relying on ugly module import in the quickinstaller configlet. http://dev.plone.org/plone/ticket/5428 [alecm]
  • Modify local role addition and removal scripts to only reindex object security once. http://dev.plone.org/plone/ticket/5352 [wichert]
  • Remove never used use_portrait handling from folder_localrole_set [wichert]
  • Deprecate CMFPlone.MemberData. This class is never used, and the future is with PAS-based objects instead of membership/memberdata tools. [wichert]
  • Marked FolderWorkflow and PloneWorkflow as deprecated. Workflow setup is handled by the GS profile now. [hannosch]
  • Removed unused default configurations from PloneControlPanel and CatalogTool, which are handled by the GenericSetup profile now. [hannosch]
  • Force a catalog reindex on upgrade to get correct work boundaries on transformed html content. http://dev.plone.org/plone/ticket/5393 [wichert]
  • Implemented displayContentsTab and getViewTemplateId in @@plone. The script getViewTemplateId is now deprecated, displayContentsTab will stick around for a while because people often override it in their content classes. [alecm]
  • Added another convenience method to @@plone to simplify template and action logic. getCurrentFolder() returns the object if it is a not the default page for its container and is a structural folder otherwise it returns the object’s container. Simplified some template and action logic. [alecm]
  • Made all our deprecated scripts use the new views internally. [alecm]
  • fix strange English in site feedback mail template. Fixes http://dev.plone.org/plone/ticket/5346 [wichert]
  • Added a cache decorator to the @@plone implementation so that multiple calls to expensive methods don’t require multiple computations. [alecm]
  • Added three convenience methods to @@plone to simplify action and template logic. ‘getParentObject()’, which returns the container of the current context object. ‘isFolderOrFolderDefaultPage()’, which returns True if the current object is either a folder or the default page of a folder. ‘isPortalOrPortalDefaultPage()’, which returns True is the current object is either the portal, or the default page of the portal. [alecm]
  • Removed __getattr__ hack from the @@plone view. [alecm]
  • introduce a large_site site property, which can be used to tweak site behaviour. Modify the user and group management templates to show all users and groups on small sites and search for them on large sites. [wichert]
  • Fixed wrong html markup in events portlet. Closes http://dev.plone.org/plone/ticket/5407 [hannosch]
  • Fixed dumb migration issue bug http://dev.plone.org/plone/ticket/5357 [alecm]
  • Slightly optimized portlet events view for performance. [hannosch]
  • Refactored some more logic out of portlet_calendar into calendar view. [hannosch]
  • Removed vcXMLRPC.js. [fschulze]
  • Removed underline button from Kupu, you shouldn’t use underline for web pages - as it’s very hard to discern from a link. If you want it back, add the following to your CSS file: #kupu-underline-button { display: inline; } [limi]
  • Fixed up Summary View to show author/date on News Items and location/time on Events. [limi]
  • Added condition so that you don’t get the “send feedback to author” on yourself. If you don’t know how to get in touch with yourself, seek professional help. ;) [limi]
  • Disabled the RichWidget file upload field using CSS. The reason is that it causes a lot of problems for naive users, who upload Word documents, images etc here. The content has to be in HTML or the selected text format for this to work. If you want to re-enable this in your site, add the following to your CSS file: .fieldUploadFile { display: block } [limi]
  • Removed inline styles on file upload field in RichWidget, added classes fieldUploadFile and fieldTextFormat so these elements can be styled using CSS. [limi]
  • Adjusted status message related methods of PloneTool to the new implementation of statusmessages as an adapter for the request rather than a utility. [hannosch]
  • Added some missing .metadata file for images. [panjunyong]
  • Removed colophon.pt from the tableless skin - there’s no need for it to have a separate file for this. [limi]
  • Use fullname but not username in viewThreadsAtBottom. [panjunyong]
  • Adding relaxed mode to PloneTool.normalizeString(). This will be used in ATContentTypes to avoid stripping too much from valid filenames being uploaded. [optilude]
  • Making links link directly to the target in the navtree. Fixes http://dev.plone.org/plone/ticket/5264. [optilude]
  • Making the user-name link in the personal-bar link to the author profile. Fixes http://dev.plone.org/plone/ticket/5268. [optilude]
  • Added more insane TAL logic to portlets_fetcher.pt to actually show the error to the user, as opposed to simply logging it. If anyone has an issue with this, please just remove the tal:on-error. Fixes http://dev.plone.org/plone/ticket/5282 and http://dev.plone.org/plone/ticket/2850. [optilude]
  • Handle empty values for group properties of lines and ulines types correctly in the group details template. [wichert]
  • Removed ‘input’ from the print CSS blacklist; forms print properly now. [limi]
  • Moved the colophon icons into classes instead of using inline styles. [limi]
  • Lots of improvements to the visual editor [limi]:
    • Added “pullquote” and “callout” layout classes, renamed “formatted” label to “literal”
    • Updating icons to better match the Plone style
    • Improved tool ordering (growing elements like the text format selector should be at the end, since they displace all the other icons when they change if not)
    • Fixed stupid bug in Mozilla by explicitly setting the link styling inside Kupu
    • Made all images load from an absolute URL to improve caching
  • Fixed CSS regression: the p tag would sometimes be a victim of the peekaboo bug after we removed it to work better with Kupu; put it back in with a position: relative hack instead. This should work better. This closes http://dev.plone.org/plone/ticket/5225 [limi]
  • Made the file_view link directly to the file. This closes http://dev.plone.org/plone/ticket/5196 [limi]
  • The Sharing page was showing mail addresses to easier be able to discern between users with similar user names; now it uses full name instead. This closes http://dev.plone.org/plone/ticket/5196 [limi]
  • Move two IE hacks to IEFixes.css.dtml where there belong, as these had ugly side-effects when viewing a site with IE 7 beta2. [hannosch]
  • Renamed “discussion” to “comments” in the UI, made the labels more explicit about what they actually do. [limi]
  • Checkboxes got background in IE, this was fixed. Also moved the ‘noborder’ class to public.css. [limi]
  • prefs_mailhost_form looked up “smtp_server” in a strange location. Removed some backwards compatibility code from PropertiesTool as well. Fixes http://dev.plone.org/plone/ticket/5174. [hannosch]
  • Clarify description for ‘show short name’ feature in the prefs panel. Closes http://dev.plone.org/plone/ticket/5112. [hannosch]
  • Added warning message to version overview in the control panel if PIL is not installed. Closes http://dev.plone.org/plone/ticket/5134. [hannosch]
  • Fixed inconsistencies where some ‘Controller Python Script’ were being declared as normal ‘Script (Python)’ and were missing the state variable. [deo]
  • Fix confusion between user names and user ids in the membership tool. Fixes http://dev.plone.org/plone/ticket/5098 [wichert]
  • Fixed bug: can’t access content when the user have no permission to access the acquired left_slots/right_slots properties. [panjunyong]
  • Introduced a new class “tile” to use in the portlets. The previous portlet code implicitly assumed that all links would be block-level, which is not a good thing. This should have minimal impact on old portlets, but if you want the block-level behaviour and stay compatible with older portlet code too, just add class=”tile” to your links. [limi]

Beta 1 - released March 31, 2006

  • Added “Extension profile” support to the addSite.zpt ZMI form to allow extension profiles to be applied to a site at site creation time, similar to how customization policies used to be available. [rafrombrc]
  • Removed nearly all instances of the “classImplements” idiom which dynamically creates Z3 interfaces from Z2 interfaces, replaced them with real Z3 interfaces, dynamically creating Z2 interfaces using “createZope3Bridge” calls. [rafrombrc]
  • Added the portalWarningMessage and portalStopMessage css classes which are used for status messages with ‘warn’ or ‘stop’ type. portalMessage is still used for the default case of an ‘info’ message. [hannosch]
  • Fixed up Summary View to show author/date on News Items and location/time on Events. [limi]
  • Incorporated various fixes for RTL support. http://dev.plone.org/plone/ticket/5299 [fschulze]
  • Moved the hidden accessibility items from public.css to base.css. [limi]
  • Finally put back the native support for rounded corners that was pulled out right before the 2.1.0 release, you can now put rounded corners on portlets by using the portlet(Top|Bottom)(Left|Right) classes. [limi]
  • Fixed duplicate css definition for livesearch background. This fixes http://dev.plone.org/plone/ticket/5366. [hannosch]
  • Fixed erroneous form actions in prefs_error_log_form. Made it work even if the button labels were translated. [hannosch]
  • Tabindexes aren’t as good for usability/accessibility as we once thought, and they wreak havoc with JavaScript/AJAX type code that dynamically inserts form elements. Instead, we should have the first element in the main body have tabindex=”0” and the rest not have tabindexes, this making the cursor focus on that element first, and then follow normal ordering thereafter. Fixed IndexIterator to support just this - when mainSlot=False it always returns None; when mainSlot=True, it returns a number on the first iteration, and no number thereafter. Fixed up global_defines, the portlet fetcher and various templates that were abusing tabindexes to get a unique number for form elements to reflect this. Also added a new iterator called uniqueItemIndex in global_defines, which can be used when a page-unique number is needed, as it is in calendar_macros.pt. [optilude]
  • Replace &larr; with ‘-‘ in the breadcrumb trail for RTL environments. It seems that &larr; is not present in common RTL fontsets on Windows. Firefox can compensate for that, but IE can not. http://dev.plone.org/plone/ticket/4388
  • Re-added toPortalTime script which was accidentally removed earlier. It is deprecated though and won’t be included in Plone 2.5. This closes http://dev.plone.org/plone/ticket/5326. [hannosch]
  • Added explanatory doctests for the translation service tool l10n methods. [hannosch]
  • Added some missing i18n statements for link related tags in the headed. This fixes http://dev.plone.org/plone/ticket/5289. [hannosch]
  • Fixed exception in getDefaultPage when the LinguaPlone-aware content type is not associated with a workflow chain. [panjunyong]
  • Added Turkish map for UnicodeNormalizer and consolidated the mappings. This fixes http://dev.plone.org/plone/ticket/5292. [hannosch]
  • Included e-mail address in mail_password_form into the i18n message. Fixes http://dev.plone.org/plone/ticket/5045. [hannosch]
  • Modified viewThreadsAtBottom to make it better work with css: div is not shown when no discussions exist or no discussions are allowed. Image icons in front of each reply is now a background image so that can also be styled by css alone. Added the style in authoring.css [ender]
  • Standardized how description fields are rendered in html among the various templates. document_view used a <p> while folder_listing used a <div> etc. They all use <p> now and omit the field completely when there is no description (all similar to document_view). [ender]
  • Re-added support for topLevel and bottomLevel navtree propreties, as well as the new name (of the navtree portlet) and root (of site navigation) properties, and added the Sprout navtree preference panel to let users manage these settings. Factored the navtree code out to .browser.navtree, which is TTW importable and contains a re-usable buildFolderTree() function that can be used to build navtree-like structures in custom code. See the docstrings in that module for more details. THIS REQUIRES THAT YOU RE-CUSTOMIZE YOUR NAVTREE IF YOU HAVE A CUSTOM VERSION IN YOUR SITE! Fixes http://dev.plone.org/plone/ticket/5265. [optilude]
  • Split the various navigation views into their respective parts, no more meta-navigation interface. [alecm]
  • Do no use javascript in failsafe_login_form - it is not safe [wichert]
  • Remove use of zLOG in favor of the python logger, add some content classes to five:deprecatedManageAddDelete to avoid some warinings. [alecm]
  • Added a BBB getMultiAdapter to lookup views for zope 2.8, which means fewer deprecation warnings and an easier migration path to zope 2.10. [alecm]
  • Added getEventType index for KeywordWidget in the ATCT event type. [fschulze]
  • Added method to Catalog Tool to fully rebuild the catalog by walking the tree and looking for content, as well as a ZMI button. Fixes http://dev.plone.org/plone/ticket/4438 [alecm]
  • Removed code from Portal.py for default_frontpage. This is now handled by the GenericSetup driven site creation. This fixes http://dev.plone.org/plone/ticket/5332 [hannosch]
  • check_id error messages were not translated. This fixed http://dev.plone.org/plone/ticket/5012 [hannosch]
  • Added view for sitemap, and made navtree use a recursive macro call, rather than recursively calling the template, as it should be faster. Fixes http://dev.plone.org/plone/ticket/5240 [alecm]
  • Added drag’n’drop reordering of folder contents. [fschulze, alecm]
  • Fix PloneTool.changeOwnershipOf to not test for user existance by trying to find a user id in listMemberIds(). [wichert]
  • Remove options to list all members and groups from the preference pages; this does not scale and may not be possible in PAS environments. [wichert]
  • Merge PlonePAS skin layer into CMFPlone skin [wichert]
  • Rewrite ownership_form to not list all users, but allow searching for possible new owners instead. [wichert]

Alpha 2 - released February 23, 2006

  • Major refactoring of the entire PloneGenerator / portal creation framework; now using GenericSetup with XML-based setup profile to specify the initial site configuration state. (see CMFPlone/profiles/default directory) [rafrombrc]
  • Added ignoredSkinLayers option to zcheck.py to filter out certain folders. [hannosch]
  • Removed default front-page from ./www. New location is: ./profiles/default/structure [hannosch]
  • Merged PlonePAS bundle. This implements the start of step 2 for PLIP 102. [wichert]
  • Do no list all groups in the sharing screen, but make it possible to search for them. Fixes (last) part of http://dev.plone.org/plone/ticket/2530 [wichert]
  • Fix confusion between user names and user ids in the membership tool. Fixes http://dev.plone.org/plone/ticket/5098 [wichert]
  • Converted unit tests to use the external PloneTestCase product instead of a local modified copy. [hannosch]
  • Factored out ‘default page’-related functionality into a view that provides IDefaultPage. Factored out createBreadCrumbs into a view that provides INavigationStructure. Started implementing soon-to-be-written PLIP for configurable navigation root. [sidnei]
  • Factored out most of the ‘functions’ in PloneTool.py into real functions that take a ‘context’ in utils.py. Later one, those will be used by the new adapters code. [sidnei]
  • Added helper functions for making ‘zope.interface’-style declarations from Zope 2 interface declarations. Removed some BBB code. Make sure that for all interfaces declared, they are declared for both Zope 2 and ‘zope.interface’-style. [sidnei]

Alpha 1 - released January 29, 2006

  • Installed CMFPlacefulWorkflow during migrations. [encolpe]
  • Merged plip108-five-translationservice r8093:8841 into trunk. This implements PLIP 108 Zope3 MessageID’s and PLIP 111 new portal status message infrastructure. [hannosch]
  • Merged hannosch-cleanup branch. This removes a lot of unused files and moves some files to /portal_skins/plone_deprecated which will be removed in the next release. [hannosch]

Plone 2.1.5 - Fischerspooner - (Unreleased)

  • Fixed handling of login_time and last_login member properties: last_login_time is now the time of the previous login and login_time is the time of the current login. This fixes http://dev.plone.org/plone/ticket/5965. [hannosch]
  • Fixed the sharing page to handle groups which come from non-traditional PAS sources. This closes http://dev.plone.org/plone/ticket/5727. [hannosch]
  • Fixed the view of livesearch in fullscreen mode (contentActions were overlapping the livesearch output). [spliter]
  • Enabled IEFixes.css for all IE’s, not for <IE7 only [spliter]
  • Re-enabled livesearch back (removed overflow:hidden from #portal-searchbox) and fixed horizontal scroll issue for IE’s due to floated searchbox. [spliter]
  • Removed www/main.dtml as it turns out we can use the default just fine. [stefan]

Plone 2.1.4 - Devo - Released September 19, 2006

  • No changes since RC1.

RC1 - Released September 12, 2006

  • Made sure validate_email is turned on by default. [stefan]
  • Fixed a bug in the highlighting of selected tabs in an environment which uses Apache rewrite rules. This closes http://dev.plone.org/plone/ticket/5518. [hannosch]
  • Updated the CSS validation link to use the CSS 2.1 and CSS 3 compatible profile, which is what Plone uses. [limi]
  • Using ‘indexObject’ instead of ‘reindexObject’ for CatalogTool.clearFindAndRebuild works just as well, but does not touch every object and cause a monster transaction to be committed. Also improved the ZMI experience. [stefan]
  • Rearranged some of the nav tree CSS so it is easier to have proper padding when not using the icons. [limi]
  • Made the local nav tree functionality better, has correct indentation now. [limi]
  • Minor spelling fix in folder_localrole_form. [hannosch]
  • Removed OS notes for iCal and vCal on the event view. Meanwhile both standards are used on all OS’es. This closes http://dev.plone.org/plone/ticket/4113. [hannosch]
  • Fixed mysterious RuntimeError bug in rssAllowed.py. This closes http://dev.plone.org/plone/ticket/5611. [hannosch]
  • Use Fullname in recently_published and modified templates [jladage]
  • Cleaned up some messages that were only differing slightly. [hannosch]
  • Changed remaining blank ‘a’ styles to ‘a:link’ to make sure anchors aren’t affected. [limi]
  • Fix rename from the action menu when using virtual hosting. Thanks to Daniel Nouri, Maurits van Rees, Alec Mitchell and Stefan Holek for pointers and code. [optilude]
  • Added plone.css Python Script that returns the rendered CSS for use when external tools need a static reference. Cached for one day. [fschulze][limi]
  • Added portal status message to author and personalize_form. Since Limi Added the tabs and switched to the content slot instead of main, the status message wasn’t shown. [jladage]
  • Fixed Plone/Unknown in HTTP Server header. It now shows the correct Plone version (again). [stefan]
  • Changed the default background color to match the defined background color for better readability. If you want the old behaviour back, add ‘dl.portlet { background-color: transparent }’ to your style sheet. [limi]

Plone 2.1.2 - Saint Etienne - Released January 20, 2006

  • Events portlet was not displayed when /events had been deleted. Closes http://dev.plone.org/plone/ticket/5143. [hannosch]
  • Reinstating the “Previous Events” link in the events portlet (was removed in r7864) [limi]
  • Removing hardcoded style attributes in folder_localrole_form. This fixes #5070. http://dev.plone.org/plone/ticket/5070 [limi]
  • Removed useless CSS declaration in generated.css - the site map will never have a current item by its very nature. This fixes #5079. http://dev.plone.org/plone/ticket/5079 [limi]
  • Made Plone notify you when you are trying to log out while being logged in via HTTP (you need to close your browser to log out when using HTTP auth). This also fixes #5083. http://dev.plone.org/plone/ticket/5083 [limi]
  • Fixed the non-workflow-state-dependend coloring of items in the navigation portlet. Closes http://dev.plone.org/plone/ticket/5136. [hannosch]
  • Changed the last occurrences of transaction.commit(1) to new style transaction.savepoint(optimistic=True) calls. [hannosch]
  • Removed the last remaining occurrences of CMFCorePermissions. [hannosch]
  • Updated deprecation warnings to reflect new version numberings. [hannosch]
  • Fixed some minor spelling mistakes and i18n / xhtml format issues. [hannosch]
  • Added missing migration of PortalTransforms to activate the new, configurable safe_html transformation. [stefan]
  • Add a folderlistingFolderContents method to the PloneSite type. This allows getting folder contents with the AccessContentsInformation permission and is required by ATReferenceBrowserWidget since its changeset 5440. Fixes http://dev.plone.org/plone/ticket/5115 [wichert]
  • Remove more uses of the name CMFCorePermissions by using CMFCore.permissions throughout the code. [wichert]

RC2 - Released January 5, 2006

RC1 - Released January 4, 2006

  • Home page edit field was missing from the author edit screen, added. [limi]
  • Added missing class=”documentContent” declarations in the user management screens. [limi]
  • Added View/Edit tabs to the author profile screen to make it easier to change your own details. [limi]
  • Changed the ‘expired’ color to be the same as the discreet/ghosted elements, since this is a marker to show content that is no longer active, not content that needs some sort of action. [limi]
  • Moved .visualClear to the base.css - even though it’s not an actual tag, all layouts break without this present, so makes sense to have it as a base-level element. [limi]
  • Added link to “Advanced Search” in the LiveSearch pulldown. [limi]
  • Moved .documentContent to ‘public.css’, this fixes #5061. http://dev.plone.org/plone/ticket/5061 [limi]
  • More CSS grouping fixes: the form elements are visible in the public view, and were moved to ‘public.css’ (were previously in ‘authoring.css’) [limi]
  • Moved the accessibility CSS classes from ‘authoring.css’ to ‘public.css’ (the hiddenStructure classes). [limi]
  • Moved the collapsible CSS class from ‘public.css’ to ‘authoring.css’, where it belongs. [limi]
  • Added background tint to inputs and textareas. [limi]
  • Fixed a bug in FactoryTool were objects weren’t removed from the UID and refs catalogs after changes introduced in Archetypes 1.3.6. [hannosch]
  • Permission check had wrong spelling in prefs_groups_overview, this fixes #5055. Thanks to Bertrand Mathieu for the patch. http://dev.plone.org/plone/ticket/5055 [limi]
  • Added feedButton class for RSS feed buttons. This will be used for e.g. the news portlet once limi bothers to put them back in. [optilude]
  • Escape the group name URLs generated in the group preferences screen. http://dev.plone.org/plone/ticket/5015 [wichert]
  • Added some classes for the RTL versions of the summary view. Thanks, mohsen. http://dev.plone.org/plone/ticket/5047 [limi]
  • Fixed #4976 - Added a must_change_password property to the member data (set to 0 for existing members). http://dev.plone.org/plone/ticket/4976 [plonista]
  • Fixed various log-in problems, issues #4545, 4975, 4942, added workaround that should prevent problems in #4482 and #4688. [plonista]
  • Login UI cleanup. Now redirect directly to came_from page after login if we can verify that the user has cookies enabled via javascript. Added login_name to query string in a few places to save some typing. Only show the newbie text the first time somebody logs in. Add a login shortcut link to the new user email. Tell people to enable javascript if they don’t have it enabled. [plonista]
  • Update all skin form scripts to fetch transaction_note from the correct location (Products.CMFPlone.utils) [wichert]
  • Portlet CSS simplification - portletItemSingle and portletItemLast are no longer needed. They are still supported via the deprecated.css file, but we urge people to adopt the new style (which is much simpler and more flexible) - as the inclusion of the two above classes in the 2.1 release was not intentional. http://dev.plone.org/plone/ticket/4430 [spliter, limi]
  • Fixed #5041 - plone-site icon is generated again. Thanks, optilude ;) http://dev.plone.org/plone/ticket/5041 [spliter]
  • Fixed #4961 - long Titles have been overlapping documentActions in IE. http://dev.plone.org/plone/ticket/4961 [spliter]
  • Fixed #5020 - added wrapping SPAN’s in portlets’ portletHeaders to allow css designers to use rounded corners techniques. http://dev.plone.org/plone/ticket/5020 [spliter]
  • Quote id in “Move item up” and “Move item down” links. http://dev.plone.org/plone/ticket/5014 [nouri]
  • Removed leading whitespace in portlet_navtree_macro css class definitions. http://dev.plone.org/plone/ticket/5038 [hannosch]
  • Fixed author.pt to respect search type blacklisting. http://dev.plone.org/plone/ticket/5034 [hannosch]
  • Fixed 4876 by making Discussion Item not have a workflow, so that you won’t get strange permission inconsistencies. http://dev.plone.org/plone/ticket/4876 [optilude]
  • Fixed 3905 by making mergeResults() available TTW to allow python scripts to merge search results. http://dev.plone.org/plone/ticket/3905. [optilude]
  • All-new look for the photo album / thumbnail view. [limi]
  • Extended tests to ensure publishing of included folders is working. http://dev.plone.org/plone/ticket/4933 [hannosch]
  • Fixed #5021 - ‘History’ beeing expanded was visible through the vertical table, containig event’s summary http://dev.plone.org/plone/ticket/5021 [spliter]
  • Fixed #4430 - now portlets have much more simple and straightforward structure and styles. From now we use only three classes for them - portletHeader, portletItem and portletFooter. Thanks to mroch for idea. http://dev.plone.org/plone/ticket/4430 [spliter]
  • Backported some general code cleanup from the trunk. [hannosch]
  • Implemented new feature: Automatically highlight keywords when arriving from search engines. http://dev.plone.org/plone/ticket/2599 [jenner] [hannosch]
  • Made prefs_mailhost_form compatible with regular mailhost objects from both Zope 2.7 and 2.8. Starting with 2.8 MailHost has user/pwd attributes as has SecureMailHost but named slightly different. http://dev.plone.org/plone/ticket/5000 [hannosch]
  • LiveSearch did not match 8-bit search strings correctly. http://dev.plone.org/plone/ticket/4643 [hannosch]
  • Added a customised testPropertiesValidity method to the RegistrationTool in preparation of PAS. This version only verifies the email property if it is writable. [wichert]
  • Fixed #5013 - accessibility-page had a problem in CSS validation due to doubled #portal-siteactions. Now it is the class because we have more than one place for siteactions on the pages. http://dev.plone.org/plone/ticket/5013 [spliter]
  • Fixed #5017 - Unnecessary style in IEFixes.css that ruined NewsItem view in IE when having paragraph in text. http://dev.plone.org/plone/ticket/5017 [spliter]
  • Fixed ‘Livesearch can kill a server’ problem by enabling livesearch only for two or more characters long search strings. http://dev.plone.org/plone/ticket/4890 [hannosch]
  • Fixed two problems with delete action in global_contentmenu. ‘Cannot cancel deletes in IE 6’ (#4772) and ‘JS pop-up shows wrong type when deleting default view’ (#4990). http://dev.plone.org/plone/ticket/4772 http://dev.plone.org/plone/ticket/4990 [hannosch]
  • Bug in portlet_navigation - navTreeLevel1 was never set. http://dev.plone.org/plone/ticket/4950 [hannosch]
  • Group is confused with identical user when trying to add as a subgroup. http://dev.plone.org/plone/ticket/4947 [hannosch] [csenger]
  • Fixed weak-ass tests that failed to catch broken action providers. Also fixed ActionsTool so it ignores broken providers. [stefan]
  • Icon for links was missing padding in folder_listing. Fixes #4721. http://dev.plone.org/plone/ticket/4721 [limi]
  • Meta tags were not being emitted correctly. This fixes #4810. http://dev.plone.org/plone/ticket/4810 [limi]
  • Changed all calls to getParentNode() to be aq_inner.getParentNode() to make it work better with Five. This fixes #4705. http://dev.plone.org/plone/ticket/4705 [limi]
  • Review history was not valid XHTML, a block-level element was nested inside an inline element. This fixes #4926 and #4586 (hopefully, seems to work in my local testing). http://dev.plone.org/plone/ticket/4926 http://dev.plone.org/plone/ticket/4586 [limi]
  • Made the “click here to see full size image” and size text on images invisible when printing the image. This fixes #4698. http://dev.plone.org/plone/ticket/4698 [limi]
  • Harmonized table-less and table-based skin, the former was using a special getBodyTagClass which has an existing equvalent in the normal skin anyway. Deprecated the special file used for this, it will disappear in Plone 2.5. This fixes #3915. http://dev.plone.org/plone/ticket/3915 [limi]
  • Inserted missing conditional check for the location of an event - no longer shows the location field if it has no value. [limi]
  • Fixed #4695 - Comments were connected to the wrong object. http://dev.plone.org/plone/ticket/4695 [morphex]
  • Fixed #4998 - Russian characters were not supported by normalizeUnicode. Thanks to Xenru. http://dev.plone.org/plone/ticket/4998 [stefan]
  • Fixed the Internet Explorer visual bug where portlets would gradually lose their left margin and move further and further to the left the more elements were contained inside the portlet. http://dev.plone.org/plone/ticket/4874 [limi]
  • Fixed #4996 - favorites_view.pt had duplicated calls for ‘document_actions’ macros. http://dev.plone.org/plone/ticket/4996 [spliter]
  • Plone was showing the editable border on all content items when you were logged in as a Member. This was fixed by removing the check for ‘Copy or Move’ in the code that determines whether the editable border should be rendered. [limi]
  • Fixed #2295 - text on printing was cropped on the right in all browsers when the tableless layout is used. http://dev.plone.org/plone/ticket/2295 [spliter]
  • ‘external_edit’ link wouldn’t work for files with spaces in name due to use of ‘url_quote_plus’. The correct function to use is ‘url_quote’. [sidnei]
  • Fixed #4859 - strftime error in calendar_macros.pt. http://dev.plone.org/plone/ticket/4859 [hannosch]
  • Fixed #3268 and #3746 - some status messages included all changed objects which could break IE as it supports only a limited URL length. http://dev.plone.org/plone/ticket/3268 http://dev.plone.org/plone/ticket/3746 [hannosch]
  • Replacing all references to “portal” in the UI with “site” with same consequences as outlined below. [limi]
  • Replacing “Member” with “User” everywhere in the UI (except in words like “membership”). Hanno has been notified, and this should not have any impact for i18n people, but they should be notified in case they made a distinction between member and user in their translations. I know most translations I have seen didn’t. [limi]
  • Added CMFPlone.utils._unrestricted_rename() by copying from ATCT migrations. _unrestricted_rename() allows to rename objects without going through _verifyObjectPaste(). [stefan]
  • Fixed #4657 and #4829 - wrong icon path in livesearch. http://dev.plone.org/plone/ticket/4657 http://dev.plone.org/plone/ticket/4829 [hannosch]
  • Added PIL version to control panel version overview as suggested in #4775. http://dev.plone.org/plone/ticket/4775 [hannosch]
  • Fixed #4803 and #4943 by only deleting existing text indexes when the lexicon is missing (e.g. when we actually have a new catalog being created). http://dev.plone.org/plone/ticket/4803 http://dev.plone.org/plone/ticket/4943 [alecm]
  • Fixed #4898 - migrations would break if the Plone Site was configured to not allow all content types. http://dev.plone.org/plone/ticket/4898 [stefan]
  • Fixed #4951 by overriding the ‘sl’ global define in prefs_main_template.pt http://dev.plone.org/plone/ticket/4951 [alecm]
  • Updated favorites portlet to the new portlet style. [ctheune]
  • Fixed #4800 - hardcoded review_state variable breaks custom workflows. http://dev.plone.org/plone/ticket/4800 [hannosch]
  • Fixed #4938 - member portraits were referenced using the username instead of the member id in a few places in the membership tool. http://dev.plone.org/plone/ticket/4938 [wichert]
  • Combined the support for publishing subobjects in content_status_history.cpt with the support for bulk publishing. The old behaviour showed, but didn’t use, the checkbox for publishing subobjects when you published a folder directly. [ctheune]
  • Send correct password in the registry notification mail even if the stored password are encrypted. [panjunyong]
  • Updated externalEditorEnabled.py to comply with WebDAV changes in Archetypes 1.3.6. [hannosch]
  • Fix unit test relying on user folder storing passwords in plain text. This isn’t anymore the default for Zope 2.9. Changed to test authenticate. [hannosch]
  • Some code cleanup, mainly removal of unused imports. [hannosch]
  • Fixed #4894 - Missing closing quote in LiveSearch pop-up. http://dev.plone.org/plone/ticket/4894 [stefan]
  • Send new generated plain password via email directly when reset password, but not the one stored in userfolder since it could be encypted. Also use getProperty to retrieve email address for better LDAP integration. [panjunyong]
  • Made plonifyAction be called with an existing default_tab parameter. [deo]
  • Changed selectedTabs.py to use full URL instead of content path when computing whether or not a portal_tab action is being viewed. This causes portal tabs to behave correctly when the action refers to a specific template. [rafrombrc]
  • Removed skins/plone_3rdParty/CMFTopic from filesystem and written migration to remove it from all skins. [hannosch] [limi]
  • Removed unused errorMessages.py script. [hannosch]
  • Removed some BBB code for Zope 2.6 (try/except on DateTimeError). [hannosch]
  • Added accessibility instructions for Konqueror. [limi]
  • Remove so called ‘ie7’ from third party skins and all references to it. [limi] [hannosch]
  • Make Plone 2.1 degrade more gracefully on a non-migrated 2.0 site (special fixes for plone.org). [sidnei]
  • Fixed #4788 - Missing i18n for livesearch ‘no matching results found’. http://dev.plone.org/plone/ticket/4788 [hannosch]
  • Fixed small bug in searching users from prefs_users_overview. In case of searchstring field contained something, click to ‘Find all’ does not find all users, but only users specified by the search string. [naro]
  • Changed folder_contents.pt so that it honors the ‘typesUseViewActionInListings’ setting in site_properties for ALL types (was only working for non-folderish types before). [rafrombrc]

Plone 2.1.1 - Coloma - Released October 13, 2005

  • Made the ExtendedPathIndex migration apply to all EPI from any ZCatalog instance in the portal root. Should fix issues with migrating CMFMember instances. [alecm]
  • Fixed #4587 - workflow history displays author’s full name instead of author’s id and link to author page instead of home folder (to be in sync with document byline). Added colored transition names as a free bonus. http://dev.plone.org/plone/ticket/4587 [naro]
  • Fixed #4690 - user can’t change password after initial login (with ‘validate email’ set). http://dev.plone.org/plone/ticket/4690 [naro]
  • Fixed #4777 - ‘portlet_navtree_macro_opt’ call in sitemap.pt. http://dev.plone.org/plone/ticket/4777 [hannosch]
  • Fixed #4722 the SecureMailHost migration was test-free and not very cautious. http://dev.plone.org/plone/ticket/4722 [alecm]
  • Refixed #4639 by checking the presence of the property without acquisition and then using it only if it exists on the object, but allowing full acquisition if the property is there. http://dev.plone.org/plone/ticket/4639 [alecm]
  • Added migration to the new ExtendedPathIndex structures. [alecm]
  • Fixed #4760 by making our GroupsTool reindex the group folder when it is newly created. http://dev.plone.org/plone/ticket/4760 [alecm]
  • Fix DeprecationWarnings resulting from CMFCorePermissions imports by importing from new permissions modules instead. [hannosch]
  • Fixed #4766 - RSS feed in Firefox did not work properly. http://dev.plone.org/plone/ticket/4766 [naro]
  • MimetypesRegistry wasn’t correctly handling ‘globs’ from shared-mime-info database, resulting in failure from detect correct mimetype based on extension on Windows platform. A migration was added to fix existing MimetypesRegistry instances. [sidnei]
  • Added first migration to 2.1.1. [sidnei]
  • Fixed #4704 - string.whitespace is not ASCII only on OpenBSD, which resulted in problems in UnicodeNormalizer. http://dev.plone.org/plone/ticket/4704 [hannosch]
  • Fixed #4708 - portlet_events “upcoming events” link broke if events folder was renamed or deleted. http://dev.plone.org/plone/ticket/4708 [hannosch]
  • Fixed #4755 - folder_factories does not link to folder_constraintypes_form like add item menu does. http://dev.plone.org/plone/ticket/4755 [hannosch]
  • Removed out-of-the-box TextIndexNG2 support from Plone. TextIndexNG V2 and V3 has explicit migration code to convert ZCTextIndexes to TextIndexNG V2|3 instances on request. This fix should resolve bug #4713. http://dev.plone.org/plone/ticket/4713 [ajung]
  • Fix broken discussion_reply_form.cpt. [hannosch]
  • Reverted some non-literal msgids introduced in Python code to literal msgids as i18ndude is not capable of handling these right now. We’ll have to wait for Zope3-style MessageID’s. [hannosch]
  • A number of micro-optimizations. The biggest winners are precompiling the regexes used in normalizeString at startup, and switching the navtree to use a recursive macro rather than recursively calling a page_template. The rest of the changes involve making sure that the global_defines are used rather than being re-executed/acquired, and removing repeated attempts to acquire the same object in a tal:repeat. Added two new global defines, one for the normalizeString method, which is used very frequently (usually in loops) so that the method lookup is avoided, and another for isViewTemplate which uses an expensive script which was being called twice per page. [alecm]
  • Optimizing normalizeString slightly by moving a list concatenation out of the methods scope. [hannosch]
  • Significantly speed up toLocalizedTime calls. We try to get the needed format identifiers first and only calculate the real values for those instead of calculating all values on every call. This safes a lot of quite expensive DateTime.strftime() calls. [hannosch]
  • Corrected lots of conflicting (swallowed) default texts for i18n msgids. Found by new i18ndude feature. [hannosch]
  • Removed unnecessary use of ‘SESSION’ in ‘folder_contents’ and ‘logout_form’. [sidnei] [alecm]
  • Converted plone_javascript_variables.js from DTML to PageTemplate to make it better suited for i18n. [fschulze]
  • Cleaning up markup around i18n:name with tal:omit-tag=”” to prevent double span tags and some general markup improvements. [hannosch]
  • Fixed calendar portlet to show abbreviated weekday names when no translation service is available. [alecm]

Plone 2.1 - Plaid - Released September 6, 2005

  • Added deprecation warning for DTML in CSS. We will most likely get rid of this in Plone 3.0 or 3.5 to reduce complexity. If we are going to support variables in CSS, ResourceRegistries should handle it, not DTML. [limi]
  • Fixed #4639 by using aq_explicit instead of aq_base when getting Title for pretty_title_or_id. This means that objects which rely on acquisition in their Title() methods will need to do so explicitly, though getToolByName and aq_parent will work without issue. http://dev.plone.org/plone/ticket/4639 [alecm]
  • A bug that caused the month display to use the day number was fixed. Thanks to Mohsen Moeeni for finding this bug. [longsleep]
  • Fixed #4638 by making the workflow title methods more fault tolerant. http://dev.plone.org/plone/ticket/4638 [alecm]
  • Fixed #4624 - document byline on events were not translated. http://dev.plone.org/plone/ticket/4624 [hannosch]
  • Fixed #4635 - LiveSearch background did not apply the IE fix if there was no result set. Thanks Wichert. http://dev.plone.org/plone/ticket/4635 [limi]
  • Fixed #4612 by granting the ‘View Groups’ permission to all Members at the portal root. http://dev.plone.org/plone/ticket/4612 [alecm]
  • Fixed #4589 by adding some tal:conditions in a few templates. http://dev.plone.org/plone/ticket/4589 [alecm]
  • Reordered the object button actions. [alecm]
  • Removed the printing of link addresses along with the link text since it triggers a lot of display-related bugs when printing certain types of documents. Left the code in there, so just uncomment it if you want the feature back. Too painful for the generic use case, though. [limi]
  • Removed the “blah’s Home” title for the member folder default title. It doesn’t make sense in multilingual sites, and doesn’t add any useful information. The home folder now has a title that is simply the username. [limi]
  • Enabled editable border for the Members folder. [limi]
  • Provide compatibility with Five 1.1 regarding i18n. Five’s TranslationService has no unicode aware utranslate method, so we have to force a fallback to PTS or everything using utranslate including ulocalized_time won’t get translated. [hannosch]
  • Provided descriptive titles for translation_service, mimetypes_registry, and portal_transforms tools. [stefan]
  • Login and saving of login times now also works if members do not have the “Set own properties” permission. [stefan]
  • Made sure that if you have an INonStructuralFolder inside another, you don’t get an add menu for the parent non-structural folder. [optilude]
  • Made sure the cmf_legacy skin layer comes last, after all the Plone layers. [stefan]
  • Added Kupu image alignment classes. Thanks, Nate. [limi]
  • Fixed various spacing issues in discussions rendering. [stefan]
  • In skins/plone_login/logout.cpy, $-quoted a string that was being taken from REQUEST and inserted into a TALES ‘string:’ expression. This REQUEST string could be manipulated by the browser. [rochael]
  • Fixed #4530 - type name not translated if only one type is shown in global_contentmenu. http://dev.plone.org/plone/ticket/4530 [hannosch]
  • Adding some padding to the “display” menu header if the menu is disabled because of an index_html document. Closes #4534. http://dev.plone.org/plone/ticket/4534 [optilude]
  • Made Summary View the default view for the news topic. [alecm]
  • Fixed #4499 - removed vestigial failsafe_login.pt.metadata. http://dev.plone.org/plone/ticket/4499 [hannosch]
  • Fixed #4484 - ‘My Preferences’ action title is ‘Preferences’ in 2.1. http://dev.plone.org/plone/ticket/4484 [hannosch]

RC3 - Released August 18, 2005

  • Changed the copy action to be restricted by ‘View’ as ‘Copy or Move’ is generally available to anonymous even when ‘View’ is not. [alecm]
  • Fixed #4502 by reverting to the old nasty deprecated _usage method of doing things. This should be cleaned up once zope 2.7.8/2.8.2 comes out and make_query is fixed. queryCatalog automatically converts the _usage style queries into proper dict based queries, but it’s still bad form. http://dev.plone.org/plone/ticket/4502 [alecm]
  • At the request of the i18n team I renamed Tile View to Summary View, since this is easier to translate. If you are running an SVN checkout between RC2 and RC3, please re-run migrations from RC2 to get the right template name and reference. [limi]
  • Added explicit permission checks to prefs_users_overview and prefs_groups_overview to prevent unnecessary exposure of sensitive roles and groups security information (see #4491). http://dev.plone.org/plone/ticket/4491 [rafrombrc]
  • Added ‘raiseUnauthorized’ python script to plone_scripts as a convenience for Unauthorized exceptions to be raised from within page templates. [rafrombrc]
  • Fixed #4449 by removing direct attribute access from file_view template. http://dev.plone.org/plone/ticket/4449 [alecm]
  • Made the navtree respect the new NonStructuralFolderInterface by checking is_folderish to determine if children should be shown. [alecm]
  • Moved concatenation of actions and content to createTopLevelTabs. The translation of action titles is done there as well now. [fschulze]
  • Fixed several problems in migration of ResourceRegistries. [fschulze]
  • Made news topic sort on effective date, reversed. [alecm]
  • Moved the news and events topics to the toplevel and removed the folders. If the folders had content they were renamed to old_news/events. [alecm]
  • Made all object_buttons act on parent folder when the current object is the default page. Made paste target respect the NonStructuralFolder declaration. Made the delete alert message stronger for folders and default pages in folders. [alecm]
  • Added marker interface INonStructuralFolder which allows a type to declare that it is a folder for implementation purposes only and should not be treated as such by Plone’s tab generation and other is_folderish metadata. This is necessary to permit folderish-as-implementation types to not generate portal tabs at the portal root or link to folder_contents from a parent folder folder_contents, as well as ensure the correct functioning of the contents tab (displayContentsTab.py). [optilude]
  • Fixed #4361 - OverflowError when converting to Date(Range)Indexes. http://dev.plone.org/plone/ticket/4361 [stefan]
  • Fixed #4366 - The envelope-from for send-to and comments is now set to the site admin’s email ID rather than the apparent From ID entered on the form http://dev.plone.org/plone/ticket/4366 [bitranch]
  • Fixed #4370 - duplicate ‘sharing’ tab on portal root. http://dev.plone.org/plone/ticket/4370 [optilude]
  • Several fixes and workarounds for right to left rendering. [fschulze]
  • Fix #4433 Changing workflow state in review_history gives KeyError: ‘comments’. http://dev.plone.org/plone/ticket/4433 [hannosch]
  • Fix #4456 wrong title on columns.css. http://dev.plone.org/plone/ticket/4456 [hannosch]
  • Added past events sub-topic events_topic/previous, and restricted the primary events topic to show only upcoming events. [alecm]
  • re-added javascript_head_slot and css_head_slot to prefs_main_template, so that preference templates can add javascript and css like other templates can again. [elvix]
  • Uncluttered the ‘language’ mess in the templates define. [deo]

RC2 - Released August 10, 2005

  • Renamed PloneTool.getOwnerId() to .getOwnerName, and made it return the username instead of the userid, which is importand for user sources where the username != userid. [rochael]
  • Removed empty div/li in navigation tree caused by parentMetaTypesNotToQuery [panjunyong]
  • Only show search syndication when site syndication is enabled. [alecm]
  • Optimize the portlet_calendar again for some speed. [hannosch]
  • Don’t expand parentMetaTypesNotToQuery item in sitemap. Need more tuning. [panjunyong]
  • Enable syndication in new plone instances and all topics by default. Turn off syndication tab. Rename rss action. [alecm]
  • Fixed #4407 by making folder_contents link to folder_contents for all folderish types. http://dev.plone.org/plone/ticket/4407 [alecm]
  • Fixed #4376 untranslated ‘add type’ buttons. http://dev.plone.org/plone/ticket/4376 [hannosch]
  • Don’t clear css and javascript registries on migration from 2.0.5. [fschulze]
  • Evaluate queryCatalog in the catalog context in getFolderContents, so that Smart Folders (which override queryCatalog for some silly reason) can still use it. [alecm]
  • Added workaround for #4372 which is due to a strange behavior in the Firefox alpha. Thanks to jenner for hunting this down and contributing the fix. http://dev.plone.org/plone/ticket/4372 [alecm]
  • Addresses #2029. Now support through UI for grouping groups. UI does not allow a group to be added to itself or for a member (group or user) of a subgroup to be added to a group. Some text changed to reflect changes. http://dev.plone.org/plone/ticket/2029 [gerry_kirk]
  • Changed View permission restrictions on folder_constraintypes_form and ownership_form. Requiring Owner restricts access to users with Owner role on the template itself, not the context it is called in. [alecm]
  • Made search.pt respect typesUseViewActionInListings. Fixes part of #4373. http://dev.plone.org/plone/ticket/4373 [alecm]
  • Made syndication use the max_items property of the instance if set, not the tool. [alecm]
  • Added ITranslatable support to getDefaultPage. [deo]
  • Added testMissingPageIgnored to verify inexistent ids in default_page. Fixed a missing object in testFixFolderlistingActionNoTool. [deo]
  • Fixed #4382 by removing unnecessary getUser call. http://dev.plone.org/plone/ticket/4382 [alecm]
  • Fixed #4381 by using getProperty to access listed and last_login_time properties in searchForMembers. http://dev.plone.org/plone/ticket/4381 [alecm]
  • Fixed bug trigerred when reindexing order in a folder with improperly deleted content (i.e. when brain.getObject() returns None in plone_utils.reindexOnReorder(folder)). [alecm]
  • Readded current_page_url to global_defines for backwards compatibility. [alecm]
  • Removed unnecessary and lazy uses of global in tal expressions. [alecm]
  • Fixed bug: can’t view a page with unauthoried related items. [panjunyong]
  • document_relateditems are sense of typesUseViewActionInListings now. [panjunyong]
  • Fixed bug: setting local role acquization works wrong with non-folderish content. [panjunyong]
  • Removed reindex method from CatalogTool.py since it is redundant and as of CMF 1.5.3 differs in signature from the base type’s method. [geoffd]
  • Made language selector visible even if no document actions are defined for the current user [jok2]
  • Don’t require a full name for the site feedback in the contact-info page, as the full name is not required for members. [jok2]

RC1 - Released August 1, 2005

  • Added log.py module and made Plone use only one style of logging (zLOG). There is no logger named ‘Plone’ configured anywhere, so we better not pretend there was. [stefan]
  • Made history table use transition titles instead of ids (requires new portal_workflow method). Also localized dates in that table, and removed duplication of history from content_status_history. [alecm]
  • Commented out markup code for rounded corners in the portlets. The tags like ‘<span class=”portletTopLeft” />’ inside the ‘<dl>’ were destroying the XHTML validation because only ‘<dd>’ and ‘<dt>’ are allowed in a definition list. [tiran]
  • Fixed issue with dashed borders in IE, and applied IEFixes which was going unused. [alecm]
  • Simplified creator checking in folder_listing, as the usage of creators made no sense. Let’s just use Creator and be dones with it. [alecm]
  • Making the “display” menu display the default-page if you are looking directly at a folder that has a default-page (e.g. its contents view) [optilude]
  • Fixing content-type icon display in folder listing, recent portlet etc. [spliter]
  • Fixed bottom of selected tab in IE. [spliter]
  • Added new permission Allow Sendto to Plone. The sendto method, script and action are protected by the new permission. Change the permission in the portal root to prevent certain users like Anonymous to use or abuse the feature. [tiran]
  • Fixed issue that caused Plone/AT Folders contained in a BaseBTreeFolder subclass to inheirt the parent index_html ComputedAttribute and attempt to use that as the default view resulting in a 404. Thanks to tim2p for finding this. [alecm]
  • Fixed #4351 by not relying on getTypeInfo() being available on the object. http://dev.plone.org/plone/ticket/4351 [optilude]
  • Fixed #3906 - header now shows correct mouse pointer cursor when table is sortable. http://dev.plone.org/plone/ticket/3906 [hannosch]
  • Added migration to add new view templates to folderish types (including Smart Folders). [alecm] [limi]
  • Made folder_listing and folder_contents suitable for use as Smart Folder views. [alecm]
  • Fixed #2771 (#4350) using the new isURLInPortal method, which now also returns true on relative URLs. http://dev.plone.org/plone/ticket/2771 http://dev.plone.org/plone/ticket/4350 [alecm]
  • Added default_page_types and removed non_default_page_types. This means That third party-content types that want to be used as default pages need to be added to the list, but it also means that folderish types which generally don’t make any sense as default pages are not allowed by default. Also, made the default page selection form show the currently selected item. [alecm]
  • Added CMF types to types_not_searched. [alecm]
  • Made portlet_recent use types_not_searched to limit returned types. [alecm]
  • Made search form use workflow state titles, and multiple columns for types list. [alecm]
  • Fixed #4345 by checking the flag. http://dev.plone.org/plone/ticket/4345 [alecm]
  • .personal folders will no longer be created. Fixed unit tests which assumed that .personal would be around. [alecm]
  • Closed bug #4344 by limiting the number of items that can be added to the portal status message string when deleting items. This is really more of a usability fix, since we don’t actually check the length of the titles; the full fix for the issue will appear when we merge the improved status message handling. http://dev.plone.org/plone/ticket/4344 [optilude]
  • Fixed #4346 by using the suggested fix. Thanks Tim Hicks. http://dev.plone.org/plone/ticket/4346 [alecm]
  • Fixed plone_javascript_variables.dtml and plone_scripts/translate.py to cope with i18n strings including the ‘ char. [gotcha]
  • Added language to personalize form and put prefs_user_details back in sync with personalize. [alecm]
  • Fixed #1490 by ensuring that sendto only works when the action is visible. http://dev.plone.org/plone/ticket/1490 [alecm]
  • Added an immediateLogout method to MembershipTool.py that resets the current security context and logs the current user out immediately. Used in logout.py [geoffd]
  • Added main macros to templates which may be used as default content views so that they play nicely with discussion_reply_form. [alecm]
  • Fixed #4333 prefs_user_manage now uses portal_membership.deleteMembers instead of acting directly on acl_users. On deletion local roles are now removed, but the member area is preserved. http://dev.plone.org/plone/ticket/4333 [alecm]
  • Added the last missing accesskey to search_form and put in a link below the search box. [hannosch]
  • Reenabled visible_ids memberdata property. This field will determine the visiblity of ids on a member by member basis, only if the sitewide property is enabled. [alecm]
  • Fixed author home page link in author.pt [panjunyong]
  • Change order of folderlisting/view default action determination to fix discussion visibility on folderish AT types. [alecm]
  • Added javascript handler to form submit buttons which warns when the button gets clicked more than once. [fschulze]
  • Fleshed out the contact-info page as a form controller page, making it possible to send feedback as anonymous user and as member (without filling e-mail address and fullname). Also displays the portal description. [jok2]
  • Fixed #4335 added a method to URLTool to determine whther a URL is local to the portal. This will be moved into CMFCore ASAP, pending write access. http://dev.plone.org/plone/ticket/4335 [alecm]
  • Hooked up navtree wf config to the configlet, needs serious UI tweaking. Added a method to the WorkflowTool to list all wf states in the portal. Added a python script that converts a list into a list of sublists for making columns. [alecm]
  • Added properties wf_states_to_show, and enable_wf_state_filtering to navtree_properties. These filter the navtree/sitemap/portal tabs results by workflow state. [alecm]
  • Adding navigation control panel, and fixing a possible Search control panel migration problem in the process. [optilude] [limi]
  • Making the livesearch result truncate title and id, as offered by jeffk in #4329. Thanks for the patch! http://dev.plone.org/plone/ticket/4329 [optilude]
  • Fixed #4324 need to ensure we are passing strings to utranslate. http://dev.plone.org/plone/ticket/4324 [alecm]
  • Added CMFUid tools. CMF 1.5 has a new core product CMFUid which is used to assign and query uids mostly like Archetypes. Products designed for CMF 1.5 might depend on the tools. [tiran]
  • Fixed HEAD requests for folders. The browserDefault code mustn’t look up the template for HEAD requests. Instead it should invoke the HEAD() api method defined in webdav.Collection. This fixes an ATCT bug and #4290. http://dev.plone.org/plone/ticket/4290 [tiran]
  • Made check_id.py prevent method aliases like ‘sharing’ and ‘edit’ as object ids. This fixes #4331. http://dev.plone.org/plone/ticket/4331 [optilude]
  • Implemented accesskeys as per accessibility-info page definition. [hannosch]
  • Made the portal root use the /edit and /sharing method aliases for its ‘edit’ and ‘sharing’ tabs/actions. [optilude]
  • Made the ‘view’ method aliases point to ‘(selected layout)’ instead of ‘(default view)’. This assures consistency with previous behaviour, so that /view at the end of a URL always gets the item itself, ignoring any default-page that may be set. Note that the ‘view’ action still points to ‘string:${object_url}’, so that the ‘view’ tab, as well as the ‘(Default)’ target, still get ‘(dynamic view)’ (and thus default pages) for types other than File and Image. [optilude]
  • Fixed #4327. The live search now honours typeUseViewActionInListings. http://dev.plone.org/plone/ticket/4327 [optilude]
  • Fixed issue #2669. Also made the group prefs suck a bit less. These pages really have to be taken care of in the next release. I also disabled the group search feature in prefs_groups_overview because it made things much worse. It’s no use to have a search box that doesn’t search. So, now groups are shown using their title and descriptions for tooltips. folder_localrole_form also uses this info. This requires a GRUF update!! http://dev.plone.org/plone/ticket/2669 [ender]
  • Changed add to favorites icon in document actions to the appropriate icon. Before it used the site icon while the portal_type uses a heart. They must match and now they do. [ender]
  • Applied patch from #4205. Better check for existance of member folders. Thanks to Tiran. http://dev.plone.org/plone/ticket/4205 [ender]
  • Made the blacklisting control in the search control panel act as a whitelist. That is, new types appear as selected by default and the backing store is a blacklist, but the user selects which type to be searched, not which types not to be searched, which is easier on the mind. [optilude]
  • Created an Actions drop-down menu with cut, copy, paste and delete in there. I know the label is not optimal but I think this is nicer and cleaner. [ender]
  • Fixed #4083. <div class=”visualClear”><!– –></div> to remove whitespace in IE. http://dev.plone.org/plone/ticket/4083 [ender]
  • Fixing #4300 by disabling the content menu when the object is in the factory. PLIP 24 form unload protection takes care of the other cases. http://dev.plone.org/plone/ticket/4300 [optilude]
  • Added link to ownership_form on the sharing page. Changed warning text a bit for when you visit this page for non-contentish items so it shows the title of the portal_type and not the id. The sharing page really needs to be refactored in the next release. [ender]
  • Making prefs_group_members a form controller template, which should be somewhat safer from reported navigation and persistence problems, and makes it possible to replicate the no-search-on-page-load behaviour already added to prefs_users_overview. Group overview pages still not converted, mainly because these templates are a mess. :-( [optilude]
  • Making the images in document_actions.pt have their height and width set with CSS instead of attributes on the image tag. This closes #3823, which advocated using the image’s own height and width. This approach was deemed unnecessary, since we probably want them all to be consistent, and having to traverse to each image is an unnecessary performance hit for something that’ll stay 16x16 almost always. :) http://dev.plone.org/plone/ticket/3823 [optilude]
  • Fixed #4302 using jenner’s template with a few simplifications, and some changes to folder_contents to make reusability even easier. http://dev.plone.org/plone/ticket/4302 [alecm]
  • Finished #1805 without any catalog metadata even. Added a method to WorkflowTool that retrieves a state title given a state id and a portal_type. As a result it can be used for brains and objects alike. http://dev.plone.org/plone/ticket/1805 [alecm]
  • Making member overview preference page not perform a full member search by default, but adding a “Find all” button to find all members if you need this listing. This fixes #2530. The bug also mentions that we could have “Find all” the default behaviour when there are sufficiently few members. However, there has been no followup on how we can efficiently count the number of members, so this is still an open feature request. http://dev.plone.org/plone/ticket/2530 [optilude]
  • Adding display of currently selected default-page to “display” menu and cleaning up markup a bit. Still some CSS work to be done before this is fully OK. [optilude]
  • All icons for content types are now displayed using CSS - closes #3138. http://dev.plone.org/plone/ticket/3138
  • Removed all references to getStateClassName() as this was just a makeshift solution that was used before we got the normalizeString() method in PloneTool. [limi]
  • Hooked up the new HTML-formatted and improved start page [limi]
  • Reverted change to normalizeString as Archetypes relied on it in the title to id autogeneration code. [hannosch]
  • Fixed #3242 added And/Or search option to Subject field on search_form. http://dev.plone.org/plone/ticket/3242 [alecm]
  • Fixed #3211 by updating the permission on PloneTool.setMemberProperties, the other permissions are fixed in CMF 1.5. http://dev.plone.org/plone/ticket/3211 [alecm]
  • Fixed #4242 by updating test. http://dev.plone.org/plone/ticket/4242 [alecm]
  • Fixed inappropriate condition on folder_constraintypes_form. [alecm]
  • Made tableless skin use showEditableBorder, fixed #4291. http://dev.plone.org/plone/ticket/4291 [alecm]
  • Fixed failing unit tests due to cleanupFilename removal. atct’s base.py _setATCTFileContent method relied on getting a false value back from normalizeString when called with None. [hannosch]
  • Removed text size actions, moved Site Setup action to site_actions, and added contact and accessibility site_actions. [alecm]
  • Added in some more character mappings to UnicodeNormalizer that were definied in ATCT’s now removed cleanupFilename method [hannosch]
  • Remove accesskeys as they are interfering with screen reader shortcuts. This fixes #3535. http://dev.plone.org/plone/ticket/3535 [hannosch]
  • Migrated to some nicer workflow state titles. [alecm]
  • Fixed issues related to External Editor action (2939, 3008, 4176), using a script from glenfant. The icon appears only when both ‘Modify portal contents’ and ‘Use external editor’ are available, the user has the a member property set, and the object supports WebDAV editing/locking, and isn’t locked. http://dev.plone.org/plone/ticket/2939 http://dev.plone.org/plone/ticket/3008 http://dev.plone.org/plone/ticket/4176 [alecm]
  • Partial fix for #4272 some missing i18n markup. http://dev.plone.org/plone/ticket/4272 [hannosch]
  • Added ‘Large Plone Folder’ to parentMetaTypesNotToQuey navtree_property. This ensures that large folders will not display their contents in the navtree. [alecm]
  • Fixed #4251. ulocalized_time() fetches all DateTime errors and logs them. http://dev.plone.org/plone/ticket/4251 [tiran]
  • Took care of #4224 by disabling the ZMI ordering interface for the Plone Site object. http://dev.plone.org/plone/ticket/4224 [stefan]
  • Removed PropertyManagedBrowserDefault, and mane the portal root support BrowserDefaultMixin as implemented by CMFDynamicViewFTI. [alecm]
  • Fixed #4216 - migration would add ‘contents’ action more than once. http://dev.plone.org/plone/ticket/4216 [stefan]
  • Changed category of ‘view’ and ‘edit’ actions on ‘Plone Site’ to ‘object’. [alecm]
  • Implemented limi’s suggestion for contents tab. [alecm]
  • Fixed discussion_reply_form to work with CMFDynamicViewFTI stuff. [alecm]
  • Added dummy savepoint method to transaction_.py [tiran]
  • Resurrection of old edit template for CMF content types. It is possible to edit and view old style content types again. These templates should be removed in 2.5. [tiran]
  • Added pretty_title_or_id method to PloneTool which returns the Title or non-autogenerated id, otherwise it returns a translatable default string (or a given default parameter). Made plone use this method (or the helper python script that points to it) everywhere. Currently this incurrs a skin lookup and script call for nearly every content item listed (portlets, listings, etc.). This method could easily be added to catalog metadata if the penalty is too large, with no need to change the templates. However, doing so would loose the translatability of the default string. Something like ‘here/pretty_title_or_id|empty_title’ won’t work as ‘|’ only triggers on an exception, so a python expression would be needed to maintain translatability. [alecm]
  • Added isIDAutogenerated method to PloneTool and deprecated the python script. This method is normally used from FS code and so it belongs in FS code. [alecm]

Beta1 - Released July 7, 2005

  • PloneFolderBase (and hence LargePloneFolder) no longer inherits SkinnedFolder, as SkinnedFolder has OrderSupport in CMF 1.5. [alecm]

  • Moved reindexOnReorder stuff into PloneTool, and use it from the folder_position script. This way non-ATCT/PloneFolder types get proper reordering in the GUI. Order reindex on rename is still not available for custom types. [alecm]

  • Added the phrase “Open Source” to the colophon to keep google happy [geoffd]

  • Fixed #4263 - method alias handling in portal_factory. http://dev.plone.org/plone/ticket/4263 [geoffd]

  • Fixed #4258 - Added support for parentMetaTypesNotToQuery to the navtree. http://dev.plone.org/plone/ticket/4258 [alecm]

  • Use the old fashioned (but badly named) metaTypesNotToList for the navtree blacklist, instead of reinventing the wheel, appending the necessary new values to that list in migration. [alecm]

  • Use a global define for visible_ids so that it is automatically used for custom types. [alecm]

  • Ceiling date patch is obsolete for CMF 1.5 - removed it. [hannosch]

  • Fixed #4247 - remove unused group_submit variable. http://dev.plone.org/plone/ticket/4247 [hannosch]

  • Made it possible to show action icons in personal-bar. [fschulze]

  • Fixed #4229 - Error in sharing tab, roles.append changes a list inplace. http://dev.plone.org/plone/ticket/4229 [hannosch]

  • Fixed #4241 - MembershipTool.py used _checkPermission without importing it http://dev.plone.org/plone/ticket/4241 [hannosch]

  • Added is_default_page index to catalog, and made navtree no longer show objects which are the default page in a folder. [alecm]

  • Fixed a number of security related issues. We cannot assume that we can access attributes of the parent object (this includes using ‘folder’ in actions and ‘aq_parent’ in skins). This fixes viewing visible objects in private folders, and also some PLIP 16 issues. [alecm]

  • Made NavTree use a black list of portal_types not a white list. [alecm]

  • Removed data/navigation_properties that was deprecated in Plone 2.0, as well as the data/ directory. Migrations to remove the property sheet from ZODB has been added before. [vinsci]

  • Refactoring use of __browser_default__() to use CMF 1.5-style aliases and FTIs, with __browser_default__() still being the fallback for old classes. Some tests had to be fixed for this, too.

    Adding aliases for view, edit, properties, sharing. Fixing up some uses of getActionById() which were failing because of these aliases.

    Note that we now depend on fixes to CMFFormController, ATContentTypes and CMFDynamicViewFTI checked in alongside this commit. [optilude]

  • CMF 1.5 Cookie Crumbler distinguishes between login attempt and authorization failure, making require_login obsolete. [stefan]

  • Added a configlet for setting search options, to enable/disable LiveSearch and to set the types_not_searched property. This is requested in #4032. http://dev.plone.org/plone/ticket/4032 [jok2]

  • Moved some interfaces to CMFDynamicViewFTI [tiran]

  • Changed unload protection, so only forms with class=”enableUnloadProtection” are checked. [fschulze]

  • Slight change to navigationParent script so that it won’t fail when a Z3 view is in the acquisition tree [rafrombrc]

  • Added recently_modified page to link to from the recent changes portlet. [ender]

  • Added state coloring in recent changes portlet and search results. [ender]

  • Total rewrite of portlet HTML and CSS. Will keep backwards compatibility until Plone 2.5 is released, though. The old div-based layout is deprecated in favor of a more light-weight markup using definition lists and allowing interesting skinning variations - round corners using CSS, for example. It also has bigger click areas, making it easier to navigate the portlets. [limi]

  • Changed dropdowns slightly, now the activated/deactivated class is set on the dl, not on the dd. When javascript is disabled, the dropdowns don’t have an arrow anymore. [fschulze]

  • Simplified collapsibles, this involves new markup. This fixes #4035 - “Collapsible fieldsets take up too much space”. http://dev.plone.org/plone/ticket/4035 [fschulze]

  • Fixed PloneFolder.manage_delObjects() so it returns to the ZMI. Thanks to George Geller. [stefan]

  • Moved some interfaces to CMFDynamicViewFTI [tiran]

  • Removed plone prefix from stylesheets, only ploneCustom.css is kept. [fschulze]

  • Refactored the dropdown menu. It’s using css classes for styling of visibility. This involves new markup for the menus. Fixes #2793 - ADD ITEM MENU cuts some entries. http://dev.plone.org/plone/ticket/2793 [fschulze]

  • Tiny change to the nav tree code in PloneTool.py so the nav tree won’t barf when there is a Z3-style view class in the acquisition hierarchy [rafrombrc]

  • Some i18n markup corrections after loginageddon and one metadata file in the wrong place, fixed #4197. http://dev.plone.org/plone/ticket/4197 [hannosch]

  • Loginageddon! Moved login, logout, and registration-related forms and scripts to the new plone_login skin. Converted login forms and scripts to formcontroller forms and scripts. Moved cookie testing and related javascript from login_form into login.js. Made the cookie test messages internationalizable. Made login sequence fail more gracefully when cookies are disabled. Added nice error messages that explain why a login failed (e.g. no login name, no password, and (optionally) login name not found). The login name not found test can be enabled/disabled via a new site_property, verify_login_name. Fixes 2408, 2458, 2250, and 3335. http://dev.plone.org/plone/ticket/2250 http://dev.plone.org/plone/ticket/2408 http://dev.plone.org/plone/ticket/2458 http://dev.plone.org/plone/ticket/3335 [geoffd]

  • Fixed #3018 - no duplicate id=”portal-footer”. http://dev.plone.org/plone/ticket/3018 [hannosch]

  • Added filtering of tests to ECMAScript Unit Tests. [fschulze]

  • Add cssQuery.js to portal_javascripts when installing or migrating. [fschulze]

  • Moved 3rd party ecma scripts like sarissa, livesearch, ecmaunit and vcXMLRPC to plone_3rdParty. 3rd party code will be included by an svn:external rule soon. [tiran]

  • Reactivated alternate font size stylesheets. [fschulze]

  • Added some missing i18n markup. Fixed ZChecker error regarding ‘>’ [hannosch]

  • Fixed migrations of older instances caused by the ResourceRegistries refactoring. If you updated and migrated while this was still broken, then you might have to force a migration from alpha2 or even alpha1. [fschulze]

  • Added framework for ECMAScript Unit Tests. [fschulze]

  • Partially fixed #4077 and #3535 accesskeys are properly definied now, but still need to be changed to numeric values. http://dev.plone.org/plone/ticket/3535 http://dev.plone.org/plone/ticket/4077 [hannosch]

  • Fixed #2414 all literal msgid’s converted to non-literal. http://dev.plone.org/plone/ticket/2414 [hannosch]

  • Merged plip83-kupu-integration r7083:7084 into 2.1 branch. [stefan]

  • Fixed #1382 - Redirection after login has been changed. Original behavior is to strip any query string passed before redirecting. Now, if query string exists (such as when coming from discussion_reply_form.pt), don’t strip it off. http://dev.plone.org/plone/ticket/1382 [briang]

  • Fixed #2756 - portlet_calendar localization is working now. had to introduce a new method on the calendar_tool to get the correct daynumbers. http://dev.plone.org/plone/ticket/2756 [hannosch]

  • Fixed #3365 calendar_slot.pt has been moved to plone_templates/calendar_macros.pt and cleaned up. http://dev.plone.org/plone/ticket/3365 [hannosch]

  • Fixed #4136 - you couldn’t pick january or the first of a month with the js date picker, reflected changes in the tests. http://dev.plone.org/plone/ticket/4136 [hannosch]

  • Fixed #3256 - Plone Config -> Add/Remove Products: Added “product filesystem version” in the message displayed for products that need updating. http://dev.plone.org/plone/ticket/3256 [briang]

  • Fixed #4164 the getIcon and getTypeInfo calls were no longer needed. http://dev.plone.org/plone/ticket/4164 [alecm]

  • Fixed #4055 by returning an empty list in getAddableTypesInMenu if the View permission is not available. http://dev.plone.org/plone/ticket/4055 [alecm]

  • Fixed #4114 by adding new criteria to the news and events topics. http://dev.plone.org/plone/ticket/4114 [alecm]

  • Fixed #4149 - incorrect tal:define for locked items in the byline. Thanks to Raphael Ritz for the fix. http://dev.plone.org/plone/ticket/4149 [optilude]

  • Removed review_state=’published’ from the query for author page and navigationLocalRelated. Catalog deals with permissions already. http://dev.plone.org/plone/ticket/2304 [ender]

  • Fixed #3714. Use ACTUAL_URL to skip to content. http://dev.plone.org/plone/ticket/3714 [ender] [neaj]

  • Fixed #4137 by introducing a keyword argument ‘show_inactive’to CatalogTool.searchResults and queryCatalog which disables expiry filtering. Also granted the ‘Access inactive portal contents’ permission to Owner in migration, and made getFolderContents to pass the ‘show_inactive’ parameter when the current user has that permission on the relevant folder. http://dev.plone.org/plone/ticket/4137 [alecm]

  • Introduced a Zope 2.8-style transaction module. Plone code should now use ‘from Products.CMFPlone import transaction’ which will work in Zope 2.7 and Zope 2.8. [stefan]

  • Moved transaction_note, base_hasattr, safe_hasattr, and safe_callable to the utils module. Got rid of AT-style shasattr. Fixed safe_callable and made sure we use our version of safe_callable throughout. [stefan]

  • Fixed #3410 by declaring enumConfliglets public. The method does its own security checks for each configlet action. http://dev.plone.org/plone/ticket/3410 [alecm]

  • Fixed index_html hack to return 404 for requests other than (PUT, HEAD, GET, POST). [sidnei]

  • Updated “my folder” action to point straight to folder, not to folder_contents [optilude]

  • Changed ‘batch’ action which was previously hidden by a condition in global_contentmenus to use a pair of actions, batch and nobatch, with mutually exclusive conditions. This effectively creates a toggle, which is much more sensible than having to click the ‘view’ tab to get back. [optilude]

  • Fixed #3688 and added a test. Also added a test to ensure that portal_factory respects PLIP 16 local role inheritance. http://dev.plone.org/plone/ticket/3688 [geoffd]

  • Fixing markup to make zchecker happy and changed table summaries to use non-literal msgids, plus some minor i18n changes. [hannosch]

  • Fixing #4106 - arrow is in wrong direction in breadcrumbs when using RTL sites. When using mixed RTL and LTR content, the order is jumbled, though - not sure if this is common in those languages. http://dev.plone.org/plone/ticket/4106 [limi]

  • Fixed #4089 - fix some i18n markup. http://dev.plone.org/plone/ticket/4089 [hannosch]

  • Fixed #2659 - using patch by fschulze. http://dev.plone.org/plone/ticket/2659 [alecm]

  • Fixed #4049 - the template showing the discussion threads at the bottom of an item’s view template now has a more sensible check to make sure it picks the correct view template. http://dev.plone.org/plone/ticket/4049 [optilude]

  • Fixed #3279 integrate new jscalendar 1.0. http://dev.plone.org/plone/ticket/3279 [hannosch]

  • Overrode listTypeInfo from CMFCore.TypesTool. The original method was doing security checks on the TypeInformation objects themselves in addtion to the isConstructionAllowed test. This was very expensive and only useful if someone had set custom security restrictions on some TypeInformation objects in the types tool through the ZMI. I cannot see a reasonable reason for someone to do such a thing. Also, removed a check for null TypeInfo.getId(), as this will never happen, if it does it’s a bug in and of itself and shouldn’t be ignored. Also, changed the check shich ensures that our objectValues() are TypeInfoish to use the clear and sane interface.isImplementedBy(obj) instead of the getattr(aq_base(type),’_isTypeInformation’,0) it was using before. [alecm]

  • Fix browserDefault() in PloneTool so that images and files work, and there are less wtf moments. Look at

    http://plone.org/documentation/manual/plone-developer-reference/

    specific-areas/content-types/zope-to-browser

    for details on how the implementation works.

  • Make object paste button act on parent folder for folderish default pages. [alecm]

  • Fixed folder_contents listing table in RTL stylesheet (#4155). http://dev.plone.org/plone/ticket/4155 [andrewb]

Alpha2 - Released May 25, 2005

  • Fixed the way newsitem_view.pt tests for the (optional) image thumbnail. [tiran]

  • Disabled HTTP compression for .css and .js files by default. You can turn it on by editing skins/plone_scripts/enableHTTPCompression.py. [stefan]

  • urlquote the external_edit path to make exteranl editor work with Chinese id better [panjunyong]

  • Fixed some syndication breakages, and added unit tests for portal_syndication. [alecm]

  • Fixed #4081 changed ‘Plone Setup’ to ‘Site Setup’. http://dev.plone.org/plone/ticket/4081 [limi] [alecm]

  • Fixed #2850 added on-error handler to portlet_fetcher, currently provides no traceback as tracebacks are not accessible from untrusted code. http://dev.plone.org/plone/ticket/2850 [alecm]

  • Fixed #2586 changed MembershipTool.getCandidateLocalRoles() to use member.getRolesInContext(obj) instead of member.getRoles(), and to use obj.valid_roles() instead of MembershipTool.getPortalRoles(). This allows loal managers to assign any role, and allows all managers to assign roles that exist only locally and not at the plone root. A side- effect is that roles defined in the zope root and other folders beneath the portal root will be available as well, just as they are in the ZMI. http://dev.plone.org/plone/ticket/2586 [alecm]

  • Merged PLIP 98 - Scripted Translation Service Interface. This adds a ‘translation_service’ tool to Plone which replaces the not-quite-sane methods in CMFPlone.utils. UnicodeDecodeErrors should now crop up significantly less often. [longsleep] [stefan]

  • Fixed #3267 removed invalid transition validity test using the fix by blueszhao in the issue. http://dev.plone.org/plone/ticket/3267 [alecm]

  • Applied #4052 titleToNormalizedId (normalizeString) improvement. Object id from title generation should now work with most accented characters. It is possible to define custom normalizations in UnicodeNormalizer.py. http://dev.plone.org/plone/ticket/4052 [naro]

  • Added styles that make the editing widgets look more like their view counterparts. [limi]

  • Make portlet_favorites work again and use the catalog like everything else. Also, use the addable types restrictions in users’ Favorites folders. [alecm]

  • Fixed an obvious issue at global_defines when there’s no portal_tabs actions. [deo]

  • Made external editing a user preference. It defaults to the setting in the memberdata tool. Migrations should work as well. [ender]

  • Showed icon in byline to change ownership. [ender]

  • Added jscript that hides traditional add items pull-down in folder_contents. [ender]

  • Major refactoring of the CSS, removed all the old navtree classes, made most of the templates use the new auto-generated ‘contenttype-*’ classes, and lots of other CSS fixes and tweaks. Described the pitfalls for Internet Explorer “here”:http://plone.org/documentation/how-to/flickering-background-images-internet-explorer [limi]

  • Disabled ‘Add to favorites’ action until favorites are refactored in future plone versions. [ender]

  • Modified labels in personal bar. Removed ‘my this’ and ‘my that’. It’s already a personal bar. [ender]

  • Renamed titleToNormalizedId to the variation prefered by limi normalizeString() [alecm]

  • Fixed #4062 - made history_form show true causes for an empty page, rather than always assuming that the error is due to missing Historical interface http://dev.plone.org/plone/ticket/4062 [alecm]

  • Added automatically generated classes for content types. You can now always get a class “contenttype-news-item” for every content type installed. It is normalized according to the same rules as IDs. [limi]

  • Replaced registered_notify_template and mail_password_template DTMLs with page templates. See #3483. http://dev.plone.org/plone/ticket/3483 [dpunktnpunkt]

  • More spring cleaning: Removed the implicit removal of underlining links - Plone now specifies explicitly when it wants the link to not have an underline, and defaults to having it, like the good HTML citizen it is. Some products may get underlines on links that didn’t have them before, but this should be trivial to fix, and is worth it in the long run. [limi]

  • Finally removed all implicit margins from Plone’s input elements - if this leads to some slight disturbances in the force (ie. some of your form elements have explicit margins added to compensate for the old behaviour), I apologize - but this has been around since Plone 1.0, and is just very confusing when you use the form elements. Should be easy to adjust in your Product - just remove the margins you added to the input tags. [limi]

  • The tag rendering the description attribute is left out if there’s no description, it also uses a paragraph tag instead of a div now. Resolves #3841. http://dev.plone.org/plone/ticket/3841 [limi]

  • Added icons for feed:// and webcal:// links. [limi] [elvix]

  • Fixed #2844 - made WorkflowTool.getTransitionsFor return the action_url. This is not currently used for the content menu, but it does allow developers to access this information for tighter control over transitions for custom workflows. Added new testWorkflowToool.py with one lonely test. http://dev.plone.org/plone/ticket/2844 [alecm]

  • Fixed #2867 put the list reversal in content_status_history in the proper place. http://dev.plone.org/plone/ticket/2867 [alecm]

  • Fixed #2416 by updating document_byline to use the portal script. Changed the isExpired script to prefer the DC Metadata accessor ‘ExpirationDate’, but fall back on ‘expires’. Also, it now uses safe_callable to determine whether we have an accessor or catalog metadata, rather than strange looking exception handling. http://dev.plone.org/plone/ticket/2416 [alecm]

  • Changed the bogus ‘ExipresDate’ metadata from CMFCore to the DC ‘ExpirationDate’ during migration. [alecm]

  • Added safe_callable method to __init__.py. This is acquisition and ConfilctError safe (it uses shasattr), and should be used in place of callable() when possible. [alecm]

  • Add ‘shasattr’ from Archetypes.utils to __init__.py, make the existing ‘base_hasattr’ a wrapper around this safer more flexible method. Please use this in python scripts and elsewhere in place of ‘hasattr’ which has serious potential issues. Can be imported with ‘from Products.CMFPlone import shasattr’. [alecm]

  • Fix livesearch_reply and queryCatalog so that they quote parentheses. Otherwise a parse error is thrown. Fixes #3067 the other listed characters from the Silva bug report don’t appear to cause problems. Also, apply quote_logic if enabled to Title and Description text searches, not just SearchableText by default. http://dev.plone.org/plone/ticket/3067 [alecm]

  • Made the livesearch_reply query a little less strange. It used to turn ‘my dumb query’ into ‘my* and dumb* and query*’ which is strange, now it just does ‘my AND dumb AND query*’. Also, the more link was just doing ‘my+dumb+query’, which results in an entirely different set of results than shown in the dropdown, now it uses the same query as the dropdown. [alecm]

  • Use plone_utils.getUserFriendlyTypes() to do type restriction on LiveSearch just like everywhere else. [alecm]

  • Remove permission check in search_form, there’s no reason to disallow review_state seraches to users that are not granted ‘Review portal contents’ on the portal root. The catalog enforces ‘View’ security just fine. Resolves #2175. http://dev.plone.org/plone/ticket/2175 [alecm]

  • PloneTool._makeTransactionNote() now uses the site encoding not UTF-8. [alecm]

  • Made folder_cut, folder_copy, folder_paste, and folder_position redirect to the originating template not hardcoded folder_contents. [alecm]

  • Fixed #850: Allow discussions to be closed. I changed viewThreadsAtBottom to list existing discussion items even if discussion is disabled. This requires our own portal_discussion.getDiscussionFor, because CMFDefault’s raises DiscussionNotAllowed on this get operation.

    I also added a check for portal_discussion.isDiscussionAllowedFor in validate_talkback because, funnily enough, DiscussionNotAllowed isn’t raised on createReply in DiscussionItem when it’s turned off. http://dev.plone.org/plone/ticket/850 [dpunktnpunkt]

  • Added a getGroupInfo() public method to the portal_groups tool, like getMemberInfo() in portal_membership tool. [gerry_kirk]

  • Made the navTree breadcrumbs and folder based portal tabs use the new, typesUseViewActionInListings property to determine the appropriate url. Also, added some extra unit tests for the above PloneTool methods. This and the previous entry should resolve issues #928 and #2373. http://dev.plone.org/plone/ticket/928 http://dev.plone.org/plone/ticket/2373 [alecm]

  • Added a new typesUseViewActionInListings property in site_properties which can be used for types whose immediate view is not desirable to link to from folder_contents or folder_listing (currently Image and File). Also, typesLinkToFolderContentsInFC is no longer used, and listing templates have been simplified a bit. [alecm]

  • Gave a title to the Favorites folder. [alecm]

  • Refactored the way portal discussions are displayed. They are now shown in an expanded way so no more clicking is needed to read the entire discussion. [ender]

  • Added methods for retrieving version tuples to utils module (FS version only) and to MigrationTool (both FS and instance versions) [rafrombrc]

  • Added charset to the Content-type header when use RSS to fixed some encoding problem. [panjunyong]

  • Added [duncanb]’s update for bug #3294. Tables no longer need an id attribute to be sorted. http://dev.plone.org/plone/ticket/3294 [elvix]

  • Added fix for bug #4027. feed:// and webcal:// links now get special css-classes so that they may be styled appropriately. http://dev.plone.org/plone/ticket/4027 [elvix]

  • Changed the 2.1 migrations so that they make sure the MemberDataTool is the default (i.e. not CMFMember) before trying to manipulate the properties on the tool, since a) modifying the properties on CMFMember’s MemberDataContainer doesn’t accomplish anything and b) property name conflicts were causing the Plone migrations to fail in sites w/ CMFMember installed [rafrombrc]

  • Changed the global_defines attribute ‘isFolder’ to ‘isFolderish’ - it was only used in one location in the Collective projects I checked, and one location in Plone itself - and didn’t really test the right thing. It was also expensive. If you have a third-party product that was using ‘isFolder’ for anything, you should update your code. Removed redundant check in content_status_history as a result. [limi]

  • Updated ‘ownership_form’ to not display the subobjects checkbox if the item is not folderish. [limi]

  • Added rel=”nofollow” attribute to calendar links. Should ultimately be restricted by a year range, but this is a quick workaround. Closes http://plone.org/development/teams/ui/tasks/89 [limi]

  • Added support for searching for members who have NOT logged in since the specified last_login_time. [rafrombrc]

  • Added Description, Location, Language and Home Page to Author page. [limi]

  • Fixed permissions and conditions on folder ‘cut’ and ‘copy’ actions previously they used ‘View management screens’ and ‘Modify portal contents’. Removed action creation from setup/ConfigurationMethods.py for these and change_state. [alecm]

  • Fixed #2836 - Review portal contents or Modify portal contents is sufficient to show the change_state action. http://dev.plone.org/plone/ticket/2836 [alecm]

  • Changed member_search_form.pt so that it submits last_login_time as a plain DateTime object rather than a catalog style query dictionary. [rafrombrc]

  • Exposing ‘language’, ‘home_page’, ‘location’ and ‘description’ in getMemberInfo() in the MembershipTool. These are used in author.pt. [limi]

  • Added ploneGenerated.css for programmatically generated classes, and ploneMember.css for logged in users (for state coloring etc). Cleaned up the configuration a bit (added media declarations), updated tests. [limi]

  • Changed ‘news’ and ‘Members’ portal tabs migration so that it disables, rather than deletes the actions. No need to be destructive. [alecm]

  • Added new portal_memberdata properties ‘home_page’, ‘language’, ‘location’, ‘description’ (text) at limi’s request. [alecm]

  • Fixed #3095 - You can now use actions to create tabs for folders not at the portal root and the tab highlighting will work correctly. This is done by comparing the current object path to the actions url (i.e. the id of the action no longer has to be related to the resulting url). http://dev.plone.org/plone/ticket/3095 [alecm]

  • Fixed #3681 - No longer allow to add content with ids of skin scripts. http://dev.plone.org/plone/ticket/3681 [whit537]

  • Fixed #3999 - check_id now gives better error messages. http://dev.plone.org/plone/ticket/3999 [whit537]

  • Fixed #1987 - ‘batch’ mode now enabled whenever the List folder contents property is available and one or more of the modification permissions is available (Delete, Copy, Add, Modify). These checks apply to the current object if it is folderish and not set as the Default Page for its parent; otherwise, the checks are made on the parent. http://dev.plone.org/plone/ticket/1987 [alecm]

  • Fixed #2912 - “Format” renamed to “MIME type” in metadata form to avoid confusion with the text format selector. http://dev.plone.org/plone/ticket/2912 [limi]

  • Fixed #3938 - duplicate class definitions for .even and .odd. http://dev.plone.org/plone/ticket/3938 [limi]

  • Manually merged Duncan’s plip24-form-unload-branch. Plone will now present a warning message if the user tries to navigate away from a page with a changed form. [duncanb][elvix]

  • Changed encoding to utf-8 on javascript files to stay in sync with the rest of Plone. [elvix]

  • Enabled the “display” menu on the portal root. You can set the templates to be available there using the property “selectable_views” at the root portal object. Also renamed the front page from index_html to front-page and set is as the default page during portal creation, in order to make the “display” menu work as expected immediately after portal creation. [optilude]

  • Made sure PloneTool.changeOwnershipOf() works recursively. [stefan]

  • Fixed user and group name/id fuzzyness in PloneTool.changeOwnershipOf() and folder_localrole_form.pt. [stefan]

  • Reworked prefs_users_overview to use CMFForumController and to simplify prefs_user_manage.cpy. [bmh]

  • Fixed #3931 - add ‘more ...’ link to events portlet, also added new events tab/folder and topic to match the news folder/tab and topic. http://dev.plone.org/plone/ticket/3931 [lucas]

  • Fixed #3752 - return rss search results in effective date order (reversed), unless another order is explicitly given. http://dev.plone.org/plone/ticket/3752 [alecm]

  • Changed portlet_news.pt and news_listing.pt to do the right thing if the ‘news’ folder at the root of the site isn’t there. [rafrombrc]

  • Added some argument type sanity checking to queryCatalog.py; it was failing on valid queries b/c it was making assumptions about the types that it was receiving. [rafrombrc]

  • Add charset info for ZMI pages like addSite.zpt and addPropertySheet.zpt for better Chinese support. [panjunyong]

  • Fixed #3901 - applied the PloneTool.py patch by F Bennett (bierce), which shows full listing of inherited roles. http://dev.plone.org/plone/ticket/3901 [alecm]

  • Fixed #3819/ - applied the utils.py patch provided by gkirk. http://dev.plone.org/plone/ticket/3819 [rafrombrc]

  • Fixed prefs_user_details to only display user roles and not roles inherited via groups since those can’t be edited on this form. [bmh]

  • Fixed #3848/ - changed prefs_error_log_update.py to match the button submit values on prefs_error_log_form. http://dev.plone.org/plone/ticket/3848 [rafrombrc]

  • Minimally reworked user/group control panel pages to plone2.X style fixing #2204 and possibly others. http://dev.plone.org/plone/ticket/2204 [bmh]

  • Updated all references to CSSRegistry to the new, renamed, ResourceRegistries. Migrations, tests. Instead of name-confusion, there is now the product ResourceRegistries containing the two tools CSSRegistry and JSregistry. [elvix]

  • Fixed #3835 - Changed .metadata file of prefs_user_manage.cpy script to redirect instead of traverse on success. http://dev.plone.org/plone/ticket/3835 [gkirk]

  • Fixed #3903 - Removed hardcoded references to logo.jpg in favor of the logoName variable defined in base_properties. http://dev.plone.org/plone/ticket/3903 [bmh]

  • Fixed #3544 - Use password_confirm as the name of the password confirmation field so it doesn’t show up in error logs. http://dev.plone.org/plone/ticket/3544 [bmh]

  • Fixed #3811 - Start and end times of same-day events now respect AM/PM settings (event_view). http://dev.plone.org/plone/ticket/3811 [naro]

  • Made folder actions (cut, copy, rename, delete, publish) give nice message instead of error when the selected item is no longer available. Fixes issue #3911. http://dev.plone.org/plone/ticket/3911 [alecm]

  • Made sortable_title use the site-encoding to store the final value (not direct unicode). Also, made sortObjects.py case insensitive. [alecm]

  • Fixed #3866 - Improved performance of sortObjects helper script by a factor of 3. http://dev.plone.org/plone/ticket/3866 [axa]

  • Fixed #2791 - Timestamps in recently_published and folder_contents now use the configured long format. http://dev.plone.org/plone/ticket/2791 [naro]

  • Add a hook to call a method or script ‘getCustomNavQuery’ to createNavTree and createTopLevelTabs. This method should return a dict to augment the catalog query (i.e. require specific workflow state or custom property), the parameters will not override any of the default parameters. [alecm]

  • Add a disable_folder_sections to site_properties so that people who don’t want to use top-level folders for tabs can just use the actions in the original manner. [alecm]

  • Made the default news folder view a Topic at limi’s request. Made changes to the way folderish default documents are handled to make the UI for this sensible. Folderish default pages now act entirely non-folderish as far as global_contentmenu is concerned. If such an object wants to have a batch view, add buttons, view control, etc. it must implement them as object actions (like the sub-topic form). Also, fixed a bug which caused folderish types that had no preset template views to not show their selectable default view menu, leaving a non-working display menu. [alecm]

  • Add support for the ‘pghandler’ argument added in Zope 2.8 (though we don’t officially support Zope 2.8 yet). [sidnei]

  • Changed the order of the documentActions in the default view templates. If you have customized your view templates, you need to move these above the headline tag. Sorry about the inconvenience, but the existing positioning was triggering too many browser bugs. This keeps it simple. Look at ‘document_view’ if you need an example. [limi]

  • Publishing the default document in a folder now publishes the folder as well, if possible (and similarly, making the default page visible or private will make the folder visible or private as well) [optilude]

  • content_status_history (Change state button from folder_contents or ‘advanced’ item in state drop-down) is now more consistent, showing the items being affected in both cases, and permits the publishing of folder contents along with a folder no matter which method is used. [optilude]

  • Default content types are now in portal_factory [optilude]

  • registered_notify_template now honours the ‘email’ parameter passed in instead of using ‘member.email’, and in the process no longer breaks CMFMember [optilude]

  • Merged (some variation of) madduck’s member area type selection branch. This allows to configure the portal type used for home folders in the membership tool. [stefan] [madduck]

  • Fixed non-ASCII character issue in sortable_title method. [alecm]

  • Fixed up permissions on new cut/copy/delete actions. [bmh]

  • Fixed #3384 by catching CopyError so users don’t get dumped into the ZMI. http://dev.plone.org/plone/ticket/3384 [bmh]

  • Made sortable_title do useful numerical sorting, and truncate values longer than 30 chars to prevent bloat. [alecm]

  • is_folderish metadata added. It contains bool(isPrincipiaFolderish) [tiran]

  • sortable_title FieldIndex added by popular demand. [alecm]

  • Made folder_contents useful for viewing and altering non-local content (try folder_contents?path=/). Changed folder_delete, folder_publish, and folder_rename to work with paths instead of ids (and altered corresponding forms). Added new method to workflow tool to get workflow transitions for objects given by path rather than id. Made the aforementioned scripts redrect to the originating form instead of hard-coded folder_contents (uses request variable ‘orig_template’). Removed copy, cut, paste buttons when the folder_contents view isn’t local, as those actions won’t work properly in that circumstance (copy can probably be implemented, but will need to use some OFS internals). Added tests for folder_delete, folder_publish, and folder_rename. These changes fix issue #216. http://dev.plone.org/plone/ticket/216 [alecm]

  • Added Topics to the default NavTree listing. [alecm]

  • Made migration work from 2.0 svn, and not fail if SUPPRESS_ATCT_INSTALLATION is set. [alecm]

  • Added RTL support (separate CSS is included for this, is only activated when the language is an RTL language). [limi] [mohsen]

  • Added Mobile device support (handheld CSS profile). [limi]

  • Fixed #2959 with a minor change to check_id to account for portal_factory weirdness. Also required an update to ATCT to do proper id checking on auto-rename. http://dev.plone.org/plone/ticket/2959 [alecm]

  • Re-did the fix for disappearing text in Internet Explorer, added special class ‘visualIEFloatFix’ that can be used for these, also adding a how-to with examples to plone.org. [limi]

  • Added a reference rendering document to show all the user interface elements to ease cross-browser testing of third-party skins. Template name is ‘test_rendering’. [limi]

  • Added ECMAUnit JavaScript testing framework to skins in anticipation of a real testSuite for the Plone JavaScripts. Pasted the license and credit files into the top of the library to keep them contained. [elvix]

  • Made ‘title’ attribute on add-new-item drop down items display item description, as per bug #2938. http://dev.plone.org/plone/ticket/2938 [optilude]

  • Introduced the ExtensibleIndexableObjectWrapper. It’s a wrapper based on the IndexableObjectWrapper for the catalog tool that can easily be extented by registering methods. [tiran]

  • Renamed ugly ‘PloneUtilities.py’ module to ‘utils.py’. The former is still around but issues a deprecation warning. [stefan]

  • Fixed bug #3647 to allow removing all roles from a group. http://dev.plone.org/plone/ticket/3647 [optilude]

  • Fixed bug #3386. Modified folder_rename_form.pt to reflect user authorisations on each item. http://dev.plone.org/plone/ticket/3386 [davconvent]

  • Implemented fix for #3522 to add default groups “Reviewers” and “Administrators” to Plone, with the appropriate roles. http://dev.plone.org/plone/ticket/3522 [dpunktnpunkt] [optilude]

  • Made PloneFolder.moveObjectsByDelta not throw an error when passed a non contentish object id (apparently this happens during some migrations). Fixes #3959. Requires a small fix in AT done on 1.3 branch. http://dev.plone.org/plone/ticket/3959 [alecm]

  • Fixed computeRoleMap.py so that it stores the role information by user/group id not name, as a user and group may have the same name and it would be wrong to combine them. This is related to issue #3711 which is itself a GRUF issue fixed in GRUF svn. Also implemented a faster sort algorithm in the above script. http://dev.plone.org/plone/ticket/3711 [alecm]

  • Made prev/next links in calendar portlet respect current query parameters. Fixes bug #3949. http://dev.plone.org/plone/ticket/3949 [alecm]

  • Added id=”breadcrumbs-you-are-here” to the <span> tag where “you are here” is printed in global_pathbar.pt. It is now possible to remove cleanly that message, applying a CSS rule. [davconvent]

  • Removed obsolete formtooltips member property. [stefan]

  • Made all portal_status_messages with dynamic parts translatable. http://dev.plone.org/plone/ticket/2532 [dpunktnpunkt]

  • Included code from the CatalogOptimizer product, i.e. PLIP 89. This gives us DateIndexes and DateRangeIndexes instead of slow FieldIndexes. [stefan]

  • Fixed bug in logged_in.py where login_password would not have been triggered even when appropriate on first login; fixed related issue in login_password.pt. [rafrombrc]

  • Fixed problem where navtree was duplicate highlighting when user viewed home page, where folder default pages were showing up when ‘showAllParents’ is True, general default page navtree fixes. [rafrombrc]

  • Changed content_status_history to work w/ the new catalog-based folder contents code. [rafrombrc]

  • Restored batchedFolderContents for backwards compatibility, and moved batching into the python script getFolderContents (which takes optional ‘batch’ and ‘b_size’ parameters). Marked batchedFolderContents and getFolderListingFolderContents as deprecated, both just call getFolderContents now. [alecm]

  • queryCatalog was altering the queries passed to it to filter out types. This is unnecessary; it should only filter when no explicit types list is passed. Also, queryCatalog is uesful in places other than the search (folder_contents) where the filtering may be undesirable. As a result the filtering is now optional and enabled by a parameter use_types_blacklist, which is used by default in search.pt and search_rss.dtml. [alecm]

  • Added unit tests for folder based portal tabs and catalog based breadcrumbs. Fixed bug in portal tab ordering. [alecm]

  • Updated and enhanced the dependency checks to check for the right versions of Python, Zope and CMF. [tiran]

  • Merged PLIP 74 - Cut/copy/paste actions on objects + Batch mode. The ‘contents’ tab is now removed, though folder_contents can be accessed via the ‘batch’ button. It’s importance is greatly reduced, because the most common operations it was being used for (cut/copy/paste and object) are now available directly as actions on the object. [davconvent] [optilude]

  • Made sure migration catalogs the Members folder. This is required for the catalog-based navigation stuff. [stefan]

  • Merged PLIP 76 - author feedback. A new link appears when viewing content created by portal members, taking the viewer to an author profile page. This page permits logged in users to send feedback via email (without exposing the author’s email address) using a feedback form. It also shows the most recent publications by this member. [VladDrac] [optilude]

  • Fixed link to CMF website on welcome page. [stefan]

  • Merged plip91-folder-based-sections r6405:HEAD into 2.1 branch. [stefan]

  • Implemented PLIP 91: Made sections (global tabs) render the top level folders in the portal root. Removed existing actions for news and Members and added a news folder with default view set to news_listing.pt (formerly news.pt). Added support for the property ‘idsNotToList’ from navtree_properties, so that the navtree and section tabs don’t show the listed ids. Added a catalog metadata column ‘exclude_from_nav’, so that when a boolean property of that name is set on an object it and it’s children will be excluded from the navtree and section tabs. [alecm]

  • Do not display “Forgot your password?” when user doesn’t have “Mail forgotten password” permission. Added a security check to RegistrationTool.mailPassword(). http://dev.plone.org/plone/ticket/3338 [dpunktnpunkt]

  • Merged PLIP 75 - blacklisting of types. The types_not_searched property in site_properties can now be used to give a list of types which will be ignored for search purposes (via queryCatalog; the getUserFriendlyTypes() method in plone_utils can be used to get the same filtering elsewhere). [optilude] [jjmurre]

  • Add new method to PloneTool getOwnerId, which gets the id of the owner of an object. It’s protected by the view permission on the object, and used in ownership_form in place of Creator, which may no be the same as owner for AT types. Also modified ownership_form to use form controller. http://dev.plone.org/plone/ticket/3662 [alecm]

  • Set Title and description on member folders and personal folder. Was broken due to permissions improvements in AT. [alecm]

  • Merged plip93-optimize-templates r6360:HEAD into 2.1 branch. [stefan]

  • Fixed #3779 - Removed worklist query from listFilteredActionsFor. http://dev.plone.org/plone/ticket/3779 [alecm]

  • Removed useless check for duplicate actions from listFilteredActionsFor. Gives a big speed improvement thanks to Dieter. [alecm]

  • Minor refactoring of the calendar portlet to avoid unnecessary duplicate method calls. Removed getBeginAndEndTimes. [alecm]

  • Replaced breadcrumbs implementation with a faster simpler one based on ExtendedPathIndex. [alecm]

  • Turned off DC MetaTags by default, added a global config to site_properties so that they can be reenabled if desired. [alecm]

  • Made the calendar portlet HTML output Not Suck. The code, however still does. ;) [limi]

  • Fixed #3924 - eradicated all string exceptions. http://dev.plone.org/plone/ticket/3924 [alecm]

  • Fixed #3910 isValidEmail now uses the _checkEmail function from CMFDefault to avoid ValueErrors. http://dev.plone.org/plone/ticket/3910 [alecm]

  • Added empty fill-slot=”sub” to discussion_reply_form to get rid of the second, broken ‘add comment’ button showing up on that form for top level comments, fixed #3845. http://dev.plone.org/plone/ticket/3845 [rafrombrc]

  • Moved retrieval of Zope system information out of plone_control_panel.pt and into proxied script getZopeInfo.py so that plone Managers who are not also Zope top-level Managers can view the page. [bmh]

  • Added installation of default CSS and JavaScripts. [elvix]

  • Added CSSRegistry and JSRegistry dependencies. All stylesheets and javascripts are now registered with these tools instead of hardlinked into header.pt. [elvix]

  • Cut the default Styleesheets and Javascripts into smaller pieces to be served up by the CSS- and JS-Registries [elvix] [limi]

  • Added showAllParents property to navtree_properties and to appropriate portal migration, added implementation to navtree code in PloneTool. [rafrombrc]

  • Because normalizeISO() only deals with Unicode strings titleToNormalizedId() must make sure to pass it only Unicode. Added a check and a conversion from the site’s default encoding. [stefan]

  • Fixed UI task #21: renamed “Name” to “Login Name” in login form and portlet [mrtopf]

  • Fixed UI task #19: default homepage for new members is not created anymore by default [mrtopf]

  • Fixed UI task #5: Status message should show the name instead of title of a portal type on add. Now shows the title. [mrtopf]

  • Fixed UI task #79: removed “you are logged in” message [mrtopf]

  • Fixed UI task #73: added display of plone, zope and python version to the ControlPanel [mrtopf]

  • Merged plip81-BylineHistory r6154:HEAD into 2.1 branch. This adds workflow history to the document byline. [stefan] [ender] [limi]

  • Manually merged new css files from uiteam-plip85-componentized-css r6361:HEAD into 2.1 branch. These are not hooked up to anything just yet, but will be used by the CSSRegistry. [elvix]

  • Split plone_javascripts.js into small components in preparation of the JSRegistry tool. [elvix]

  • Merged uiteam-plip86-catalog-based-folder-listings r5865:HEAD into 2.1 branch. Plone’s folder_contents and folder_listing templates now use catalog results instead of traversal. [stefan] [alecm] [_ender_] [whit537]

  • Added macros to folder_contents that allow reuse of the entire content area, including the definition of the content list. Added slots and variables that allow macro users to change the title of the page, the columns displayed, and the type of content filtering and sorting performed. [alecm]

  • Added slot to folder_listing that allows macro users to add custom bylines for specific types. Also, added the ability to set a limit (in the request or containing template) on the number of items shown in a listing, along with a customizable link to see more contents which defaults to ‘folder_contents’. [alecm]

  • Merged uiteam-plip77-78-content-menu-browser-default-refactoring r6317:HEAD into 2.1 branch. [tiran]

    PLIP 77: Constrain addable types on a per-folder basis

  • New menu item “settings” on “add new item” drop-down to select which items to display, and how. [optilude]

    PLIP 78: “Display” menu to select default view of a folder

  • Enable TemplateMixin and fix its UI (in ATContentTypes)

  • Add a “display” drop-down where these can be chosen

  • On folderish items, an option “select item” - shows browser, select default_page. [optilude] [davconvent]

  • Cleaned up listMetaTypes by moving the payload into PloneTool and cleaning up the code. [tiran]

  • Added PIL to dependencies to be able to close PLIP 82. [stefan]

  • Changed ‘context.aq_explicit.getObjectPosition’ to ‘context.aq_inner.aq_explicit.getObjectPosition’ in getObjPositionInParent.py to guarantee that we don’t acquire getObjectPosition. [rafrombrc]

  • Merged plip-80-navtree r6183:HEAD into 2.1 branch. This adds the new catalog-based navigation tree and sitemap. Plone now depends on the ExtendedPathIndex product. [stefan] [jladage] [tesdal] [elvix]

  • Merged plip79-RelatedItems r6128:HEAD into 2.1 branch. Adds a macro to display related items in all content templates. [stefan] [_ender_] [mrtopf]

  • Merged uiteam-plip73-sanitize-short-names r6113:HEAD into 2.1 branch. This removes “Allow editing of Short Names” from personal prefs and makes it a site-wide property. [stefan] [alecm]

  • Merged plip72-LiveSearch r6110:HEAD into 2.1 branch. Adds LiveSearch by ObjectRealms to the search box. [stefan] [_ender_] [mrtopf]

  • Merged plip71-full-screen-mode r6124:HEAD into 2.1 branch. This adds a document_action to enter full screen mode. [stefan] [arjen] [elvix]

  • Use ‘structure’ in sendto_template.pt. Email text doesn’t need any transforms. [panjunyong]

  • Added some knobs to jscalendar:

    • show_hm: show hour and minute dropbox or not
    • show_jscalendar: show the jscalendar icon or not. If you hate the fat javascript, you can turn it off.
    • starting_year: starting year
    • ending_year: ending year
    • future_year: future years after this year
    • show_single_year: when year is fixed (min_year==max_year), sometimes we don’t need to show the single year. [panjunyong]
  • Old popup calender (Plone 1.x) works again. [panjunyong]

  • Don’t install SecureMailHost if already installed. [tiran]

  • Added ‘SUPPRESS_ATCT_INSTALLATION’ environment var check before ATCT installation. It can be set to ‘YES’ in order to suppress the installation of ATContentTypes at portal creation time for e.g. migration tests. [tiran]

  • Use images in plone_tableless/colophon.pt just like the one in plone_templates. [panjunyong]

  • Fixed ATContentTypes bug [ 1158950 ] ATTopic default view wrong. PloneUtils.browseDefault wasn’t playing nice with folders and template mixin. [tiran]

Alpha1 - Released March 12, 2005

  • No longer uncatalog the Members folder on installation so that the new NavTreePortlet (not included) works out of the box. [stefan]
  • Changed PloneTool.availableMIMETypes to use the MimetypesRegistry to return a list of mimetype names. [tiran]
  • Fixed discussion_reply.cpy to use portal_discussion.getDiscussionFor(obj) instead of accessing the talkback object directly. [tiran]
  • Now using CookedBody instead of EditableBody in news.pt [tiran]
  • Merged Plone 2.1-atct branch. Plone now uses and requires Archetypes 1.3 and ATContentTypes. [stefan]
  • Removed the debian directory. [stefan]
  • Slight text edits in content_status_history template to more accurately reflect the influence of the effective and expiration dates. [rafrombrc]
  • Added support for Firefox Live RSS Bookmark. RSS enabled objects will show the RSS button in firefox. Search results too. [batlogg]
  • Fixed wrong i18n output encoding when create member area. We must set correct ‘content-type’ header to make PTS work when call translate. [panjunyong]
  • Fixed PLIP16 integration to make it works with all content types, not limited to Plone Folder. [panjunyong]
  • Added a charset header in sendto_template to make it work with PlasslessTranslationService. Previous sento_template didn’t work with Chinese at least. [panjunyong]
  • Members can be searched by group in folder_local_role and member_search_form now. [panjunyong]
  • Moved the setting of login_time and last_login_time out of the (not always reached) login_success.pt and login_password.pt templates and into the (always executed) logged_in.py script. [rafrombrc]
  • Permission settings were not being correctly copied to temp folder because we were using ‘self’ instead of ‘intended_parent’ for looking up permission roles, thus looking them in the factory tool instead of the target container. [sidnei]
  • Fixed a long-standing visual styling bug of the ‘hr’ element, it used to only work properly with regards to colors/size in IE, now it works in standards-compliant browsers too. [limi]
  • Added convenience ID for use in CSS - #portal-header - useful for background images in the portal header, for instance. [limi]
  • Removed deprecated generateId script. We use generateUniqueId. [stefan]
  • Added isRightToLeft utility Python Script which provides a fallback value if PTS is not installed or of the wrong version. [stefan]
  • Merged in RTL support - Plone now correctly flips all the graphic elements and CSS declarations when using a right-to-left language like Arabic or Hebrew. [limi]
  • Undid Jim’s earlier change to the way the body tag is computed. It’s now back to the original behaviour, with section-<section> class on the body tag. [limi]
  • Fixed several potentially unsafe uses of acl_users.getUserById(). [stefan]
  • Intergrated PLIP16. It is now possible to stop acquisition of local roles in a Plone Folder and change the roles of already assigned users/groups. Many thanks to: ender, MrTopf, hazmat and pjgrizel. [jladage]
  • Plone now supports/requires GRUF 3.1.1. Thanks to pjgrizel for the patches. [jladage]
  • Fixed #3641 - validate_start_end_date chopped off the AM/PM value when saving Events. http://dev.plone.org/plone/ticket/3641 [stefan]
  • Removed the dependency on Formulator as well as FormTool and NavigationTool. [stefan]
  • It was impossible to create an item named ‘index_html’ in the portal root or inside a folder via WebDAV. Added a functional doctest for it. [sidnei]
  • Removed headingFontBaseSize from base_properties and plone.css.dtml because it doesn’t actually work and cost/benefit of implementation is too high. [whit537]
  • Added utility javascript “nodeContained” to check if a node is contained in another node [elvix]
  • Added Collapse/Expand-form-section javascript for future use. Usage described in plone_javascripts.js [elvix]
  • check_id now accepts an additional ‘contained_by’ argument, allowing to disambiguate the target folder in cases where using the acquisition parent would yield the wrong results. [gkirk]
  • Consolidated all monkey patches in the ‘patches’ sub-package. [stefan]
  • Changed CatalogTool.catalog_object() and CatalogTool.reindexObject() to support the new update_metadata protocol (Zope > 2.6.2). An optional ‘update_metadata’ argument controls whether the object’s metadata record is updated while cataloging. It defaults to yes. [stefan]
  • Plone now uses SecureMailHost instead of plain old MailHost. [tiran]
  • SearchableText, Title, and Description now use TextIndexNG2 if installed. All three indexes fall back to ZCTextIndex if the TextIndexNG2 product is not installed. Note that in Plone 2.0 Title and Description used to be plain TextIndexes. [ajung]
  • Plone now uses DateIndexes for created, modified, effective, and Date. Note that we do not yet use DateIndexes for expires (CEILING issues) and start/end dates of Events. [ajung]
  • toLocalizedTime() replaced toPortalTime(). However this is NOT the way it should be and will be revised. http://dev.plone.org/plone/ticket/2461 [db] [batlogg]
  • getObjSize() now accepts second (optional) size argument to allow formatting of arbitrary sizes. [andym]

Plone 2.0.5 - Backed Up Willie - Released December 1, 2004

  • Allow migrations to and from release candidates to finish. This was borked in RC2. [stefan]
  • Fixed #3629 - Migration failed if ‘Topic’ portal type was missing or otherwise broken. http://dev.plone.org/plone/ticket/3629 [stefan]

RC2 - Released November 26, 2004

RC1 - Released November 22, 2004

  • Fixed it so the .error class no longer causes compression of items in forms. [limi]
  • Fixed #3601 - Cancel in password_form redirected to the wrong page. Thanks to Varun for the patch. http://dev.plone.org/plone/ticket/3601 [stefan]
  • Fixed #3599 - Cancel in personalize_form redirected to the wrong page. Thanks to Varun for the patch. http://dev.plone.org/plone/ticket/3599 [stefan]
  • Fixed #3577 - Interchanged ‘Edit’ and ‘Sharing’ tab on folder. Thanks to Vamsi for the patch. http://dev.plone.org/plone/ticket/3577 [jladage]
  • Made prefs_error_log_form a tad safer in the face of weird upgrade issues. Also see #3435. http://dev.plone.org/plone/ticket/3435 [stefan]
  • Changed localLongTimeFormat to ‘%Y-%m-%d %H:%M’. Note: there is no migration, only new sites will be affected. [stefan]
  • Fixed #3557 - Lines properties may still be lists if an old ZODB is upraded to newer Zopes. Catching such a case in migrations. Thanks to Xenru for the patch. http://dev.plone.org/plone/ticket/3557 [stefan]
  • Fixed #2960 - The “Send this page to somebody” feature now uses the URL of the object including the view template. This avoids nasty login interactions when sending links to protected content. http://dev.plone.org/plone/ticket/2960 [stefan] [sidnei]
  • Made the column style sheet only apply to Screen, not Print/Presentation/ Handheld. [limi]
  • Massively simplified the print style sheet, should work much better in all browsers now. [limi]
  • Moved ploneCustom to be the last of the CSS declarations, so you can easily do Print/Presentation/Handheld customizations in the ploneCustom.css now. [limi]
  • Fixed Presentation stryle sheet to not show the site actions. [limi]
  • More Google tweaking. Factored out the page title to a separate script and switched the order of the elements. [limi] [tesdal]
  • Did a few things to improve the Google ranking of all Plone sites: Put all the style sheet declarations inside HTML comments, so Google doesn’t try to interpret them as text, and removed the non-working meta links for author and copyright (scheduled for 2.1). Also changed the rel link for up to not show up if you are at the portal root. [limi]
  • Plone was not showing the correct language in the header for an object, it was always using the site default, even if you had specified language on an object. Fixed. NOTE: This is a change to main_template, so if you have customized, you will probably want to copy in lines 8-9 from the new main_template. [limi] [tesdal]
  • Caught additional IndexError/SyntaxError exceptions on isIDAutoGenerated.py to fix the case where a non-autogenerated-id starts with a valid portal_type name. [deo]
  • Added i18n markup to global_siteactions.pt. Now those ‘Small, Normal, Large Text’ site actions can be translated. [deo]
  • Changed imagePatch to use hasattr(aq_base(ob)...) and then getattr(ob, ...) in order to fix a problem with Archetypes ImageField which have a ComputedAttribute for title/alt. ComputedAttributes don’t get computed on the absence of an acquisition wrapper. [sidnei]
  • Fixed #3542 - queryCatalog script ignored ‘sort_limit’ argument. Thanks to kaib for the patch! http://dev.plone.org/plone/ticket/3542 [stefan]
  • Fixed #3541 - folder rename gave wrong error message. Thanks to Varun for the patch! http://dev.plone.org/plone/ticket/3541 [stefan]
  • Greatly improved the handling of DateTimeErrors in event_edit_form and metadata_edit_form + validators. No more traceback on Feb 31! [stefan]
  • Fixed #2982 - the CMF does not allow to register with a user name that equals the name of a content object on the acquisition path. Provide a sane error message until this is resolved in CMF. http://dev.plone.org/plone/ticket/2982 [rohrer]
  • Fixed #3091 - new SetupWidgets can now work without cut/pasting the existing code, and use inheritance instead. Thanks to jccooper! http://dev.plone.org/plone/ticket/3091 [limi]
  • Implemented AM/PM support for the datetime-picker widget. Now, if your site_properties/localLongTimeFormat property contains the ‘%p’ format specifier, the widget will display 12 hours and an additional AM/PM dropdown. Resolves #3264. Thanks to alecm for the patch. http://dev.plone.org/plone/ticket/3264 [stefan]
  • Fixed #3417 - because of acquisition, a user’s name can not be the same as the portal name - this is now caught in the user registration validation instead of giving an error message. Thanks to kuru for the patch! http://dev.plone.org/plone/ticket/3417 [limi]
  • Fixed #2855 - Folders have “Properties” instead of “Edit” as title for the edit form. http://dev.plone.org/plone/ticket/2855 [jladage]
  • Fixed #2512 - folder_localrole_form role assignment pulldowns should be multiple select. Thanks to teix. http://dev.plone.org/plone/ticket/2512 [deo]
  • Fixed #2386 - Misc political incorrectness for msgid ‘help_search_keywords’. http://dev.plone.org/plone/ticket/2386 [deo]
  • Fixed #3142 - Swedish translation in search page translates “by” into “efter”. http://dev.plone.org/plone/ticket/3142 [deo]
  • Fixed issues #3495, #3508 and #3509 - french translation errors. http://dev.plone.org/plone/ticket/3495 http://dev.plone.org/plone/ticket/3508 http://dev.plone.org/plone/ticket/3509 [deo]
  • Fixed #2171 - accessibility headers for the document actions were missing. http://dev.plone.org/plone/ticket/2171 [limi]
  • Removed the Add to Favorites icon from the breadcrumbs, since it is already in the document actions area. Favorites still suck, but will hopefully get some love in 2.1. ;) [limi]
  • ‘prefs_user_details’ is now a Controller Page Template, and has better validation. Don’t forget to re-customize if you have customized the old, non-cpt version. [geoffd]
  • Fixed #3385 - tableless skin wasn’t updated to the new header structure, causing the site actions to be positioned wrongly. This is an update to main_template for the people using tableless, please update your sites accordingly. Full explanation in the URL above. http://dev.plone.org/plone/ticket/3385 [limi]
  • Fixed #3429 - the section class was missing from the tableless skin. http://dev.plone.org/plone/ticket/3429 [limi]
  • Fixed #3086 - there is now an unRegisterPloneFunction in the plone_javascripts that allows you to unregister an onload event. Thanks to acamargo for the patch! http://dev.plone.org/plone/ticket/3086 [limi]
  • Fixed #3518 - Same issue as before, but for Images this time. Thanks to Varun for the patch. http://dev.plone.org/plone/ticket/3518 [stefan]
  • Fixed #3416 - Uploading a File with a bad name, without specifying an id in the form, caused validators to complain about ‘id’ instead of ‘file’. This was especially bad as the current file_edit form does not show the ‘id’ field at all :-P http://dev.plone.org/plone/ticket/3416 [stefan]
  • Fixed a usability bug where clicking the “Add default document” button would only generate a blank Document with the ID index_html - it now sends you to the edit form of said document instead. [limi]
  • Fixed #3500 - Modified .metadata files to make FormController do something appropriate when someone submits a for using the return key in IE. http://dev.plone.org/plone/ticket/3500 [geoffd]
  • Fixed #3406 - Did a big makeover of FactoryTool.py that fixes a lot of permissions problems. Objects are now created after traversal so their owner and creator are set correctly. Parent folder permissions are copied to the TempFolder in which temporary objects are created, so temp object creation should behave the same way as regular object creation. ExternalMethods and scripts called with relative links are handed off to during traversal, so mapply headaches don’t occur anymore. doCreate method now checks for and calls if present an object method called ‘manage_afterPortalFactoryCreate’ so any extra post-instantiation initialization can take place. http://dev.plone.org/plone/ticket/3406 [geoffd]
  • Fixed #3458 - Images in folder_contents and navtree have wrong paths in VirtualHosted sites. It worked anyway because of acquisition, but is correct now. Thanks to mjm for the patch. http://dev.plone.org/plone/ticket/3458 [limi]
  • Fixed #3472 - you can now declare portlets on a template. Thanks to acamargo for the patch. http://dev.plone.org/plone/ticket/3472 [limi]
  • Fixed #3030 - content_status_modify.py now assembles the transaction note before performing the transaction. Thanks to raphael (Ritz?). http://dev.plone.org/plone/ticket/3030 [stefan]
  • Fixed #3457 - review portlet was not showing ID for items without Title. Thanks to Sjors for the patch. http://dev.plone.org/plone/ticket/3457 [limi]
  • Fixed #2857 - changed show_id.py to accomodate postback of a submitted id in the case where validation fails on the first edit of a newly created content object. Thanks to zenwryly. http://dev.plone.org/plone/ticket/2857 [stefan]
  • Fixed #3457 - review portlet was not showing ID for items without Title. Thanks to Sjors for the patch. http://dev.plone.org/plone/ticket/3457 [limi]
  • Fixed #3494. Description was used with ‘structure’ in some templates, notably news.pt and folder_listing. Note that Dublin Core defines this element as plain text. If your site relies on the old behavior refer to the patch in the issue. Patch by mathie, thanks. http://dev.plone.org/plone/ticket/3494 [stefan]
  • Fixed #2931. News items displayed “Read More” link even if there was nothing more to read. Thanks to mathie for the patch. http://dev.plone.org/plone/ticket/2931 [stefan]
  • Fixed #3457 - review portlet was not showing ID for items without Title. Thanks to Sjors for the patch. http://dev.plone.org/plone/ticket/3457 [limi]
  • Fixed #3038. Search terms “and”, “or”, and “not” are no longer highlighted in documents. http://dev.plone.org/plone/ticket/3038 [rohrer]
  • Made RegistrationTool reuse the EMAIL_RE regex from PloneTool instead of duplicating it. [stefan]
  • Fixed #3447. Email address validation failed for upper-case characters. http://dev.plone.org/plone/ticket/3447 [rohrer]
  • Added border-collapse to the columns, so pixel/bitmap layouts that depend on the columns having 0 margin will work automatically. This is cleaner than the cellspacing=”0” cellpadding=”0” HTML approach that people seem to use. Fixes #3511. http://dev.plone.org/plone/ticket/3511 [limi]
  • Fixed HTML escape codes in password for special characters in registered_notify_template (#3499). http://dev.plone.org/plone/ticket/3499 [jladage]
  • Polished up the datetime-picker widget. Now provides default values for month (‘01’) and day (‘01’). Also new is the option to unset a date by deselecting the year (‘—-‘). Fixes #2291. http://dev.plone.org/plone/ticket/2291 [stefan]
  • Made it so that headlines can’t be obscured by the document action icons anymore. [limi]
  • Made the check_id script work in the presence of incomplete Plone sites and missing permissions. [stefan]
  • Fixed ownership on objects created by portal_factory. The changes to portal_factory in 2.0.4 fix problems with mapply, but they mess up object ownership and potentially have side effects if an object tries to look up its owner during initialization. The pre-2.0.4 portal_factory breaks Epoz; the 2.0.4 portal_factory breaks PloneHelpCenter. The current fix should enable both to work. The Right Way to fix this would be to perform object construction in a post-traversal hook (pre-2.0.4 object construction happened at publication time; 2.0.4 constructs during traversal), but that means abandoning support for Zope 2.6.x. [geoffd]
  • Added title attribute to links in action menus. [gotcha]
  • Fixed transaction_notes overflowing struct size in ZODB. Also made there be 1 entry point into transaction_note instead of stray in PloneTool. Publishing hundreds of thousands of items would cause the trnx.description string to get larger than 65535 which would cause FileStorage to fail on _notify [runyaga]

Plone 2.0.4 - Warp - Released August 16, 2004

  • Fixed #3329. Results of breadcrumbs.py are no longer translated in global_pathbar.pt. http://dev.plone.org/plone/ticket/3329 [stefan]

  • Fixed #3332: hide the portal_siteactions from the print stylesheet. http://dev.plone.org/plone/ticket/3332 [bmh]

  • Fixed #3334. Added a break statement to the javascript for checking link protocols. http://dev.plone.org/plone/ticket/3334 [bmh]

  • Fixed #3325 and related. Plone calendar got confused when “datetime-format international” was set in zope.conf. http://dev.plone.org/plone/ticket/3325 [stefan]

  • login_form broke with Zope 2.7.2 because of stricter XHMTL parsing. [stefan]

  • Fixed came_from testing when there is a query string (logged_in.py). [geoffd]

  • Corrected some margins and padding, the content views and headline was very asymmetrical. Thanks to Brent for notifying me about this. She blinded me with science! ;) [limi]

  • check_id script now rejects ids that are also catalog indices. [geoffd]

  • Fixed portal_factory passthrough problem reported in #3243. Also portal_factory now logs exceptions during object creation (some were being swallowed higher up) (fix for #3148). http://dev.plone.org/plone/ticket/3148 http://dev.plone.org/plone/ticket/3243 [geoffd]

  • Added enableHTTPCompression script and enabled HTTP compression for HTML, CSS, and JavaScript. [tiran]

  • Fixed #3240 and related issues. Metadata elements like description and keywords (subject) could not be cleared. http://dev.plone.org/plone/ticket/3240 [stefan]

  • Merged fixes from tiran-plip30 branch. Changed PloneGenerator and MembershipTool.createMemberarea() to always use portal-aware factory methods for creating content. Prerequesite for future integration with ATContentTypes. [tiran]

  • Changed the visual rendering of the nav tree. It now uses CSS instead of fixed values wherever possible. [limi]

    If you want the old look back, put the following in your ploneCustom.css:

    .currentNavItem,
    #portlet-navigation-tree a:hover {
    background-color: transparent;
    border: &dtml-borderWidth; &dtml-borderStyle; &dtml-backgroundColor;;
    }
    
    .currentNavItem {
    font-weight: bold;
    color: &dtml-fontColor;;
    }
    
    .navItem {
    padding: 0 0 0 20px;
    }
    
  • Nav tree now displays Description for its items as a tooltip. [limi]

  • Changed the behaviour of the site-wide actions (currently only used for text size) - so if you use or have a custom variant of this, you will need to re-customize this part. It was just too broken to not require template modification. It changed position in main_template, and produces more sane HTML now. Site actions have IDs now too. [limi]

  • Changed the search box behaviour too - it shouldn’t be absolutely positioned. If you have customized, you will need to move the main_template invocation of the search box, plus re-do the CSS, if any. Sanity was needed, sorry for the invonvenience. [limi]

  • Added ‘navtreeItem’ and ‘navLevelX’ classes to the navigation tree, so it’s possible to do funky stuff using only CSS to customizing the nav tree - for example make the only the top-level folders have bold text and dividers. [limi]

  • Added ‘navRootItem’ and ‘navItem’ classes to facilitate better skinning of the nav tree. [limi]

  • The body tag now has an HTML ‘class’ attribute, so you can skin different sections of the site with different styles. Prefix is “section-” and then the Short Name (partial URL) of the item in the root folder. This can easily be customized if you want this to work on all levels instead of just the root level, or to return multiple classes. [limi]

  • Applied patch from #3159. Missing form fields should not cause user prefs to be set to None. http://dev.plone.org/plone/ticket/3159 [stefan]

  • Added a simple check for the existence of the template ‘global_languageselector’ - this will allow the different multilingual implementations to hook into the area just below the documentActions to display language switchers. Macro name should be ‘language’ inside the template. See PloneLanguageTool for an example. This is the recommended location for language switchers. [limi]

Plone 2.0.3 - Noname - Released May 20, 2004

  • Login portlet wasn’t using the ‘label’ tag, corrected. [limi]
  • Added id=”portlet-related” in the Related portlet (was missing), and renamed ‘portlet-recent-items’ to ‘portlet-recent’ to make the name consistent with the other portlets. [limi]
  • Hardened any send mail sending utilities and readying CMF 1.4.4. [andym]
  • Fixed a small bug in plone_javascripts.js that prevents the highlight of the search term in simple searchs. [azy]

Plone 2.0.2 - Hicks - Released May 13, 2004

  • Added the ‘listingNext’ and ‘listingPrevious’ class for the batch navigator. The old span.next/previous will still work, but are deprecated. Please update any batch listings to the new format. [limi]
  • Added a email address validator to the Plone tool and validate the email addresses for the send to feature, fix for #2975. http://dev.plone.org/plone/ticket/2975 [tiran]
  • Some templates were broken with Zope 2.6. Fixed by adding a surrounding metal:block with i18n:domain=’plone’ around colophon and footer. [sidnei]
  • Moving definitions (webdav-locking) from edit-templates to global_defines, where they belong. [limi]
  • Added missing definition of filterOut. [ajung]
  • Removed unnecessary hook in FactoryTool that is handled by Archetypes itself now. [deo]
  • Default position of the “Recent” portlet is now on the left. [limi]
  • Added a new variable ‘current_page_url’ to ‘global_defines’. Since it’s pretty much impossible to get the correct URL to the current page once you’re inside CMF, the base tag and Zope and a VHM, I added this convenience variable. For those who are curious, here’s how it looks: ‘current_page_url request/VIRTUAL_URL|string:${request/SERVER_URL}${request/PATH_TRANSLATED}’ Easy, eh? Updated the Plone templates to use this variable instead. Use this if you need a variable to use with HTML anchors, it will give you the actual URL that is currently being displayed in your browser. [limi]
  • Default text on member pages are now disabled, since it just pollutes the search results. You can insert the default text in ‘homePageText.pt’ like before, the only difference is that it’s disabled by default, and uses Plone’s built-in mechanism to show relevant help text if you’re the owner of the document instead. [limi]
  • Added scoring details + i18n information in the search results. Thanks to Andrew Veitch for the suggestion. [limi]
  • Renamed METAL macro “list-item” to “listitem” in news.pt and folder_listing.pt to fix Zope 2.6 compatibility. [limi]
  • Commented out the javascript that auto-focuses on the first field in a form. There are too many places that causes a lot of trouble by moving focus away from a field in which the user is actually typing. [elvix]

Plone 2.0.1 - Jello - Released May 4, 2004

  • Backported fix for #2183 from HEAD. _verifyObjectPaste() should deny pasting if the content type is not allowed in the target container. http://dev.plone.org/plone/ticket/2183 [stefan]

  • Improvement to Customization policy: In a customization policy class you can now provide an optional method ‘getPloneGenerator’, where you can return a different PloneGenerator than the default one Affected files: Portal.py, CustomizationPolicy.py, interfaces/CustomizationPolicy.py [zwork]

  • Fixed #2973. Try to avoid brain.getObject() to speed up plone. http://dev.plone.org/plone/ticket/2973 [tiran]

  • Fixed #2795. Replaced aq_explicit by aq_inner in batchedFolderContents.py. http://dev.plone.org/plone/ticket/2795 [tiran]

  • Fixed #472. Discussion now uses CMFFormController and subject/body are required fields now. http://dev.plone.org/plone/ticket/472 [mrtopf]

  • Portal.py/SkinsTool.py: Removed monkey patch that renamed the skin request var to plone_skin and moved request_varname to our SkinsTool [tiran]

  • Fixed #2583. Disable submit button when item is locked and add a locked icon next to the disabled submit button. http://dev.plone.org/plone/ticket/2583 [tiran]

  • Fixed #2826. searchterm-highlighting now functions correctly, it highlights text in the fuill content-area, but only highlights the parts it is supposed to highlight. http://dev.plone.org/plone/ticket/2826 [elvix]

  • Fixed #2691 - External-link-detector javascript is now case-insensitive. http://dev.plone.org/plone/ticket/2691 [elvix]

  • Fixed #3001 - Fallback handling to avoid javascript-error-messages in IE5. http://dev.plone.org/plone/ticket/3001 [elvix]

  • Fixed #2859 - plonifyActions accepts javascript urls. http://dev.plone.org/plone/ticket/2859 [tiran]

  • Fixed #2948 - Auto generated ids are now lower case and the number is more random. http://dev.plone.org/plone/ticket/2948 [tiran]

  • Fixed #2990 - Nested groups don’t break the prefs_group_members template any more. http://dev.plone.org/plone/ticket/2990 [tiran]

  • Fixed #3005 by catching non existing home folder. http://dev.plone.org/plone/ticket/3005 [tiran]

  • Fixed #2963 - Allow access to Products.ZCTextIndex.ParseTree.ParseError and catch it in the queryCatalog script. http://dev.plone.org/plone/ticket/2963 [tiran]

  • Fixed #2862 - Added a listMetaTags script to skins/plone_scripts to add automagically generated meta tags in the ‘<head>’ tag. http://dev.plone.org/plone/ticket/2862 [tiran]

  • Fixed #2821 - The user doesn’t show up as a member of that group after adding because the template was returned in the same transaction. Now the add/delete script is using a redirect. http://dev.plone.org/plone/ticket/2821 [tiran]

  • Fixed #2876 - Folder rename does not reindex title. Added a explict reindex if only the title has been changed. http://dev.plone.org/plone/ticket/2876 [tiran]

  • Fixed #2892 by using global_defines in the calendar_popup template. http://dev.plone.org/plone/ticket/2892 [tiran]

  • Fixed #2749 - ‘groups’ wasn’t initialized as an instance variable, so any changes to it would vanish on restart. http://dev.plone.org/plone/ticket/2749 [sidnei]

  • Fixed #2671 - default_page as a string property would not work. Fixed this and added tests for basic behavior. More tests are needed IMHO. http://dev.plone.org/plone/ticket/2671 [sidnei]

  • Fixes for #2914. Although I could not reproduce. We now have a unit test showing that this behavior should not regress. Some logic in PloneTool was changed. http://dev.plone.org/plone/ticket/2914 [runyaga]

  • Fixed #2814 - ‘Document’ was being checked against a list of FactoryTypeInformation, which would never work. Changed to check against the list of portal_types generated by ‘<FTI>.getId()’. http://dev.plone.org/plone/ticket/2814 [sidnei]

  • Fixed #2907 - ‘get_size’ can return long. Also, improved the script a bit to be more correct with regard to sizes, include GB, use ‘kB’ instead of ‘K’ (which stands for Kelvin), return ‘0 kb’ if size is null or 0, and add tests for all of this. http://dev.plone.org/plone/ticket/2907 [sidnei]

  • Fixed #2998 - The types tool has a getTypeInfo method, but with different signature. http://dev.plone.org/plone/ticket/2998 [stefan]

  • If toolicon can’t be found, it may be because a tool is inheriting from a Plone tool, so the icon path (which defaults to relative to CMFPlone’s dir) is invalid. We fallback to resolving the CMFPlone dir and join the path. [sidnei]

  • added a PloneBaseTool that all other tools inherit from. Currently this does absolutely nothing, just a placeholder. [tiran]

  • changed the registration of tools to provide different images in the ZMI [tesdal] [limi]

  • validate_document_edit assumed the Content-Type header is always present. This is not the case. [stefan]

  • Fixed #2980 - Handle dates between PLONE_CEILING and CMF_CEILING. http://dev.plone.org/plone/ticket/2980 [tesdal]

  • Added two classes to allow list without markers: ‘ul.visualNoMarker’ and ‘ol.visualNoMarker’. [limi]

  • Added Full Screen view for images. [limi]

  • Implemented ‘management_page_charset’ as ComputedAttribute returning the value of portal_properties/site_properties/default_charset. Also see #2778 This means Unicode characters are shown correctly in the ZMI too. http://dev.plone.org/plone/ticket/2778 [stefan]

  • Added years range properties in site_properties: [deo]

    • calendar_starting_year: (default: 1999), the fixed minimum year displayed on calendar widgets
    • calendar_future_years_available: (default: 5), how many years (from current year) are displayed on calendar widgets
  • Added a ‘portlet_prefs’ that displays the different prefs panels available once you’re inside the prefs area. This uses the portlet slots introduced below. [limi]

  • Added ‘portlets_one_slot’ and ‘portlets_two_slot’ to make it possible to fill the portlets areas with content. This way, you don’t have to know what kind of layout you are in. [limi]

  • Plone now supports translation of keywords and other metadata. There is a separate i18n:domain for this - ‘plone-metadata’. Anything added into a (for example) ‘plone-metadata-fr.po’ file with the ‘plone-metadata’ domain will be parsed on the metadata_edit_form in French, and replaced with the translated strings from the po-file. Please note that this usually requires adding new metadata in a default language to avoid a mess when translating. Plone does nothing to enforce this at the moment. Currently supported fields are Keywords (aka. Subject) and Copyright (aka. Rights). The ‘search_form’ was also updated. [limi]

  • Added a define-macro “list-item” to news.pt and folder_listing.pt, so they can be reused in other templates. You have to define a repeat statement outside it similar to the template in ‘plone_templates/news.pt’. The macro itself renders one item. [limi]

  • Added icons for left/leftmost/right/rightmost. Removed unused icons. Fixed alt-representations of images. [limi]

  • Fixed bare ‘except:’ statements in Plone so we don’t swallow ZODB ConflictErrors. Mostly by adding ‘except ConflictError: raise’. [stefan]

  • Inserted a metal definition that enables the folder_listing to be used from other templates. [limi] Example:

    ‘<div metal:use-macro=”here/folder_listing/macros/listing”> The folder listing of the current folder </div>’

Plone 2.0 - Fyuti - Released March 23, 2004

Final

  • Fixed #2852. http://dev.plone.org/plone/ticket/2852 [geoffd]
  • Added cleanupSkinPath method to migration_util, used to remove bad skin layers when adding the Plone Tableless skin in the RC5-RC6 migration. [geoffd] [tiran]
  • Updated link in footer.pt to Alan’s new company. [andym]
  • Added ‘domain’ parameter to translate.py. Defaults to ‘plone’. [deo]
  • Updated isExpired.py to take the case that datetime instances are not callable. It looks a bit strange. But its fixed. Future versions should use ExpirationDate accessor. [runyaga]
  • The tableless skin didn’t have the top_slot defined. [limi]
  • Fix WebDAV for the nth time. browserDefault was using the portal_utils tool as the context for all DAV requests, instead of the real object. [sidnei]
  • Fixed #2808 - metadata_edit form was broken when the date format was set to international (zope 2.7). Fixed date_components_support.py http://dev.plone.org/plone/ticket/2808 [tiran]
  • Fixed #2804 - plone_memberprefs_panel.pt ignored the ‘visible’ of configlet actions. thats corrected now. http://dev.plone.org/plone/ticket/2804 [zworkb]
  • breadcrumbs.py had bugs in which (1) a terminal object was sometimes displayed twice, and (2) terminal non-content non-view objects (e.g. page templates) were not displayed at all. The bugs have been fixed and breadcrumbs.py has been refactored a bit to make the source easier to understand and maintain. [geoffd]
  • Fixed some instances of ‘disable_border’ being written as ‘disable_border1’ [limi]

RC6

  • Make portal more tolerant if admin removes cookie_authentication object which enables form-based logins. This is a response to http://article.gmane.org/gmane.comp.web.zope.plone.user/13868 It does not full fix, just a hold over until it is addressed properly. [runyaga]
  • Fix for #2769 - You could not enable/disable green ‘editable border’ because this was being done in the ‘head_slot’ which corresponds to ‘<head>’ in the document. Control of the border is computed in global_defines.pt which is the first macro used in main_template. Introduced another slot in main_template called ‘top_slot’ which occurs before global_defines. All third-party products will have to fill ‘top_slot’ instead of the ‘head_slot’ to disable the borders, the syntax apart from that is identical. http://dev.plone.org/plone/ticket/2769 [runyaga]
  • Fixed #2744 - Large Plone Folders should use folder_workflow. Fixed PortalGenerator and added migration and tests. http://dev.plone.org/plone/ticket/2744 [stefan]
  • Fixed and re-fixed #2246 - Short name should be editable without specifying a file. http://dev.plone.org/plone/ticket/2246 [achilles] [stefan]
  • Added a monkey-patch workaround for #1323. This may be considered a CMF bug. See setFormatPatch.py. http://dev.plone.org/plone/ticket/1323 [stefan]
  • Moved ‘document_byline’ and ‘document_actions’ to the ‘plone_content’ folder - as they belong to the content templates. [limi]
  • Checked in fix for 2600: group names and user names were not shown correctly in the Group Memberships form and the Members of Group from, if viewed not in english. Fix Suggested by ozone. [jok2]
  • Fix for 2704: added manager proxy role to register.cpy to avoid error if mail could not be sent to new member. Fix suggested by Seb Potter [jok2]
  • Fix for 2462: change default value of ids to empty list instead of None (folder_delete.cpy). Done to avoid error about iteration over non-sequence, if no item is selected for deletion. Fix suggested by Seb Potter [jok2]
  • Merge the fix for portlet_related over from the microoptimisations branch and fix for 2293 and 1920 [andym]
  • Split ‘use_folder_contents’ site property into two different properties: typesLinkToFolderContents (a navtree prop for how nav tree behaves) and typesLinkToFolderContentsInFC (a site-wide prop, for how folder_contents page should behave). Added migration to create these two and to remove the old use_folder_contents. [pupq]
  • Diet Plone - an initial page load of Plone was reduced from 150K to 75K, and HTTP requests from 30 to 15 by performing the following tweaks: [limi]
    • Calendar JS only included on pages that use it
    • Deprecated pop-up tool tips JS code commented out (easy to re-enable if you need it for legacy sites)
    • Made the colophon buttons with CSS instead of using images
    • Pulldown menu only available to logged-in users (although it can be enabled for anonymous too, if you need it)
  • Added fix for the bug reported by Edward Muller (skin setting and login problems). Don’t clear the name of the skin cookie in the prefs_portal_skiset.py. [jok2]
  • Added fix for breadcrumbs so that the parent folder is shown when you are looking at folder_contents. [pupq]
  • Fix bug 2373 so folder_contents items goto getTypeInfo.getActionById(‘view’) [runyaga]
  • Removed the ability to edit short names while adding a file, since users have problems remembering that the extension has to be included. They are also very surprised when the file they uploaded has a different file name. Removing this will give them a sensible default. If you want to re-enable short names for files for your site, remove the comments around the code. [limi]
  • Added the Creator/Modified indicator to the edit forms too. [limi]
  • Added security checks for viewing the view forms. There was no security problem, since you couldn’t save the document, but now we also check that you are logged in, so you can’t invoke the URL directly to look at the edit form anymore either.
  • Added getAllowedTypes for use in folder_contents and global_contentmenu to check for getNotAddableTypes and when to show a single item instead of a dropdown. ( fixes bug )
  • If a content type is listed in portal_properties/site_properties/use_folder_contents then use ‘folder_contents’ to display it, not ‘’. Removed the migration that initialized this value to [‘Folder’] [pupq]

RC5

  • Removed false ‘required’ indicators for Title attribute on file/image edit forms. You simply need to upload a file. Thats it. [runyaga]

  • Added extra check for dictionary-based actions. Will work better with old sites being migrated. [tesdal]

  • The base slots were being filled in the wrong order, causing it to not work as expected. Fixed. [tesdal]

  • Added macro names for the left/right slots, so you can override them by filling the slots from a template. Example:

    ‘<metal:override fill-slot=”column_one_slot” />’ ‘<metal:override fill-slot=”column_two_slot” />’

    This enables you to “turn off” the slots from a template, thus eliminating the need to create a folder to do it. [limi] [tesdal]

RC4

  • CMFPlone.FormTool.BasicForm.get_field signature has changed. def get_field(self, id): to def get_field(self, id, include_disabled=0): FormTool is deprecated or will be deprecated in 2.0. Bug #2498 http://dev.plone.org/plone/ticket/2498

  • For those of you who were running tableless designs in the RC3 and earlier releases and want to keep it that way - simply add a DirectoryView for ‘plone_tableless’ in ‘portal_skins’, and add it to the skinpath. This will activate the tableless versions of:

    • main_template
    • ploneColumns.css

    Apart from adding these two, no other changes are needed. The reason for this change were numerous, the most important ones being crash bugs in IE and bugs in Safari. Tableless will probably return as the default if we can get it stable enough, but it wasn’t good enough for 2.0. [limi]

  • Made sure there are no naked mailto: links for spambots, all mail addresses are now using the spamProtect script. Syntax: ‘<a tal:replace=”structure python: here.spamProtect(Person.email)” />’ - this will return a complete a href tag with the mail address spam- protected. [limi]

RC3

  • WARNING: Some changes had to be made permission-wise to make the default behaviour make sense. It was very inconsistent in 1.0, and we decided to do a partial clean-up so it behaves better in 2.0. Read this and make the necessary changes to your application, especially if you use the List Folder Contents permission in special ways. The following changes were made:
    • ‘folder_listing’ is not governed by the List Folder Contents permission anymore, which is the correct behaviour. The best way to think of ‘folder_listing’ is as an alternative ‘View’, not as an alternative ‘folder_contents’. ‘folder_contents’ is for editing and manipulating the contents of a folder, not for viewing.
    • ‘folder_listing’ is now always available, but checks for permissions, and hides content you don’t have the permissions to see.
    • You still can’t access a ‘private’ object, so it’s still protected, no change there.
    • The one potential problem is that it’s possible to see the ID of an object - this is because of the way CMF and Zope does it however - and you have to know the exact method call to do this. It will never give you anything but the ID though, so we don’t view this as a big problem.
    • ‘visible’ content is also visible to anonymous users. This was the original intent of the state, but was broken in 1.0. However, if you depend on this behaviour, you should note that it has changes, and make your own custom workflow for this.
    • Finally, this thing needs to be tested properly, so please help out by installing third-party applications and see if they are affected in a negative way by this change.
  • checkPermission is exposed in global_defines. We check to see if you can Modify portal content in folder_contents to determine whether or not to show the external editor icon. Changes references to portal_membship.checkPermission to use the global checkPermission reference
  • Do not show order column if you can not Modify portal content for folder.
  • [FEATURE] Added ‘sharing’ action for all nonFolderish types in portal_types If you have a problem with this bring it up w/ alex or dannyb
  • If you have any object actions besides ‘view’ you will not get the greenborder. before we suppressed if it was ‘view’ or ‘folderContents’
  • Permissions changes. The folder_buttons, copy,paste,rename,delete,cut were protected by CMFCorePermission.ModifyPortalContent which is incorrect. Moved it to AccessControl.Permissions.copy_or_move. I am not sure that is correct either because all permissions checking for folder_buttons is done at the folder level. If we want to be more fine grain (show a delete button if we have access to any content to delete) we will need to execute a condition (script) for all content. This could be prohibitively expensive. Changes made in CMFPlone/setup/ConfigurationMethods.py
    • It was possible to delete something out of a folder even if you did not have ‘Delete objects’ permission. If you ‘cut’ a object from one folder and pasted it into another. So we put an extra condition on ‘cut’, python:portal.portal_membership.checkPermission( ‘Delete objects’, object)
    • We should wipe out all actions and reinstall them that are regarding the ‘folder_buttons’ category
    • This is in regards to issue, #1985
    • Declared manage_copyObjects on PloneFolder.PloneFolder protected by ‘Copy or Move’ instead of ‘Modify portal content’
  • moved CMFPlone/migrations files into CMFPlone/migrations/v1 or v2 modules. Although this is not a permenant solution. It will work well enough.
  • allowedContentTypes is a expensive call. made this global inside of plone_templates/global_contentviews.pt and its reused throughout the global_contentmenu, global_contentviews and folder_contents. This should make the experience a tad snappier

RC2

  • Renamed portal_control_panel_actions to ‘portal_controlpanel’ and made it use ToolNames instead of hardcoded strings. This will break RC1 sites, so here’s how to update your existing site:
  • Now comments in Plone are text/plain. No longer using structured-text. DiscussionTool has grown a method, cookReply. This is temp fix. CMFDefault.Document should have a cook method which can ‘recook’ its body text. This is something Archetypes should implement. Being able to recook without passing in the values. Modified CMFDefault to accept a text-format in createReply.
  • Add ‘site_actions’ category to portal_actions. This includes: Small, Normal, Large text links. This was added in setup/ConfigurationMethods.py addSiteActions. We add 3 actions to portal_actions and 3 icons to portal_actionicons. NOTE: We want to cache the icons in the plone_utils.getIconFor – this is a problem. If you change an icon it will not take effect until you restart zope.
  • Now in setup/ConfigurationMethods.py where the left/right_slots for the portal root are created have been changed. It is quite sensible. We are removing the terminology of ‘slots’. We are moving towards the prefered naming, ‘portlets’. Macro paths are sensible: here/portlet_foo/macros/portlet This means that all slots are now renamed portlet_$name and all macro have been renamed to ‘portlet’. The old slot code still exists and has deprecation comments in the PageTemplates.

RC1

  • PrivatePloneWorkflow and PrivateFolderWorkflow no longer register their workflow factories. They will disappear from Plone core. [stefan]
  • Fixed PloneWorkflow’s mapping of ChangeEvents permission to follow the mappings for ModifyPortalContent. [stefan]
  • Made ListFolderContents unavailable to Members when a folder is in the private state (FolderWorkflow). [stefan]

Beta 3

  • WARNING! If you attempt to add several Plone sites back-to-back you will encounter some problems. The system works fine for adding a single Plone site. If you want to add more you will have to restart your Zope. We have worked out the problem and its not too difficult we just need to put a solution in place. Thanks to Steve Alexander and Tres Seaver for helping out. In summary, we know there is a problem. Please do not bug us. We are attempting to adhere to the mantra, ‘release early, release often.’
  • Deprecated stylesheet_properties for the new base_properties in the CSS. This one is much more flexible, clean and reusable, but note that if your site relied a lot on the old stylesheet_properties file, you will have to move the attributes to the new file. The reason for renaming it was to not cause errors when upgrading. It will reset your color choices, though. The new properties are documented in ploneCustom.css. [limi]
  • Removed the CMFWiki and CMFCollector skins from Plone core. NOTE: You need to add the correct skin paths if you are using these products, they are no longer installed by default. The skins are now located inside the Products themselves. [limi]
  • Added version checking of Products, and easy reinstall from Add/Remove Products panel. [zwork] [limi]
  • Hooked up the plone_memberprefs_panel for easy adding of user-specific control panels. [ronnix] [andym] [limi]
  • Portlets overhaul and renaming, in separate directory now. [limi]
  • Removed XML-RPC from Add Comment form. [limi]
  • Renamed “Name” to “Short Name” in the edit forms. [limi]
  • Moved all the skins to PloneSkins in the Collective. [limi]
  • got rid of the ancient, nasty FormulatorTool. [geoffd]
  • fixed portal_factory so that the folder and folder_url values provided to actions are correct for temporary objects, made content_status_modify and metadata_edit portal_factory aware. objects created with portal_factory should now behave just like normal objects. [geoffd]
  • renamed plone_debug script to plone_log. if you want to log out to zLOG simply context.plone_log(‘this should be in the log’)
  • removed ‘portal_workflow’ from list of portal_actions’ Action Providers. Sites with large worklists would benefit most from this. We no longer put worklist states in the ‘personalBar’. We use the ‘review_slot’.

Beta 2

  • now shipping with Formulator 1.5

  • add portal_actionicons.renderActionIcon(category, iconid, default) which returns back the actual object instance instead of a path. Now you can put icon and action in the bar left of the ‘add new item’ in the green bar by:

    • creating an action who’s category is: object_actions
    • create an action_icon whos category is: object_actions and icon_id is the same as the ‘id’ above

    this potentially invokes lots of calls down to portal_actionicons but its the only way to actually get the icons with all the attributes. We could cache the icons in the renderActionIcon method. Also added unit tests.

  • add PloneContent.py base class that inherients from PortalContent we could use this in the future to hook the reference engine in archetypes (or rather the reference engine that should move out of archetypes wink)

  • added ‘enable_border’ to folder_localrole_form, folder_edit_form, content_status_history so that the greenborder will show up when you are performing these actions at the root of the Plone site. this should be done in python instead of in the templates. 2.1 ;-)

  • added ‘unwrapobjects’ property to the CatalogTool PropertyManager if this is True the catalog will unwrap the AcquisitionWrapper from the object before indexing. This was done because you could get unexpected results if you had content with the same ID as a Index. [stefan removed this because runyaga sucks but we need this w/ tests]

  • added a Plone Site portal_type. This portal_type is what the root of the Plone Site’s _setPortalTypeName is set to. This way the Folder permissions are manipulated separately from the root of the Portal. What became a major problem in “private” sites was having a different policy set in the Permissions tab but then someone “Updating Permissions” from the workflow tool which would reset the permission on the root of your site! This is added to migrations.

    • If you only allow ‘Authenticated’ to ‘View’ the portal root when you login you authenticate but get a ‘Insufficient Privs’ page.
    • It seems you can not logout ;-( – maybe you logout but before redirection you dont have ‘View’ permissions and the exception rollsback the logout?
  • personalBar (mystuff, preferences, undo, logout) now no longer uses ‘global’ actions. This was causing worklist ‘pending <foo> (N)’ in the personalBar. Which is not i18nable and breaks semantics of the personalBar (which are user-centric actions). Two things were introduced:

    • keyFilteredActions which will return a two dimensional dictionary keyed_actions=[category][action_id] so you can easily pick out actions using its category and id.
    • getOrderedUserActions which given a two dimensional dictionary keyed like keyFilteredActions and a ordering dictionary will return ‘in order’ the user actions. If you add more actions using tools they will show up in between the ‘pre’,’post’ ordering lists (which can be passed ala ordering dictionary)

    NOTE:

    • portal_undo actions ‘undo’ category should be ‘user’ not ‘global’ this goes the same for portal_properties’ ‘configPortal’ action
    • plone should not ship with ‘default_workflow’ which injects hardcoded information into the listFilteredActionsFor.
    • all worklists in plone workflows should not use ‘global’ category but should use the ‘workflow’ or ‘worklist’ category. Up to whoever gets to it first 8-).
  • Presentation mode now renders paragraph tags invisible, which means you can create a richer document for web and/or print, but keep the presentations without the additional comments. If you want the old behaviour, just uncomment the relevant p {} section in the plonePresentation.css style sheet.

  • CMFPlone.Portal.Site now uses the OrderedContainer mixin. __implements__ the OrderContainer and DefaultDublinCoreImpl xface.

Beta 1

  • Content types in Plone now have the notion of both Views and Actions. Actions are show on the content bar, views are tabs, as earlier. [limi]

  • Reworked the way Content Views are constructed - now you can have multiple content areas with tabs on one page. Idea by [arnia], implementation by [limi].

  • Reworked the default content views, they look much better now. [limi]

  • Moved the byline to a separate template in plone_contents. [limi]

  • Cache headers were moved to a separate file in plone_templates called global_cache_settings to make it easier to customize the caching options without changing main_template. [limi]

  • GroupUserFolders’ GroupsTool and GroupDataTool are now subclassed in CMFPlone [runyaga]

  • QuickInstallerTool is now installed in CMFPlone/Portal/PortalGenerator.setupTools() In the migrations for 1.1 QuickInstaller is notified that are installing CMFActionIcons and CMFCalendar outside the framework. Now they show installed. QuickInstaller is now subclassed in Plone and has a test that installs/uninstalls a product. [runyaga]

  • CatalogTool’s searchResults takes Permission settings aquired trough local groups into acount. Permission local roles assigned to users is still not honoured. [_robert_]

  • MembershipTool’s listMembers and listMemberIds now only return real users (not groups) when GRUF is employed. The MembershipTool comes with tests! [_robert_] [stefan]

  • Added a ZopeTestCase based test framework developed at the Castle Sprint. Nuked the old tests (with Sidnei’s permission). [stefan]

  • Removed Domains from the user preferences - this field makes it very easy to lock yourself out of your account, and should therefore only be available to administrators. [limi]

  • Bug fix for #1154 - SearchableText should be ZCTextIndex. http://dev.plone.org/plone/ticket/1154 [kapil]

  • Added unicode splitter for zctextindex element pipeline from silva (w/ license). [kapil]

  • Added lexicon addition to migration. [kapil]

  • Added lexicon addition and recreation of searchabletext index as zctext to catalog tool’s manage_afterAdd. [kapil]

  • Added new directories: ‘plone_portlets’ (formerly ‘plone_templates/ui_slots’), ‘plone_form_scripts’ (formerly ‘plone_scripts/form_scripts’) - these two to avoid having skin paths two levels deep - ‘cmf_legacy’ (contains the few CMF scripts we still depend on), and ‘plone_prefs’ (contains the new Plone Control Panel). Skin paths updated. [limi] [runyaga]

  • Location is now shown in the events box. [limi]

  • External Links in the default folder view now go directly to the URL specified. [limi]

  • Events now show location and from/to-date in the default folder view. [limi]

  • Changed the behaviour of deleting objects in PloneFolder, so the object is checked for the Delete Object permission instead of the folder. This means that the workflow can restrict the Owner from deleting an object (for example in a published state). [sidnei]

  • Subclassed all CMFCore and CMFDefault tools for easier extension in the future. [sidnei]

  • generateUniqueId and isIDUnique now are a bit more unique (with regards to randomness) and we now suffix generated ID’s with .html - issue #1343 http://dev.plone.org/plone/ticket/1343 [runyaga]

  • Added Recently Published slot, and a complimentary Archive page. [limi]

  • Changed the comment structure and layout - it’s much moresimple and elegant now. [limi]

  • Added permanent CSS fix for the Internet Explorer 6 Disappearing Elements bug. [limi]

  • Removed superfluous page refresh for IE6 disappearing text bug [limi]

  • Renamed all JS files to .js instead of js.dtml [limi]

  • Removed Javascript header declarations [limi]

  • added .metadata to associate Javascripts with HTTP cache manager [limi]

  • SiteErrorLog is now created in the Plone site. This will be easier for people to provide us with ‘traceback’ information. Before it was created at the root of the Zope instance. [runyaga]

  • REMOVED portal_form_validation (which has been deprecated in 1.0) is no longer added to your Plone site on construction. the .py file still ships with Plone and will be removed in 1.2 [runyaga]

  • Changing your password now requires you enter your current password. Also changed the ‘change_password’ script id to ‘plone_change_password’ to lessen likelihood of clash (we clashed with gruf). We now override MembershipTool.setPassword to call underlying acl_users._doChangeUser this way we can pass domain information as well from preferences form. [runyaga]

  • all the previous migrations have been rolled into 1 migration method make_plone and removed ancient cruft (alpha/early betas) [runyaga]

  • Password generation code now eliminates characters that look alike from passwords (e.g. 0 and O, 1 and l, etc). This should reduce the number of user complaints about their initial passwords. [geoffd]

  • Cookie testing now works for IE 5.0. [geoffd]

  • Added ExternalEditor as an action in the documentActions area. [limi]

  • Added support for defining your own default pages in any folder. Implemented via browserDefault. The way it works is:

    • if there’s a property ‘default_page’ (must be lines) on the folder will use that (normal acquistion applies)
    • if not found, use site_properties
    • if not found, use index_html
    • if not found, use default action [andym] [sidnei] [limi] [philikon]
  • Added support for FrontPage as a default page in a folder via browserDefault. This is added to support ZWiki and other Wiki implementations. [limi]

  • The Presentation/Slide CSS is now optimized for 1024x768, which is the most common projector resolution. Too bad it’s not possible to specify font size relative to the screen size. [limi]

  • Added new Plone Powered icon and a few RSS ones. I don’t know who the original author of the Powered button is, but thanks! :) [limi]

  • Removed CustomizationPolicy pulldown from ZMI. You can still enable it by uncommenting the code if you are developing CustomizationPolicies. [limi]

  • There is a new version of portal_factory in 1.1. It lets you create objects which, if you don’t save them, don’t get created in the ZODB. If you want a type to be created with portal_factory, add the object’s type to site_properties/portal_factory_types, and then all calls to createObject will use portal_factory. [geoffd]

  • Removed the CMFWeblog templates and put them in the CMFWeblog product instead. Located in the Collective. [limi]

  • Migration Tool overhaul

    • trimmed down plone initialize
    • added seperate setup widgets for languages, skins etc
    • added needUpdating and needRecataloguing
    • added visual notification in the ZMI that the instance is out of date
    • added improved log results
    • other improvements [andym]
  • Added Plone trashcan on behalf of Maik Jablonski [andym]

  • Fixed Plone Print style sheet - finally prints well in all browsers that know how to do printing. Which unfortunately excludes Mozilla in its current state. IE and Opera print perfectly, Mozilla prints way too big. [limi]

  • Added current time to the standard error message. Useful when your users report errors and you want to locate the incident in the error logs. [limi]

  • User Management Screens were added:

    • Users overview - prefs_users_overview - batch user maintenance
    • User details - prefs_user_details - editing attributes of a member
    • User Memberships - prefs_user_memberships - add/remove group membership for a user
    • Groups overview - prefs_groups_overview - batch group maintenance
    • Group details - prefs_group_details - editing settings for a group
    • Group Members - prefs_group_members - add/remove members of a group
    • User/Group selection form - prefs_user_group_search_form - a screen to select users/groups and feed them back to the other screens

    [limi] [runyaga]

    Note: Requires “GroupUserFolder from Collective”:http://sf.net/projects/collective

  • PloneTool.editMetadata made a really bad asssumption. We now use interface packages to assert that a object implements the interfaces before attempting to set DublinCore attributes or Discussable attributes. [runyaga]

  • Now require CMFActionIcons Product from cvs.zope.org. We register document_action icons for such actions as: Send to friend, Print this page, and RSS. Please use the putils (in global_defines.pt) getIconFor which will return the id of the icon. [runyaga]

  • Groups support via GRUF [runyaga]

  • Removed the Filter pulldown. It doesn’t work well, and is not the way to cope with the problem of many objects anyway. [limi]

  • Made it possible to use quoted variable contents in the font selection. [limi]

  • removed all use of getAuthenticatedMember() in templates - now references global ‘member’ variable: ‘plone_templates/global_defines.pt’ [runyaga]

  • Doesn’t show id’s if they are autogenerated anymore - context.show_id() [runyaga]

  • Got rid of getAuthenticatedMember which is deprecated. In main_template there is a member variable which does this only once. [runyaga]

  • Added news slot and event slot to the default slots when a new Plone site is created. [limi]

  • Changed “Welcome” tab to “Home” to be more consistent. [limi]

  • Changed the events slot, so it shows events that are currently in progress. Earlier it didn’t display the event when it had reached the start date. [limi]

  • Moved contentEdit before edit (so when you call edit the file knows what its new id is) [runyaga]

  • You can now edit Files from within Plone if they are text/* MIME type. [runyaga]

  • Several updates to conform to WAI-A and Section 508 accessibility guidelines. [sh1mmer]

  • Major template clean-up:

    • Separated the global defines into own template [limi] [elvix]
    • Separated ‘base’ calculation into own method, removed slot [limi] [elvix]
    • Added global DOCTYPE declaration. This means that no templates should have its own declaration. [limi] [elvix]
    • Removed all references to the base slot from existing templates, they were all just using it to set the noborder variable anyway. [limi] [elvix]
    • Refactored main_template heavily, it contains no logic anymore, only structure. [limi] [elvix]
    • Moved all the different parts into scripts or templates outside main_template [limi] [elvix]
    • Generic cleanup of a lot of bad templates [limi] [elvix]
  • Added link rel tags for better accessibility, Plone now outputs rel links for:

    • Home
    • Contents
    • Search
    • Help
    • Copyright
    • Author

    [limi]

  • Plone doesn’t use any tables for layout anymore. And it works perfectly in Netscape 4 too. Amazing, but true ;) (Tested in IE, Moz, Opera and NS4, needs Mac IE testing) [limi] [elvix]

  • Major refactoring of the main_template, it’s now squeaky clean. [limi] [elvix]

  • Lots of cleaning done in the CSS. [limi] [elvix]

  • DOCTYPE is correctly positioned [limi] [elvix]

  • All templates have been correctly formatted with regard to this. IMPORTANT: All templates should start with an html tag on the first line, if you don’t put it on the first line, the DOCTYPE will not be on the very first line, as Zope renders whitespace before filling a slot. [limi] [elvix]

  • Added ‘document_actions’ category in portal_actions [runyaga]

  • Added check on advanced search form, it now shows a pulldown for authors if there are less than 30, and a text input field if there are more. [limi]

  • The search results page now has a link to the advanced search page. Search tab removed when generating new site. [limi]

  • Content now gets an effective date of “now” if it doesn’t have one on a state change. Also news now get sorted by effective date. Fixes #1051. http://dev.plone.org/plone/ticket/1051 [ronnix]

  • Removed the About slot from site generation. This is not in migrations, as it’s bad form to mess with people’s existing slots - however, new sites created with 1.1 shuld not have it, sinc it is now integrated into the documents themselves. [limi]

  • removed all .properties files and made them .metadata files tal:define=”here/rejectAnonymous” and made [ ‘security’ ] assertions in .metadata [runyaga]

  • there is now a folder in the root of the Plone site called ‘help’ which is bootstrapped with ‘Document’ objects located in CMFPlone/docs. Thus, we have inline docs now. [runyaga] [limi]

  • ownership_form now reindexes objects when they change ownership. This exposes a ugly bug in CMF where Creator=Owner sigh [runyaga]

  • Made the default content for a homepage called homePageText (was originally a PythonScript - sidnei) a PageTemplate. The biggest problem is the first time throw creating an account wrapUser() is called and you get a Memberarea created (and your member object has not has setMemberProperties called yet) so you dont have access to the member properties ;-( [runyaga]

  • IDs are now generated using a FSPythonScript, generateUniqueId [runyaga]

  • We now require BTreeFolder2, created a ‘Large Plone Folder’ If you have a folder, such as Members who has over a few hundred items you should consider using a ‘Large Plone Folder’. [runyaga]

  • Fixed permissions on PloneFolder methods set in CopySupport.py (1195) [runyaga]

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

  • made discussion item preview on the same page using vcXMLRPC, would like to do for all content types [andym]

  • tabindex can now be used in left/right_slot too. [magnus]

  • Breadcrumbs and form validation error messages are now translated [magnus]

  • Moved folder_listing into plone_templates [limi]

  • New layout for folder_listing, just lists the items with description now, is better as a default view [limi]

  • Moved the “create default document” to the management side (folder_contents) where it belongs [limi]

  • CMF from HEAD has version ‘Unreleased’. Registered a Configuration for it while the apb-redux branch lands. [runyaga]

  • Instance version was set to 1.0beta2 on Portal.py

  • Removed “(No Description)” string from news.pt

  • creates an object to hold customization policy output, if any.

  • 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.

  • integrated browser_default, the default_page variable can be set in site properties and can be a list of pages to look up in order to find the default: eg index.html, index.htm, index_html

  • added migration to future to add in default_page

  • changed meta_type for portal to be ‘Plone Site’

  • content_status_history (state tab) form now displays the current state in the state list. This is a usability decision. All options should have a default state. Now the default is a NOOP, but will not error. Exposed WorkflowException to PythonScripts.

  • folder_contents will show lock if portal_lock isLockedOut returns True also removed unnecessary traversal

  • moved the navigation_tree_builder.py into StatelessTree.py; not sure if profiling is correct (or I am reading it) but it said its faster. the navigation_tree_slot now uses plone_utils.createNavigationTreeBuilder

  • moved documentActions (‘print this page’, ‘send to friend’) into a slot called item_action_slots which is a proper slot. Also added a syndication widget and all of these are held in plone_templates/ui_slots/actions_slot.pt

  • imported nested_scopes in Portal.py and made pre-beta migrations possible

  • main_template and header cleanup (needs to be re-aligned with CMFDefault)

  • added CMFDefault variables to main_template.pt and moving to use alot of the variables declared in main_template else where in PageTemplates

  • items listed in folder_contents generatd urls pointing to immediate_view (type information)

  • not addable portal types are returned by the getNotAddableTypes script which can be customized to filter out types based on user or context. [philikon]

los comentarios son proporcionados por Disqus

Descarga

Descargar estos documentos

Tabla de Contenidos

Recentpages

2015-05-19
Compactar la ZODB de sitio Plone
Programa repozo.py
Actualizar el ZCatalog
Zope Object Database - ZODB
Configurar puntos de montajes para Data.fs separadas
Respaldo de la ZODB
Reparación de ZODB
Importar y exportar contenido desde el ZMI
Zope Management Interface - ZMI
Z Object Publishing Environment

Acerca Plone

Esta es documentación para Plone®. Plone es un sistema de gestión de contenido popular, código abierto, escrito en el lenguaje de programación Python.

Editar este documento

El código fuente de este archivo esta hospedado en GitHub. Todos pueden actualizar y corregir errores en este documento con unos clic - sin necesidad de descargar.

  1. Vaya hacia el articulo Novedades en Plone 2.5.5 en GitHub.
  2. Presione el botón Fork. Este creara su propia copia personal de la documentación.
  3. Edite los archivos usando el editor de texto de GitHub desde su navegador Web
  4. Rellene en la caja de texto Commit message al final de la pagina indicando por que usted realizo estos cambios. Presione el botón Propose file change próximo a ese cuando haya finalizado.
  5. Luego diríjase a la página Send a pull request (no será necesario rellenar ningún texto adicional). Sólo tiene que pulsar el botón Send pull request.
  6. Sus cambios serán consultados por un revisor dentro de la pestaña Pull requests del proyecto en Github.

Para mas información básica acerca de como actualizar este manual y referencia a sintaxis Sphinx, por favor consulte la guía Escribiendo y actualizando el manual.