{"id":45791,"library":"plone-app-portlets","title":"plone.app.portlets","description":"Plone integration for the basic plone.portlets package. Provides UI for managing portlets, portlet assignment, rendering, and storage in the Plone CMS. Current version 7.0.0, release cadence follows Plone major releases.","status":"active","version":"7.0.0","language":"python","source_language":"en","source_url":"https://github.com/plone/plone.app.portlets","tags":["plone","portlets","cms","zope"],"install":[{"cmd":"pip install plone.app.portlets","lang":"bash","label":"Standard install"}],"dependencies":[{"reason":"Core portlet infrastructure","package":"plone.portlets","optional":false},{"reason":"Plone base components","package":"plone.base","optional":false},{"reason":"Component architecture","package":"zope.component","optional":false},{"reason":"Interface definitions","package":"zope.interface","optional":false},{"reason":"Schema fields for portlet configuration","package":"zope.schema","optional":false}],"imports":[{"wrong":"from plone.app.portlets.utils import portlet_assignment","symbol":"portlet_assignment","correct":"from plone.app.portlets.utils import portlet_assignment"}],"quickstart":{"code":"from plone.app.portlets.utils import portlet_assignment\nfrom plone import api\n\ncontext = api.portal.get_navigation_root()\nassignments = portlet_assignment(context)\nprint('Assignments:', list(assignments.keys()))\n","lang":"python","description":"Get portlet assignments for the navigation root context. Works with Plone site."},"warnings":[{"fix":"Migrate content types to Dexterity (plone.dexterity) before upgrading.","message":"Plone 6 / Python 3.10+ removed Archetypes support. plone.app.portlets no longer works with Archetypes-based content types.","severity":"breaking","affected_versions":">=7.0.0"},{"fix":"Use `plone.portlets.interfaces.IPortletManager` directly.","message":"Removed deprecated `portlet_manager` and `portlet_renderer` functions from plone.app.portlets. They were moved to `plone.portlets` or replaced.","severity":"breaking","affected_versions":">=7.0.0"},{"fix":"Use <browser:page> and <plone:portlet> ZCML directives instead.","message":"Function `register_portlet` in plone.app.portlets.utils is deprecated in favor of ZCML registration.","severity":"deprecated","affected_versions":">=7.0.0"},{"fix":"Implement `sort_order` property on your portlet assignment or use `plone.app.portlets.browser.edit` sorting.","message":"Portlet assignment order in a block is not guaranteed unless you explicitly set sorting. Overriding `sort_order` property is common mistake.","severity":"gotcha","affected_versions":"all"},{"fix":"Update your portlet templates to use Plone 6 CSS patterns (Bootstrap 5).","message":"CSS class names for portlet rendering changed in Plone 6. Custom portlets may display incorrectly if they rely on old class names.","severity":"gotcha","affected_versions":">=7.0.0"}],"env_vars":null,"search_vec":"'7.0.0':25 'assign':15 'basic':6 'cadenc':27 'cms':22,34 'current':23 'follow':28 'integr':3 'major':30 'manag':12 'packag':8 'plone':2,21,29,32 'plone.app.portlets':1 'plone.portlets':7 'portlet':13,14,33 'provid':9 'releas':26,31 'render':16 'storag':18 'ui':10 'version':24 'zope':35","created_at":"2026-06-07T12:56:44.868059+00:00","updated_at":"2026-06-07T12:56:44.868059+00:00","problems":{"verify_error":"Traceback (most recent call last):\n  File \"<string>\", line 1, in <module>\n  File \"/tmp/tmp3omfazdk/venv/lib/python3.12/site-packages/plone/app/portlets/utils.py\", line 5, in <module>\n    from plone.app.portlets.portlets import navigation\n  File \"/tmp/tmp3omfazdk/venv/lib/python3.12/site-packages/plo"},"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/plone/plone.app.portlets","github":"https://github.com/plone/plone.app.portlets","docs":null,"changelog":null,"pypi":null,"npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["cms"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"import_fail","verified_at":"2026-07-03","last_verified":"2026-07-03","next_check":"2026-07-10","install_tag":null}}