Skip to main content

A generic control panel for themers and site integrators

Project description


``iservices.controlpanel`` is a plone control panel that provides common
settings for themers and integrators. The idea behind this control panel is that
plone administrators (and not the integrator or programmer) will have the
ability to:

* Define social accounts for use all over the site, specially on themes. The
programmer/integrator will have to integrate it's product or theme with this
control panel (hopefully an easy_step) and get this settings to be applied on
their logic.

* Allows to change the global background and foreground colors that plone uses
to draw it's interface on plonetheme.sunburs (Actually, only two colors). If the
user requires more than that, it might be better to craft a complete theme

* Change the plone logo. The site administrator can change the logo. This
provides an easy plone theming deployment without the cost of creating a theme
from scratch just to change the logo.

* Change the footer and colophon text. The site administrator can change the
text of the footer and colophon without needing the programmer to make changes
to any theme.


Install using buildout

Add ``iservices.controlpanel`` to your ``eggs`` subsection::

eggs =

This package depends on a set of other packages, hopefully, all packages should
be pulled from pypi automatically. However, you'll have to adjust the
``extends`` subsection according to the following pattern::

extends =<plone-version>/versions.cfg

Replace ``<plone-version>`` with the Plone version you are working on, i.e., ``4.0.3``

How to use it on your packages and themes

Of course, If you use this package, you'd want access to the settings it
manages, right? This package has a small API that encapsulates the the
boilerplate code and makes it easy to you to use it.

In order to
access the settings of the control panel, you just use a very simple module

>>> from iservices.controlpanel.api import settings

All settings are available using standar Python dot notation. Example::

>>> settings.background_color

If you access an unknown name, you will get an AttributeError:

>>> registry.some_unknown_key
Traceback (most recent call last):
NameError: name 'registry' is not defined

Also, using getattr(), even on an existing key name, does not make it:

>>> getattr(settings,background_color)
Traceback (most recent call last):
NameError: name 'background_color' is not defined

Sometimes, settings on the control panel will have empty values. It is suggested
that, when this happens, the funcionality related to this particular setting
should be disabled or modified in some way.

>>> def do_something_with(some_setting):
... if some_setting:
... print "Doing stuff when this registry entry is set."
... else:
... print "Disable functionality when this registry is not set."
>>> # the twitterlink setting is empty by default
>>> print settings.twitterlink

>>> do_something_with(settings.twitterlink)
Disable functionality when this registry is not set.

>>> settings.twitterlink = ''
>>> do_something_with(settings.twitterlink)
Doing stuff when this registry entry is set.

And that's all there is for the API.


Noe Nieto <>



0.3.1 - March 16th, 2011
- Rename README.rst -> README.txt

0.3 - March 16th, 2011

- Add tests for the custom css view and fix different problems around.

- Add a browser layer to override the colophon and footer. Also add a
hacky css stylesheet made out from a zope3 browserview.

0.2 - March 15th, 2011

+ First public release with a small set of settings, proper testing and small
API with documentation.

+ Depends on, but hopefully, installing this egg alone, will
pull all the required packages.

+ Tested in Plone 4

0.1 (unreleased yet)

+ Initial release, make all the setuptools boilerplate, and create the git repo.

Project details

Download files

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

Source Distribution (33.5 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page