No idea what worked in former Plone versions (however the Plone access management did not change lately).
Assign or adjust the Portlets: Manage portlets permission through the ZMI (Security tab as needed).
@RayMagini That might have been a very old Plone version, because we have custom code in some Plone 4 sites to add a PortletManager role that you can assign to users/groups using the sharing page.
For Plone 4 (not tested yet with/in Plone 5), you can add the following in a policy/add'on project for your site:
"""Defines and tests a new PortletManager role.
A new PortletManager role is added to plone's default list::
>>> 'PortletManager' in list(self.portal.__ac_roles__)
True
"""
from zope.interface import implements
from plone.app.workflow.interfaces import ISharingPageRole
# translation: change this:
from yourpolicypackage import _
class PortletManagerRole(object):
implements(ISharingPageRole)
title = _('Can manage portlets')
required_permission = 'Manage portal'
And in the configure.zcml of your add'on:
<!-- Extra local roles managed in the @@sharing view -->
<utility
name="PortletManager"
factory=".roles.PortletManagerRole"
/>
And you'd need an upgrade step to update/apply the GenericSetup rolemap.xml. Hope this helps.
Yes you are right. I had already forgotten I made this post many years ago, until we discussed portlets during TPN10 and I dug up again the project code for this.