Skip to main content

Layout mechanisms for Plone

Project description


This package contains various visual components for Plone, such as viewlets and general views.


  • the 2.2.x series is for use in Plone 4.2

  • the 2.3.x series is for use in Plone 4.3 (versions below 2.3.2 may also work with Plone 4.2)

  • the 2.5.x series is for use in Plone 5.0

  • the 2.8.x series is for use in Plone 5.1

  • the 3.4.x series is for use in Plone 5.2

  • the 4.x series is for use in Plone 6 (the current master/main branch)

Using other combinations might work, but you may find getting support for that harder.

If you are using Plone < 4.3.5 and you are using dexterity items and, you might want to pin the latest 2.3.x version of this package.


4.1.1 (2024-05-06)

Bug fixes:

  • Less DeprecationWarnings by using plone.base.navigationroot.* [@jensens] (#364)

  • Less DeprecationWarnings by using* [@jensens] (#365)

  • Remove long outdated (Plone 5) deprecation moved for dashboard [@jensens] (#366)

4.1.0 (2024-04-23)

New features:

  • Add a field webstats_head_js to the Site controlpanel and render its contents in the head section using IHtmlHeadLinks viewlet manager. See issue 3931: some javascript needs to be loaded at the bottom of the page, and some in the head section. [jladage] (#3931)

4.0.8 (2023-12-22)

Bug fixes:

  • Fix KeyError time when missing workflow variables are added later. Fixes issue 357. [maurits] (#357)

4.0.7 (2023-07-14)

Bug fixes:

  • Fix nested li tags after zpretty in [petschki] (#350)


  • Update configuration files. [plone devs] (7723aeaf, cfffba8c)

4.0.6 (2023-06-22)

Bug fixes:

  • Unify default values for translations [erral] (#347)

4.0.5 (2023-05-22)

Bug fixes:

  • Deprecate moved getNavigationRoot and getNavigationRootObject in This was already moved earlier as get_navigation_root and get_navigation_root_object to plone.base.navigationroot. [@jensens] (deprecate-navigationtroot)

  • Fix transitive circular dependencies in Move .nextprevious.INextPreviousProvider to and put BBB import into place. Move the default page warning viewlet from with it’s ZCML to [@jensens] (fix-circular-dep-padexterity)

  • Bring back all HTML attributes for actions. [gforcada] (#340)

4.0.4 (2023-04-26)

Bug fixes:

  • Remove dead code for Archetypes relations lookup. [@jensens] (rm-archetypes-code)

  • Add another unused get_translations method to deprecated ones. Circula dependency on is only for unused deprecated methods. Move it’s imports into methods-body and remove dependency from [@jensens] (rm-dep-pamultilingual)

4.0.3 (2023-04-15)

Bug fixes:

  • Remove Archetypes code from TOC viewlet. @jensens (rm-at-code-from-toc)


  • Update configuration files. [plone devs] (11f0db91)

4.0.2 (2023-03-14)

Bug fixes:

  • Move interface to plone.base.interfaces.siteroot and add a deprecated import to [jensens, gforcarda] (Plone-3731)

4.0.1 (2023-02-22)

Bug fixes:

  • Remove deprecation warnings (#331)

4.0.0 (2022-11-18)

Bug fixes:

  • Fix document-actions icons [MrTango] (#321)

4.0.0b5 (2022-10-11)

Bug fixes:

  • Fix password used in tests. [davisagli] (#328)

4.0.0b4 (2022-09-30)

New features:

  • Use a variable to allow customization of the image scale used for social tags [laulaz] (#323)

Bug fixes:

  • Fix undefined logger variable [laulaz] (#323)

  • Show modification datetime in toolbar with full datetime according to locale format [erral] (#325)

  • Use longer password in tests. [davisagli] (#327)

4.0.0b3 (2022-08-31)

Bug fixes:

  • get the title of the navigation root from the registry when the navigation root object is the portal object [erral] (#317)

  • Fix css classes for membertools dropdown if toolbar is disabled. [petschki] (#320)

  • Update markup and css classes for anontools viewlet. [petschki] (#322)

4.0.0b2 (2022-07-19)

Bug fixes:

  • Reuse existing i18n label [erral] (#315)

  • Change i18n translation msgid [erral] (#316)

4.0.0b1 (2022-06-23)

New features:

  • Updated tests for SVG Plone logo. [petschki] (#310)

Bug fixes:

  • Toolbar width and wrapping tweaks. [agitator] (#311)

  • Fix og:image by using an @@images scale instead of @@download. [agitator] (#312)

  • Fix toolbar header toggle (do not change url when clicking). [petschki] (#313)

  • Add missing i18n tags [erral] (#314)

4.0.0a12 (2022-05-24)

Breaking changes:

  • Use plone.base, black, isort. [maurits] (#302)

New features:

  • Reimplement dropout toolbar submenus and collapsed icons. [petschki, agitator] (#303)

Bug fixes:

  • Display all the creators if they are more than one. Make the byline and the contributor viewlet markup consistent. [ale-rt] (#304)

  • Deprecate unused code [ale-rt] (#305)

  • Remove alt tags from icons within links. [agitator] (#309)

4.0.0a11 (2022-04-07)

New features:

  • Restructure global sections and searchbox markup for mobile navigation as offcanvas sidebar. [agitator] (#294)

  • LiveSearch with support for images in search results. [agitator] (#299)

Bug fixes:

  • Use icon resolver from Plone 6 and use SVG icons. [agitator]

    Integrate new toolbar. [petschki] (254-2)

  • Use pat-display-time from Patternslib in the toolbar and remove pat-moment from the history view. [thet] (#254)

  • Allow scrolling content while offcanvas toolbar is expanded [pbauer] (#295)

  • Do not use structure for status messages. [maurits] (#297)

4.0.0a10 (2022-02-23)

Bug fixes:

  • Remove plone.header viewlet [erral] (#286)

  • Correct favicon handling: fix URL to navroot/favicon.ico and use customized icon file name as part of the proxy cache key. (#290)

4.0.0a9 (2022-01-28)

New features:

  • Add viewlet to display customizable favicon with handler to update its MIME-type [talarias] (plip-favicon)

4.0.0a8 (2022-01-25)

Breaking changes:

  • Remove (marked for removal im Plone 6) deprecated methods. [jensens] (#285)

Bug fixes:

  • In global sections viewlet fetch registry only one time. Also: Code style black and minor code cleanup. [jensens] (#285)

4.0.0a7 (2022-01-19)

Bug fixes:

  • Escape navigation titles only once. [thomasmassmann] (#280)

4.0.0a6 (2022-01-07)

New features:

  • Global section viewlet: Catalog based navigation. Show the global sections also if navigation contains items but tabs are empty. This allows for disabling portal tabs rendering and constructing the navigation only from the catalog query. [thet] (273-1)

  • Global sections viewlet: Customize entries and query. Also allow customizing the tabs entries and the navigation query along with the other navigation entries. [thet] (273-2)

  • Global sections viewlet: Factor out types_using_view. Factor out types_using_view so that this method can be re-used, e.g. in a subclass with a customize_entry method. [thet] (273-3)

  • Global sections viewlet performance optimizations:

    • Remove pointless caching on types_using_view,

    • Store settings in variable for multiple access, bypassing cache checks,

    • Remove now pointless caching on settings property,

    • Deprecate now unused navtree_depth property.

    [thet] (#275)

4.0.0a5 (2021-11-23)

Breaking changes:

  • Move most (hard dependency) portlet related to Dashboard, Portlet related viewlets. A first step towards a Portlet-as-an-Addon story. [jensens] (#268)

  • Remove long deprecated getIcon` from layout-policy. [jensens] (#270)

Bug fixes:

  • Fix breadcrumb id. [agitator] (#267)

  • Micro optimizations at visibility in layoutpolicy [jensens] (#271)

4.0.0a4 (2021-10-16)

Bug fixes:

  • Add missing i18n:translate tags [erral] (#264)

4.0.0a3 (2021-09-15)

Bug fixes:

  • Remove cyclic dependency with Products.CMFPlone [ericof] (#261)

4.0.0a2 (2021-09-01)

Breaking changes:

  • Update for Plone 6 with Bootstrap markup [agitator, ale-rt, jensens, mauritsvanrees, mrtango, pbauer, petschki] (#250)

  • Update dashboard for Plone 6 with Bootstrap markup [1letter] (#252)

New features:

Bug fixes:

  • Show document_byline to public if display_publication_date_in_byline in site controlpanel is active. Only show author if allow_anon_views_about in security controlpanel is active. Show modification_date if not published or modification_date is greater that effective_date. [agitator] (#258)

4.0.0a1 (2021-04-20)

Breaking changes:

  • Update for Plone 6 with Bootstrap markup [agitator, ale-rt, jensens, mauritsvanrees, mrtango, pbauer, petschki] (#250)

  • Update dashboard for Plone 6 with Bootstrap markup [1letter] (#252)

New features:

  • add col visibility marker classes to body tag [MrTango] (#238)

  • add icon_expr to actions dict [agitator] (#2967)

3.4.6 (2020-09-28)

Bug fixes:

  • Fixed various deprecation warnings. [maurits] (#3130)

3.4.5 (2020-09-07)

Bug fixes:

  • Made the error page recognisable again in the body classes. Instead of template-index-html you now get template-error_message-pt. Compatibility note: in Plone 5.1 and earlier, this was template-default_error_message. [maurits] (#242)

3.4.4 (2020-07-17)

Bug fixes:

3.4.3 (2020-06-30)

Bug fixes:

  • Restore selectedTabs code that was removed in 3.4.1 to prevent breaking changes inside a minor Plone release. Plone doesn’t use this code anymore, but third party addons may use it. (#239)

3.4.2 (2020-04-20)

Bug fixes:

  • Make navtree more robust against empty title or name, do not fail but fall back to id. [jensens] (#237)

3.4.1 (2020-03-09)

Bug fixes:

  • Analytics viewlet: make webstats_js a property, so that it does not rely on an a call to the update method to be correctly evaluated [ale-rt] (#227)

  • Code formatting according to Plone standards (black, isort). [thet] (#230)

  • Remove selectedTabs and update method from GlobalSectionsViewlet as both are now unused. [thet] (#231)

  • Remove deprecation warnings [ale-rt] (#233)

  • Integrate Plone20200121 hotfix: prevent XSS in title. Part of [maurits] (#3021)

3.4.0 (2019-12-10)

New features:

  • Add is_navigation_root check in plone_context_state view [erral] (#225)

3.3.1 (2019-10-21)

Bug fixes:

  • Fix Home tab localization [vincentfretin] (#222)

3.3.0 (2019-10-12)

New features:

  • Add a surrounding div to the webstats js. Fixes #157 [erral] (#157)

Bug fixes:

  • Fix memory leak on getUserInfo [avoinea] (#204) (#210)

  • Fix Unicode Error in folders with special chars. See #215 [erral] (#215)

3.2.2 (2019-08-29)

Bug fixes:

  • Add missing translation for screen readers [laulaz]

  • Memory leak on getUserInfo [avoinea] (#204)

3.2.1 (2019-07-06)

Bug fixes:

  • fix GlobalStatusMessage type translation (#202) [laulaz]

  • fix portal_tabs_view.topLevelTabs called twice [mamico] (#201)

3.2.0 (2019-06-27)

New features:

  • Add support for Python 3.8 [pbauer] (#200)

3.1.3 (2019-05-01)

Bug fixes:

  • fix show_excluded_items in combination with exclude_from_nav setting [petschki] (#190)

  • Remove unused imports (and so a DeprecationWarning). [jensens] (#193)

  • Make navigation (global sections) subclassing easier. [iham] (#194)

3.1.2 (2019-03-21)

Breaking changes:

3.1.1 (2019-03-03)

Bug fixes:

  • Improve the new navigation and add test coverage [ale-rt] (#181)

  • Provide a proper unique id and a review state class for the first level tabs [ale-rt] (#184)

  • Fix tests since the default nav-depth is now 3 for new sites. [pbauer] (#187)

3.1.0 (2019-02-13)

New features:

  • Added multilevel dropdown navigation [agitator] (#2516)

Bug fixes:

3.0.0 (2018-10-30)

New features:

  • Add test for Revert to Revision action in History Viewlet [davilima6]

  • Remove enable_compression method that isn’t used in Plone. #1801 [tlotze]

Bug fixes:

  • Add template and view arguments support to IBodyClassAdapters (fixes #158). [rodfersou]

  • Show document byline for logged-in users. Fixes #160 [erral]

  • Get rid of obsolete X-UA-Compatible header. [hvelarde]

  • Implement viewlet dummy ordering needed for Python 3 sorting. [ale-rt]

  • Fix sitemap in py3. [pbauer]

  • Fix tests for py3 and drop use of PloneTestCase. [pbauer, fgrcon]

2.8.1 (2018-06-18)

New features:

  • Pagination: made label and arrows easier to customise. [iham]

Bug fixes:

  • Helper getNavigationRoot returns site, if context is not in acquisition chain (eg AJAX calls) [tomgross]

2.8.0 (2018-04-24)

New features:

  • Allow addition of extra body classes via multiple IBodyClassAdapter adapter registrations without the need to overload the ILayoutPolicy view. [thet, jensens, agitator]

  • Make it easier to override separator in title viewlet [tomgross]

Bug fixes:

  • Do not use rel="tag" attribute on the keywords viewlet as the referenced document is not a tag definition but a search result; use rel="nofollow" instead to avoid search crawlers hammering our sites. [hvelarde]

  • More py3 fixes. [pbauer]

  • Use get_installer in tests. [maurits]

2.7.5 (2017-11-26)

New features:

  • Toolbar: Use pattern variables to configure the toolbar and submenu widths from plone.lessvariables. [thet]

  • Imports are Python3 compatible [ale-rt, jensens]

Bug fixes:

  • Fix for situations where pathbar viewlet variables were undefined in toolbar context [tomgross]

2.7.4 (2017-09-03)

Bug fixes:

2.7.3 (2017-08-27)

New features:

  • Added Show Toolbar permission. [agitator]

Bug fixes:

2.7.2 (2017-07-04)

New features:

  • Added membertools viewlet. If user is not anonymous and toolbar is not visible according to is_toolbar_visible the viewlet will show at the location of anontools. [agitator]

Bug fixes:

2.7.1 (2017-07-03)

Bug fixes:

  • Fix issue preventing disabling icons and/or thumbs globally. [fgrcon]

2.7.0 (2017-05-24)

New features:

  • Do not render social metadata if you are a logged user. [bsuttor]

  • Add method is_toolbar_visible to context state. It uses a whitelist and defaults to authenticated users. Use new method it in toolbar viewlet manager and layout body classes. [jensens]

Bug fixes:

2.6.5 (2017-03-29)

Bug fixes:

  • Fix tests for social media viewlet. [hvelarde]

  • Fix import location for Products.ATContentTypes.interfaces. [thet]

  • Remove redundant Twitter card tags. If og:title, og:description, og:image and og:url are defined Twitter will recognise and use those on the card. See: Twitter getting started section on Twitter Cards and Open Graph. Fixes issue 119. [jladage]

2.6.4 (2017-01-17)

Bug fixes:

  • Fix error in viewlet when related dexterity item has been deleted. [maurits]

2.6.3 (2016-12-30)

Bug fixes:

  • Fix sitemap.xml.gz for (>= 2.x) but breaks it for LinguaPlone and 1.x If this is a problem then please see bedbfeb67 on 2.5.x branch for how to maintain compatibility with these products. [djowett]

  • Include the template body class also, when a view but no template is passed. Fixes missing template class with based layouts in Mosaic. [thet]

  • prevent extra ‘@’ in twitter:site meta tag [tkimnguyen]

2.6.2 (2016-11-18)

Bug fixes:

  • Removed ZopeTestCase from the tests. [ivanteoh, maurits]

  • Add default icon for top-level contentview toolbar entries [alecm]

  • Remove commented out viewlet (meant for Plone 3) and its related template. [gforcada]

  • Adapt code to some deprecated methods getting finally removed. [gforcada]

2.6.1 (2016-06-07)

Bug fixes:

  • Document byline viewlet is now displayed only to anonymous users if permitted by the Allow anyone to view ‘about’ information option in the Security Settings of Site Setup (closes CMFPlone#1556). Code used to show the lock status and history view was removed from the document byline as this information was not available to anonymous users anyway. [hvelarde]

2.6.0 (2016-05-10)



  • Fix body class pat-markspeciallinks not set. Fixes #84. [thet]

2.5.19 (2016-03-31)


  • Construct the site logo URL to be rooted at ISite instances returned by zope.component.hooks.getSite and not only rooted at portal root. This makes it possible to have sub sites with local registries which return a different logo. [thet]


  • Fixed html validation: element nav does not need a role attribute. [maurits]

  • Fixed invalid html of social viewlet by moving the tags to the body in a new viewlet plone.abovecontenttitle.socialtags and adding itemScope and itemType there. Fixes [maurits]

  • Fix test isolation problems: if a test calls transaction.commit() directly or indirectly it can not be an integration test, either avoid the commit or change the layer into a functional one. Fixes: [gforcada]

2.5.18 (2016-02-11)


  • Switched deprecated listingBar CSS class to pagination. [davilima6]


  • Adapted to changed Zope 4 browser:view semantics. We either need a template ZCML argument or a __call__ method on the class. [thet]

2.5.17 (2015-11-26)



2.5.16 (2015-10-28)


  • Removed Chrome Frame from X-UA-Compatible HTTP header as it’s deprecated. [hvelarde]

  • Fixed icon rendering. Issue CMFPlone#1151. [fgrcon]

  • Fixed global sections tabs. Issue CMFPlone#1178. [tomgross]

2.5.15 (2015-09-20)

  • Pull mark_special_links, external_links_open_new_window, types_view_action_in_listings values from configuration registry. [esteele]

  • Respect @@site_controlpanel configuration to show publication date in document_byline. Closes CMFPlone#1037. [rodfersou]

  • Implemented fuzzy dates for document_byline. Closes CMFPlone#1000. [rodfersou]

2.5.14 (2015-09-15)

  • add icons-off body class for icon setting [vangheem]

  • Use global site-title for og:site_name. Fixes [pbauer]

2.5.13 (2015-09-12)

  • Fixed AttributeError for ac_permissions. Happens in tests. [maurits]

2.5.12 (2015-09-08)

  • Bring back document byline. Closes CMFPlone#741. [rodfersou]

2.5.11 (2015-09-07)

  • Be more defensive in getting registry settings so upgraded schema does not cause errors [vangheem]

  • Pull values for display_publication_date_in_byline, default_language, icon_visibility from the configuration registry. [esteele]

2.5.10 (2015-08-20)

  • Correctly display selected item in global navigation for images and files. Fixes [pbauer]

  • Add view url to document as data-view-url [ale-rt]

  • If toolbar logo is empty, use default [vangheem]

  • Move getDefaultPage, isDefaultPage, IDefaultPage and DefaultPage view to Products.CMFPlone in order to avoid circular imports between both packages. Moved test for it as well. Placed deferred deprecated imports for all old names here. [jensens]

  • Remove deprecated context parameter from DefaultPage methods. [jensens]

  • minor cleanup in getDefaultPage function [jensens]

  • Added a test for the complex getDefaultPage function [jensens]

2.5.9 (2015-07-21)

  • Default is expanded Toolbar. [bloodbare]

2.5.8 (2015-07-18)

  • Moved historyRecords in @@historyview into a table [agitator]

  • Combine viewlets used in the IToolbar viewlet manager, merge, reorder items so they make more sense [vangheem]

  • merge plone.personal_bar viewlet into toolbar viewlet manager [vangheem]

  • remove plone.contentactions, merged into ContentViewsViewlet [vangheem]

  • remove plone.documentbyline as it wasn’t really a viewlet anymore and we were force rendering it into toolbar viewlet manager [vangheem]

  • remove “you are here” in breadcrumbs [vangheem]

  • always show site root syndication links if enabled [vangheem]

  • by default, show site logo in social settings [vangheem]

  • Add aria hidden role to avoid screenreaders to nonsense stop by at the toolbar tiny logo [sneridagh]

  • Get rid completely of the plone.skip_links viewlet because it already doesn’t worked OOTB since always and this does not follow modern a11y methods and we are dropping support for outdated ways [sneridagh]

  • Remove all references to “accesskeys” attributes on templates [sneridagh]

  • Disabled document_byline viewlet in favor of toolbar action. [agitator]

  • Added documentByLine to @@historyview [agitator]

  • removed DocumentBylineViewlet [agitator]

2.5.7 (2015-06-05)

  • Add social meta tags viewlet [vangheem]

  • render the footer portlets in a way where they can still be edited with @@manage-portlets [vangheem]

2.5.6 (2015-05-13)

2.5.5 (2015-05-04)

  • Updating tests to handle new [do3cc]

  • Fix info_empty_dashboard i18n default message. [vincentfretin]

  • Add row class to constrain width of footer. [davisagli]

  • pat-modal pattern has been renamed to pat-plone-modal [jcbrand]

2.5.4 (2015-03-13)

  • Read allow_anon_views_about settings from the registry instead of portal properties (see [jcerjak]

  • use livesearch pattern [vangheem]

  • use configuration registry pattern options [vangheem]

  • Added support for site logos stored in the portal registry via the site control panel for the logo viewlet with a fallback to the OFS.Image based logo.png file. Removed support of long-gone base_properties.props defined logo names. [thet]

  • Updated markup for dashboard. [davisagli]

  • Add pat-markspeciallinks to bodyClass depending on settings in @@theming-controlpanel. [fulv]

  • Fix relateditems viewlet (tal:repeat is executed after tal:define). [pbauer]

2.5.3 (2014-11-01)

  • Move patterns settings to CMFPlone [bloodbare]

  • Initial implementation of Mockup-aware content info section. [sneridagh]

2.5.2 (2014-10-23)

  • Switch site_title setting from root property to p.a.registry. [timo]

  • Switch webstats_js setting from site_properties to p.a.registry. [timo]

  • Switch enable_sitemap setting from site_properties to p.a.registry. [timo]

  • Fix related items viewlet listing dexterity related folder’s descendants. [rpatterson]

  • Add more data attributes to body tag [vangheem]

  • Change document byline viewlet manager to toolbar. Adapt template for toolbar. [sneridagh]

  • Update byline viewlet name. [sneridagh]

  • Created new viewlet manager for holding main navigation for a more semantic use of it. Move the global sections viewlet into it. [albertcasado]

  • Update and cleaning History markup popup. [bloodbare]

  • Updated global navigation and breadcrumbs markup. Added ARIA roles. [bloodbare]

  • New toolbar markup based in ul li tags. [albertcasado, bloodbare, sneridagh]

  • Update <div id=”content”> in all templates with <article id=”content”> [albertcasado]

  • Added new class to the body tag via globals layout bodyClass method. This is used for maintain the consistency of the selected toolbar state. [sneridagh]

2.5.1 (2014-04-05)

2.5.0 (2014-03-02)

2.4a1 (unreleased)

  • PLIP #13705: Remove <base> tag. [frapell]

  • Make the link to open in a new tab/window. [Toni Mueller]

  • Fix body class attribute errors when the user role contains space. [Jian Aijun]

  • Remove dependency on unittest2 as we are not going to test against Python 2.6 anymore on Plone 5.0. [hvelarde]

  • Update package dependencies and clearly specify this branch is for Plone >=4.3 only (in fact, should be 5.0). [hvelarde]

  • Fix ‘plone.belowcontentbody.relateditems’ viewlet to avoid trying to display items if the user has no permission to view them (like content in Private state). [hvelarde]

  • Migrate portal_interface tool methods to plone_interface_info (PLIP #13770).

  • Remove deprecated portal_interface tool (PLIP #13770). [ale-rt]

  • Remove outdated and unused discussion code and tests. [timo]

  • Use logo.png instead of logo.jpg [esteele]

  • Add to test dependencies, needed to test dexterity support. [jpgimenez]

  • Don’t break if None is passed as the template to bodyClass. [davisagli]

  • Use tableofcontents-viewlet for Fixes [pbauer]

  • Remove presentation mode. If the feature is still desired use the add-on. [davisagli]

  • PEP8 cleanup. [timo]

  • modified for adding link target. Fixed that portal_actions: ‘Link Target’ on portal_actions/portal_tabs doesn’t work. [terapyon]

  • Ported tests to [tomgross]

2.3.13 (2015-04-30)

  • Fix: in test passing portal to addMember, not testcase class. [jensens]

2.3.12 (2014-09-07)

  • Fix related items viewlet listing dexterity related folder’s descendants. [rpatterson]

2.3.11 (2014-02-19)

  • Update package dependencies and clearly specify this branch is for Plone 4.3 only. [hvelarde]

2.3.10 (2013-11-13)

  • Fix ‘plone.belowcontentbody.relateditems’ viewlet to avoid trying to display items if the user has no permission to view them (like content in Private state). [hvelarde]

  • modified for adding link target. Fixed that portal_actions: ‘Link Target’ on portal_actions/portal_tabs doesn’t work. [terapyon]

  • Add to test dependencies, needed to test dexterity support. [jpgimenez]

2.3.9 (2013-09-25)

  • Removed hard dependency on [pabo, marcosfromero]

2.3.8 (2013-09-16)

  • Fix ‘table of contents’ for Dexterity types. [pabo, pbauer, timo]

  • Use safe_unicode to decode the title of the object when retrieving the rss links from the RSSViewlet. [ichim-david]

2.3.7 (2013-08-14)

  • Don’t try to getId() for the template-name body when there is no template. Corrects an issue with the Dexterity schema editor. [esteele]

2.3.6 (2013-08-13)

  • Fix conflict with <body> class attribute improvement in TinyMCE. [rpatterson]

  • Implement a canonical link relation viewlet to be displayed by IHtmlHeadLinks viewlet manager; this will prevent web indexers from indexing the same object more than once, improving also the way these indexers deal with images and files. [hvelarde]

  • Add Dexterity support for the related items viewlet. [pabo]

  • Personal bar viewlet home link simply links to the user actions list. [danjacka]

2.3.5 (2013-05-23)

  • Fixed AttributeError for FilesystemResourceDirectory See [kroman0]

  • Check appropriate permission for ‘Revert to this revision’ button. [danjacka]

2.3.4 (2013-03-05)

  • handle missing feed type so it doesn’t throw an error [vangheem]

  • handle absence of ACTUAL_URL on request. Fixes [vangheem]

  • Also show history on the folder contents view [vangheem]

2.3.3 (2013-01-01)

  • Changed the behaviour of the title viewlet for items in the portal_factory. See [alert]

  • Fix an edge case where getNavigationRootObject could loop infinitely. [davisagli]

  • Add ‘subsection’ prefix to the all sections below to avoid classnames that start with digits, which is not permitted by the CSS standard. [erral]

  • Display publication date only if Effective date is set, regardless of object state. Tickets: and [vipod]

2.3.2 (2012-10-17)

  • Add Language=’all’ as a keyword argument to avoid LinguaPlone deleting it when it patches the catalog [erral]

  • Use context object’s url to create the cache key instead of the portal_url. [erral]

  • Avoid extra space at the end of icon alt attributes. [davisagli]

  • Merge plip #12905 to provide more body classes [vangheem]

  • adding user roles to body class, eg: userrole-anonymous, … [garbas]

  • Use normalized template name for body class since dots are not a good idea in classes [daftdog]

2.3.1 (2012-08-29)

  • Icons accessibility improvement. Append mimetype name to img alt attribute [toutpt]

2.3 (2012-08-11)

2.2.7 (2012-08-11)

  • Change breadcrumb separator to / (slash character) for accessibility, and added SEO benefits. see [polyester]

  • Add language attribute to for WCAG 2.0 compliance. See [rmatt, polyester]

  • Remove hard dependency on ATContentTypes. [davisagli]

  • Add body class for each part of url path. plip12905 [vangheem]

2.2.6 (2012-04-15)

  • Move .row and .cell styles from to Sunburst main_template. Fixes [agnogueira]

  • Add link targets for all action based links. The target can be configured on a per-action basis. [rpatterson]

2.2.5 (2012-01-26)

  • Slightly changed the whitespace in sitemap.xml.gz. [maurits]

  • Use the link_target attribute (e.g. _target) of user actions in the personal bar, if set. Fixes [maurits]

  • Added a page as a not-js fallback for the user dropdown menu [giacomos]

2.2.4 (2011-12-03)

  • Add the ability for the navtree strategy to supplement the query. Fixes a problem where the listing of default pages in navigation trees could no longer be enabled. [rossp]

2.2.3 (2011-10-17)

2.2.2 (2011-08-23)

2.2.1 - 2011-08-08

  • Refactor getNavigationRoot to make it simpler, fixing issues when relativeRoot is specified. [gotcha]

  • ‘placeholder’ attribute for the searchbox instead of the custom JS handling of the same functionality. [spliter]

2.2 - 2011-07-19

  • Fixed validation of the personal bar for anonymous user. [spliter]

  • Replaced obsolete in HTML5 <acronym> element with <abbr>. References [spliter]

  • Set the search form to submit to @@search in order to use the new search results page. [elvix]

  • Updated the BaseIcon to return its html tag when called. [elvix]

  • Updated search link in <head> to link to @@search - updated search results view. [spliter]

  • Updated to be linked to updated search results view. [spliter]

2.1.9 - unreleased

2.1.8 - 2011-07-04

2.1.7 - 2011-06-30

  • Footer viewlet have all viewlet base API (site_url, navigation_root_url, etc). [thomasdesvenain]

  • Make the bodyClass play more nice with ZopeViewPageTemplateFile. This fixes [WouterVH]

2.1.6 - 2011-06-02

2.1.5 - 2011-05-12

  • Page title and logo image title are related to navigation root. Refs Added navigation_root_title to portal_state view. [thomasdesvenain]

  • Fix missing workflow history entry for content creation. Closes [rossp]

  • Respect typesUseViewActionInListings in sitemap.xml. [elro]

  • Use the parent url for default pages in sitemap.xml. [elro]

  • Exclude types_not_searched from sitemap.xml. This fixes [elro]

  • Reduce whitespace in sitemap.xml. [elro]

  • sitemap.xml.gz support for INavigationRoot. [elro]

  • Add [WouterVH]

  • Make getNavigationRoot behave correctly in INavigationRoot-folders where a relativeRoot is specified. This fixes [WouterVH]

2.1.4 - 2011-04-03

  • Make the body section- class based on the navigation root instead of the site root. [elro]

  • Added navigation_root to plone_portal_state. [elro]

2.1.3 - 2011-03-02

2.1.2 - 2011-02-10

  • Add div#content wrapper to @@contenthistorypopup. This is the only popup that has its own template, and it needs a #content id for xdv configurations like that of [smcmahon]

  • Enable managing portlets of default pages. This fixes [fRiSi]

2.1.1 - 2011-02-04

2.1 - 2011-01-13

  • Update test to check for login instead of login_form. [elro]

  • Remove login redirect alias. As of Plone 4.1 there is a login script. [elro]

2.0.10 - 2011-06-02

2.0.9 - 2011-05-12

2.0.8 - 2011-04-01

2.0.7 - 2011-02-25

2.0.6 - 2011-01-03

  • Depend on Products.CMFPlone instead of Plone. [elro]

  • Avoid creating persistent DiscussionItemContainers prematurely when items are viewed that have commenting enabled but no actual comments yet. [davisagli]

  • Don’t cache navigation_root_path and navigation_root_url contextless [tom_gross]

  • Add ids to links personal_bar when rendered as anonymous so they can be styled. This makes behavior consistent with the authenticated personal_bar. [eleddy]

2.0.5 - 2010-11-15

2.0.4 - 2010-09-28

  • Fixed @@plone_context_state.view_template_id handling of content that does not implement IBrowserDefault (Products.CMFDynamicViewFTI). It was possible for this code to raise Unauthorized even when the user had permission to access the default view of the current context. [mj]

  • Avoid conflict in selected tabs when the id of an excluded item starts with the same id of an existing tab. Fixes [WouterVH]

2.0.3 - 2010-09-15

2.0.2 - 2010-08-03

  • Use “index” instead of “render” to ease customization of next/prev and rss viewlets. [esteele]

  • Use unicode double arrows for next/previous links instead of right/left arrow images. [esteele]

  • Correct CSS class attribute for next/previous links. [esteele]

2.0.1 - 2010-07-18

  • Update license to GPL version 2 only. [hannosch]

2.0 - 2010-07-01

  • Removed notice about registered trademark from the footer, that’s what (R) means anyway. [limi]

  • Make sure the presentation mode warning (if the document has no headings) displays properly. Fixes [davisagli]

  • Adding “deactivated” class to menus by default, so they won’t flicker on load. This fixes [limi]

  • Determine whether to show the history link in the byline viewlet based on whether the user has the ‘CMFEditions: Access previous versions’ permission, rather than based on whether the user is anonymous or not. Fixes [davisagli]

  • Add an ‘icons-on’ class to the body when icons are enabled, so that icons applied via CSS can also be controlled. [davisagli]

2.0b8 - 2010-06-03

  • Only show the history link in the byline on the default view. This avoids having the links in folder listing views. [hannosch]

  • The condition on the author link in the byline was reversed. [rossp]

  • Document byline should not show history link to anonymous users. [elro]

2.0b7 - 2010-05-03

  • Fixed to not repeat the UL tag for each user action. This fixes [xMartin, dunlapm]

  • Fixed CMFContentIcon to not return a url if the getIcon lookup fails in the same way that brain-based icons do. This fixes [dunlapm]

  • Cleaned up content history viewlets and overlays by eliminating superfluous div tags from the output. [dunlapm]

  • Added apple-touch-icon (iPhone/iPad home screen icon) definition to [limi]

2.0b6 - 2010-04-07

  • The catalog brains icon return no icon if the type’s icon_expr is empty. [rossp]

  • Extend the have_portlets check to make it possible to force a portlet column to be enabled even if there are no portlets. [davisagli]

  • Simplified Related Items to use a definition list instead of a fieldset - it’s really not a form. [limi]

  • Change keyword/tag viewlet to be independent of the surrounding language, and to have a class on the separator, so it can be removed when the styling requires it. [limi]

  • Update viewlets so that this package now defines the viewlet configuration required by the Sunburst theme, and plonetheme.classic overrides that to achieve the old viewlet positions. [davisagli]

2.0b5 - 2010-03-05

  • Make icon descriptions’ lookup of portal_type title less brittle for missing portal_types (fall back to the portal_type id). [davisagli]

  • Further optimize the related_items view by avoiding an algorithm with quadratic complexity. [hannosch]

2.0b4 - 2010-02-18

2.0b3 - 2010-02-17

  • Speed up related items viewlet by returning catalog brains instead of full objects. [stefan]

  • Updated to follow recent markup conventions. References [spliter]

  • Moved condition for .contentViews and .contentActions to div#edit-bar to not include #edit-bar in tabs should not be rendered. [spliter]

  • Disabled columns in with REQUEST variables according to the recent conventions. [spliter]

  • Removing redundant .documentContent markup. This refs [limi]

  • Moved the prepareObjectTabs method from the @@plone view to the contentviews viewlet and introduced a class for the viewlet. [hannosch]

  • Introduce a new @@plone_layout globals view, which contains methods from the @@plone view and which were commonly overridden to change layout policies. [hannosch]

  • Moved the history link back into the byline. This refs [hannosch]

  • Add html id to personal bar actions. [paul_r]

  • Created several modifications of the content history viewlet to act as standalone history page and simple popup. Old collapsible history viewlet is still in place, ready to be wired in with zcml for anyone who needs the old behavior. [smcmahon]

  • Fixed broken reference to portal_workflow in document_relateditems-viewlet [tom_gross]

2.0b2 - 2010-01-31

2.0b1 - 2010-01-25

  • Micro-optimization for skip_links viewlet. [hannosch]

  • Update presentation fullscreen view to match current main_template’s. [hannosch]

  • Simplify the TAL of the dublin core viewlet. [hannosch]

  • Avoid the overhead of a DateTime class in the footer. [hannosch]

  • Optimized the related items viewlet. [hannosch]

  • Avoid looking a “request/SearchableText|nothing” expression. Looking things up in the entire request which aren’t there most of the time is actually somewhat slow. [hannosch]

  • Optimized the content history viewlet. [hannosch]

  • Optimize TAL code of the byline viewlet. [hannosch]

  • Registered new viewlet for related items instead of using a macro. References [spliter]

  • Always return an id to ensure searchbox viewlet produces valid HTML when livesearch is disabled. Fixes - thanks saily. [pelle]

2.0a5 - 2009-12-27

  • Use the getIconExprObject method of the FTI instead of the deprecated getIcon method. [hannosch]

  • Specified package dependencies. [hannosch]

  • Use the correct ViewPageTemplateFile from Five for the links viewlets. [hannosch]

2.0a4 - 2009-12-16

2.0a3 - 2009-12-02

2.0a2 - 2009-11-15

  • Package metadata cleanup. [hannosch]

  • Avoid calling lots of Python scripts from inside the content history viewlet and use methods on the view instead. [hannosch]

2.0a1 - 2009-11-15

  • Moved plone.path_bar to the plone.abovecontenttitle viewlet manager, breadcrumbs should be close to the title of the current document. [limi]

  • It’s no longer the dashboard’s responsibility to supply prefs/profile links now that they are located in the user menu. The code uses the “group” terminology here though, so I’m wondering if this is related to group dashboards. If I broke anything, let me know. [limi]

  • Micro-optimize the icons views. [hannosch]

  • Merged the selectedTabs Python script into the GlobalSectionsViewlet. [hannosch]

  • Take advantage of icons being found on the actions themselves now instead and avoid the getIconFor indirection. [hannosch]

  • Removed the special default page and translation handling. LinguaPlone uses a content language negotiator per default instead. [hannosch]

  • Add a viewlet to display the Dublin Core metadata added in [esteele]

  • Added support for group dashboards to the dashboard view. [optilude]

  • Greatly simplify the default colophon, so it stands a chance of staying on actual sites. We cannot claim any standards support for public sites, only for Plone itself. [hannosch]

  • Changed the is_rtl method of the portal state view not to rely on the locale but use a much simpler test based on the language code. This avoids setting up the expensive request.locale. [hannosch]

  • Fixed the portal state view to look for uppercase language in the request, since that is set by PloneLanguageTool. This closes [hannosch]

  • “Log in to add comments” button is now a link and respects the login URL specified in portal_actions. Closes [erikrose]

  • Fixed is_rtl test to work with new locale based approach. [hannosch]

  • Removed memoizing for things which are only used once in a page. [hannosch]

  • Replaced direct invocations of interfaces with queryAdapter calls. The former does a suboptimal getattr call internally. [hannosch]

  • Sanitized the actions handling on the context state view. You can pass in an action category into the action method now, which is the preferred way. This allows us to avoid evaluating all actions in the current context if we are only interested in some of the categories. [hannosch]

  • Since Zope 2.11 the locale is available on the request. Removed our special code from the portal state view and rely directly on the request. [hannosch]

  • Changed ViewletBase so viewlets can be registered as zope.contentproviders. This closes [hannosch]

  • Purge old zope2 Interface interfaces for Zope 2.12 compatibility. [elro]

1.2.5 - 2009-08-01

  • In the history viewlet, moved again the arrows inside a span, it’s really needed to apply a style. [vincentfretin]

1.2.4 - 2009-07-04

  • In the history viewlet, internationalized the Compare link and replaced icons by plain text. The revert link is now a POST button. This closes [limi, vincentfretin]

1.2.3 - 2009-06-12

  • Fix issue when dealing with empty version histories in history viewlet. [alecm]

1.2.2 - 2009-06-11

  • Make ContentHistoryViewlet use new metadata only history method to speed up listing. [alecm]

  • Make ContentHistoryViewlet check if context isVersionable. [elro]

1.2.1 - 2009-05-20

  • Changed the search and author header links to respect the navigation root. [hannosch]

1.2 - 2009-05-16

  • Filter not-interesting history entries in content history viewlet. This prevents an empty history viewlet from being shown. [wichert]

  • Add a new content history viewlet which combines the full workflow history and content versions. Render this instead of the workflow history viewlet. [wichert]

  • Fixed querystring in CSS validation link in viewlets/ There was an ampersand where the leading “?” should have been. [siebo]

  • Fixed “region-content” id twice in, replaced one by “content”. Fixes [vincentfretin]

  • Author link tag should follow same rules as byline viewlet. [elro]

1.2rc1 - 2009-03-20

  • Fixed i18n in content_history template. There were two nested msgids and dynamic content. [vincentfretin]

  • Removed stray span tags in the comment byline. [limi]

1.2b1 - 2009-03-07

  • Added navigation_root_url to the common viewlets base class. Adjusted the various viewlets templates to use the new attribute. Changed the dashboard view to be available on an INavigationRoot. This implements [calvinhp]

  • Default to using the content history viewlet instead of the workflow history viewlet. [wichert]

  • Add options to show differences between consecutive versions, and revert to and preview older revisions to the content history viewlet. [wichert]

  • Use the new history view from CMFEditions instead of the crufty old form. [wichert]

1.1.8 - 2009-03-07

  • Adjust the caching of sitemap.xml.gz. We only cache for anonymous users. That fixes a bug where a cached sitemap.xml.gz is delivered with information that only an user with more privilegs is allowed to see. We also make sure that the cached file was build with a current catalog by adding the catalog counter to the cache key. Based on a patch by stxnext. Fixes [stxnext, csenger]

  • Added time_only for use with toLocalizedTime so that event_view now localizes the start/end times if the start/end dates are the same. Closes [jnelson, calvinhp]

  • Fixed Plone 3.1 backward compatibility of above. [stefan]

1.1.7 - 2008-12-15

  • Modified user profile item on the dashboard to use an image tag instead of a background image. This makes it more consistent with the other list items and easier to style for RTL scripts. [emanlove]

1.1.6 - 2008-11-21

1.1.5 - 2008-08-18

1.1.3 - 2008-07-07

  • Made PersonalBarViewlet tolerate users who don’t have a Plone user object, as when using OpenID or apachepas. This fixes [erikrose]

  • Use ‘index’ attribute rather than ‘render’ for setting viewlet templates, so that they can be overridden using the ‘template’ ZCML attribute. [davisagli]

1.1.0 - 2008-04-20

  • Applied patch from to ensure that the ‘currentParent’ marker is not True for items that have a path that is a substring of the true path. [optilude]

  • Displaying ‘Anonymous User’ also when the comment creator is an empty string. This fixes [rsantos]

  • Allow the use of the icon attribute on action directly instead of using the actionicons tool. [hannosch]

  • Fix invalid leading space in all ‘Up to Site Setup’ links. [wichert]

  • Fixed permission in workflow history viewlet. This closes [hannosch]

  • Made handling of self.context in consistent. [hannosch]

  • Rename the portal_url instance variable to site_url in the ViewletBase class. This prevents getToolByName(…, ‘portal_url’) from returning the URL string instead of the portal_url tool, which can causes unexpected and subtle breakage. portal_url is still available but produces a deprecation warning. It will be removed in Plone 4. [wichert]

  • Added viewlet for RSS link. [fschulze]

  • Added dependency on [fschulze]

  • Make viewlet managers in head section order- and filterable. [fschulze]

1.0.6 - 2008-09-10

  • Added i18n markup to This closes [hannosch]

  • Catch KeyError for presentation or tableContents when document has an out-of-date schema. Can happen when migrating from Plone 2.5 to 3.0. Fall back to False for those attributes then. [maurits]

1.0.5 - 2008-01-03

  • Do not create an empty <ul> in the personal actions bar if there are no items in it. This fixes an XHTML syntax error. [wichert]

1.0.4 - 2007-12-06

1.0.3 - 2007-11-09

  • Made getIcon urls relative to portal root. [tesdal]

1.0.2 - 2007-10-08

  • Fixed getIcon code for use with ++resource++ and to use a safer method of getting the correct url. [optilude]

  • Upgraded the sitemap template to conform with the 0.9 specs from and fixed the caching to use the filename. [deo] - 2007-09-10

  • Lower logging level of ‘no associated workflow’ to avoid a log entry on each view. [ldr]

  • Fixed default language in globals. [wichert]

  • Fixed link to actor in history viewlet. [naro]

  • Avoid locking on non lockable types in byline viewlet. [jfroche]

  • Added website statistics inclusion viewlet to configure.zcml so it actually works. [fschulze]

  • Made code in a bit more tolerant of missing tools. [hannosch]

1.0 - 2007-08-17

  • Fixed the translation of the ‘Show this page in presentation mode…’ message. [hannosch]

  • Made the search box a bit wider, so the entire default text is shown in languages with a rather long term. [hannosch]

  • Show the authors full name in presentation view. This fixes [wichert]

Project details

Release history Release notifications | RSS feed

This version


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

plone_app_layout-4.1.1.tar.gz (135.2 kB view hashes)

Uploaded Source

Built Distribution (118.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page