Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

An extension of zope.viewlet to support dynamic portlets

Project description


plone.portlets provides a generic infrastructure for managing portlets.

Portlets are a bit like viewlets, except they can be manipulated at runtime, using local components. This package is used by to provide Plone-specific portlets, but should be generic enough to work on other platforms. It should work in a “pure Zope Toolkit” environment.


2.3.1 (2019-02-08)

Bug fixes:

  • Fixed some deprecation warnings. Code style: black, isort Fix tests, also do not leave closed files. [jensens] (#4)

2.3 (2016-11-01)

New features:

  • Support Python 3. [davisagli]

2.2.3 (2016-08-09)


  • Use zope.interface decorator. [gforcada]

2.2.2 (2016-02-15)


  • Rerelease to fix problem on test server. [maurits]

2.2.1 (2016-02-12)


  • Do not break in placeless portlet retriever if there is no underlying code available for existing portlet assignment. [vipod]
  • Prevent possible unicode errors when creating portlet hashes. [wichert]

2.2 (2012-10-01)

  • Added an adapter and IBlockingPortletManager marker interface which portlet managers can provide to block parent contextual portlets by default. [elro]
  • Delegate to ILocalPortletAssignmentManager for category blacklist retrieval. This allows a custom adapter to override the default blacklist settings per portlet manager. [elro]

2.1 (2012-07-02)

  • Avoid some test dependencies. [hannosch]
  • Graceful handling of portlets with missing implementation. [do3cc]

2.0.2 - 2011-04-21

  • Add [WouterVH]

2.0.1 - 2011-01-03

2.0 - 2010-07-16

  • Update license to GPL version 2 only. [hannosch]
  • Make it possible to rely on the __portlet_metadata__ of a portlet renderer to determine its availability. This closes [enriquepablo, hannosch]

2.0b3 - 2010-06-13

  • Use the standard libraries doctest module. [hannosch]
  • Use zope.browserpage if available. [hannosch]

2.0b2 - 2010-03-27

  • Protect the exception logging against funky portlets. In error cases even doing a repr() on the portlet might cause an infinite recursion error. [hannosch]

2.0b1 - 2010-01-25

  • Added __portlet_metadata__ attribute to portlet renderers, to make it easier for a portlet to know how it was looked up (and thus reconstruct a URL to itself, for example). [optilude]

2.0a1 - 2009-11-14

  • Avoid a variety of dependencies in favor of Zope Toolkit packages. [hannosch]
  • Added support for showing/hiding of all portlets (PLIP #9286) [igbun]

1.2 - 2009-06-19

  • Fixed ‘SyntaxError: non-keyword arg after keyword arg’ in unicode call. [maurits]
  • Fix/workaround for (UnicodeDecodeError within _coerce() caused by external data with wrong encoding). [ajung]
  • Moved test-only dependencies to a test extra requirement. [hannosch]
  • Clarified license and copyright statements. [hannosch]
  • Specify package dependencies. [hannosch]
  • Replaced direct invocations of interfaces with queryAdapter calls. The former does a suboptimal getattr call internally. [hannosch]

1.1.0 - 2008-04-20

  • Ensure the keys stored in a portlet assignment mapping are always unicode. This is necessary because an OOBTree will, once one unicode key has been added, force all keys to unicode. This can lead to unicode decode errors. Fixes [optilude]
  • Changed a type() comparison into a isinstance comparison. [hannosch]
  • PLIPs 205 and 218: Allow registering portlet types to multiple portlet manager interfaces, require portlet types to be explicitly registered for portlet manager interfaces, enable modifying registrations through GenericSetup, and restrict most default Plone portlet types to left/ right/dashboard columns. [sirgarr]
  • PLIP207: Allow custom portlet managers, i.e., allow specifying an alternative portlet manager class through GenericSetup. [sirgarr]


  • Made tests run under Zope 2.11. [hannosch]


  • Added properties to keep track of the manager name, category name and key/name in portlet assignment mappings. [optilude]


  • Adjusted some tests, so they work on both Zope 2.10 and 2.11. [hannosch]


  • Initial package structure. [zopeskel]

Project details

Download files

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

Files for plone.portlets, version 2.3.1
Filename, size File type Python version Upload date Hashes
Filename, size plone.portlets-2.3.1-py2.py3-none-any.whl (32.1 kB) File type Wheel Python version py2.py3 Upload date Hashes View hashes
Filename, size plone.portlets-2.3.1.tar.gz (32.2 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page