Control Panel
The controlpanel.xml file keeps the information about the different configuration dialogs available for the different users, including members and site managers.
An excerpt of the the Plone controlpanel.xml file showing the general syntax follows:
<?xml version="1.0"?>
<object name="portal_controlpanel" meta_type="Plone Control Panel Tool"
xmlns:i18n="http://xml.zope.org/namespaces/i18n" i18n:domain="plone">
...
<configlet title="Change Password" action_id="MemberPassword" appId="Plone"
category="Member" condition_expr="python:member.canPasswordSet()"
icon_expr="string:$portal_url/lock_icon.png"
url_expr="string:${portal_url}/password_form" visible="True"
i18n:attributes="title">
<permission>Set own password</permission>
</configlet>
...
</object>
Each configuration dialog is called a configlet. The different attributes available are:
- title
- The human readable text to be shown in the Plone interface.
- action_id
- A unique identifier for the configlet.
- appId
- An application identifier for the configlet. This application id can be shared by more than one configlet and can be useful, for example, to remove all configlets related to a certain application in one go.
- category
- A category id to specify the area of the Plone interface where the configlet should be shown. Using the Plone category will cause it to be shown in the main site setup configuration panel, while the Member category will make it show in the list of configuration options for the account of the user logged in.
- condition_expr
- A TALES expression to control if the configlet is available or not. In the example above, the Change Password configlet will only be available if the current user can actually change her password.
- icon_expr
- The URL of the icon for the configlet in TALES, to be shown in the Plone interface where applicable. Leave empty if there isn't any icon associated.
- url_expr
- The URL of the configlet dialog, i.e. the view or form the user should use to perform the configuration changes.
- visible
- Controls if the configlet will be shown or not. Useful if you want to disable a configlet temporarily for any reason.
The <permission> nodes inside the <configlet> one specify the neccessary permissions to use the configlet.

Author: