Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

Add-on displaying manager defined messages in a viewlet

Project Description


Add-on displaying manager defined messages in a viewlet


Messages are defined in control panel.

Multiple messages can be displayed together in the viewlet.

A message contains the following configuration attributes:

  • text : displayed text in the viewlet
  • message type : info, warning, important (different layout in the viewlet)
  • can hide : if checked, the user can hide the message (mark as read)
  • start date : displaying start date (optional)
  • end date : displaying end date (optional)
  • required roles : user must have one of the required roles (optional)
  • use local roles : message displayed for users having Reader local role on message (optional)
  • location : full site or homepage only

The collective.behavior.talcondition is enabled, providing 2 attributes.

  • tal condition : optional tal expression evaluated on viewlet context
  • bypassing roles : optional roles bypassing the tal condition

A workflow is provided with the following states:

  • inactive : not displayed
  • activated : displayed

The hiding functionality uses a cookie. It is necessary to deactivate a message to “reset” the cookie. When activating again, the message will be displayed again even for users that hide it.

The optional ‘messages’ profile adds some usefull examples that can be activated when needed:

  • message for scheduled maintenance (limited to Member)
  • message for imminent or current maintenance : (given to anonymous)
  • message for staging site


  • Modify hidden_uid when some fields are changed: end when gone, can_hide (to unchecked), start when end is gone
  • Message definition from file system
  • Message definition from rss feed


This product has been translated into

  • English
  • French


Install collective.messagesviewlet by adding it to your buildout:



 eggs =

and then running “bin/buildout”


If you are having issues, please let us know.


The project is licensed under the GPLv2.



0.12 (2017-05-30)

  • Corrected image path. [sgeulette]
  • Decrease space between messages [sgeulette]

0.11 (2017-03-16)

  • Added default message to warn that application only runs correctly on Firefox and Chrome, in addition to the already existing message that warned about the application only running correctly on Firefox. [gbastien]
  • Use CheckBoxWidget for IMessage.required_roles` to ease selection when displaying several elements. [gbastien]
  • Use RadioFieldWidget for Bool fields IMessage.can_hide and IMessage.use_local_roles so it is displayed correctly on the view, especially when it is False. [gbastien]

0.10 (2017-02-06)

  • Use INavigationRoot instead of IPloneSiteRoot to check if context is homepage. [bsuttor]

0.9 (2016-03-30)

  • Increased coverage by using vocabulary methods instead of redefining it in tests. [gbastien]
  • Added new example message: bad browser (not Firefox) warning [sgeulette]
  • Use plone.formwidget.datetime to have hour at 0 by default. [sgeulette]
  • CSS fix : display ‘cursor: pointer;’ when hovering the close button. [gbastien]
  • Added ‘MessagesConfig’ to site_properties.types_not_searched. [gbastien]

0.8 (2016-01-18)

  • Added parameter ‘activate’ to utils.add_message that makes it possible to create an ‘activated’ message directly. [gbastien]
  • Adapted tests to use utils.add_message instead of duplicating this code. [gbastien]

0.7 (2015-11-17)

  • Do not pass a default ‘context’ in utils._ to avoid strange ConnectionStateError. [gbastien]
  • Give context to translate method. [sgeulette]
  • Corrected and added icon type images. [sgeulette]

0.6 (2015-09-18)

  • Simplify workflow. Only one activated state. Unrestricted search results before filtering. Added ‘use local role’ boolean attribute. [sgeulette]
  • Updated default messages [sgeulette]
  • Added local roles test [sgeulette]
  • Renamed bad transition name [sgeulette]

0.5 (2015-09-14)

  • Removed useless dependency on z3c.jbot. [gbastien]
  • Corrected rst in readme. [sgeulette]

0.4 (2015-09-10)

  • Use full url for readme images to display correctly on pypi. [sgeulette]

0.3 (2015-09-10)

  • Translate title configuration folder. [sgeulette]

0.2 (2015-09-09)

  • Added utils method to create message. Added example profile to add some messages. [sgeulette]

0.1 (2015-09-08)

  • Initial release. [sgeulette, anuyens, DieKatze, boulch]
Release History

Release History

This version
History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


Download Files

Download Files

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

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date (223.0 kB) Copy SHA256 Checksum SHA256 Source May 30, 2017

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting