Welcome, guest | Sign In | My Account | Store | Cart

Notice! PyPM is being replaced with the ActiveState Platform, which enhances PyPM’s build and deploy capabilities. Create your free Platform account to download ActivePython or customize Python with the packages you require and get automatic updates.

pypm install collective.singing

How to install collective.singing

  1. Download and install ActivePython
  2. Open Command Prompt
  3. Type pypm install collective.singing
 Python 2.7Python 3.2Python 3.3
Windows (32-bit)
0.7.1 Available View build log
0.7.0 Available View build log
0.6.15 Available View build log
Windows (64-bit)
0.7.1 Available View build log
0.7.0 Available View build log
0.6.15 Available View build log
Mac OS X (10.5+)
0.7.1 Available View build log
0.7.0 Available View build log
0.6.15 Available View build log
Linux (32-bit)
0.7.1 Available View build log
0.7.0 Available View build log
0.6.15 Available View build log
Linux (64-bit)
0.7.1 Available View build log
0.7.0 Available View build log
0.6.15 Available View build log
Lastest release
version 0.7.1 on Jan 5th, 2011


Singing is a Zope 3 library for sending notifications and newsletters.

You can find the development version of collective.singing in the Subversion repository.


0.7.1 (2010-12-03)
  • Added keep_sent_messages flag on channels which, if set to False (the default), suppresses the behavior which would otherwise put sent messages into a persistent queue.

    If sent messages are dropped (as per this flag), an entry is instead written to the log to keep a minimal record of events. [malthe]

0.7.0 (2010-11-04)
  • Moved z3c widget template registration for radio buttons and checkboxes from browser/configure.zcml into widgets.zcml because every version of z3c.form after 2.3.3 includes these template registrations and double registration raises ConfigurationConflictError. [saily]
0.6.15 (2010-08-01)
  • import zope.app.container.interfaces; this helps for Plone 4 compatibility. [maurits]
  • strange issue with equality of scheduler objects adressed. This seems to only be an issue in python 2.6. This should probably be released soon since it fixes a lot of bugs in the ForPloneFour branch of dancing. [tmog]
  • Norwegian translation. [regebro]
Version 0.6.14 - 2010-04-07
  • Update Dutch translation. [maurits]
  • Update French translation [toutpt]
Version 0.6.13 - 2009-10-19
  • API change! Added boolean "subscribeable" to IChannel. [tmog]
  • Added Brazilian translation [lucmult]
Version 0.6.12 - 2009-06-11
  • Optimization for clearing a MessageQueue. We now simple create a fresh queue instead of pull()'ing all items (pulling is quite expensive with CompositeQueue). [tmog]
  • Subscription creation date is now used as que when the subscription has no real cue. I.e. the first time a new subscription is used. I was amazed to find this was not already the case. [tmog]
  • Triggering a periodic scheduler that has a delta now always updates trickered_last by a product of that delta. This means the periodic schedulers now no longer suffer from the time "drift" that resulted from always saving the precise triggering time to their triggered_last attribute. [tmog]
  • Added caching of item formatting via plone.memoize.request. This really(!) speeds up message generation, especially when sending 'full' items from 'send as newsletter'. [tmog]
Version 0.6.11 - 2009-03-11
Version 0.6.10 - 2009-02-01
  • Changed eventhandlers for subscriptions indexing to look for the Subscriptions object in 'channel._subscriptions' first. This allows for a property decorated 'subscriptions' function that keeps data in '_subscriptions'. [tmog]
Version 0.6.9 - 2009-01-20
Version 0.6.8 - 2009-01-02
  • MessageQueues are now collective.singing.queue.CompositeQueue - an optimized version of zc.queue.CompositeQueue. This offers a _much_ faster __len__ and faster access to last queue element. Tests are stolen from zc.queue with added length checking everywhere. This maybe belongs directly in zc.queue, but adding stuff in zc namespace is not for me. ;-) [tmog]
Version 0.6.7 - 2008-12-03
  • Part of Czech translation. [naro]
  • Some refactoring in order to allow for more customized subscription forms. [nouri]
  • Added french translation.
Version 0.6.6 - 2008-11-13
  • Add the subscriber languages to subscription metadata at subscription time. [nouri]
Version 0.6.5 - 2008-11-05
  • Used i18ndude to find all untranslated msgid's. Some line-numbers were corrected, but nothing changed in collective.singing. There were some updates in collective.dancing, so all guy's please help updating collective.dancing's po files. [saily]
  • Add async module that allows to queue jobs for asynchronous execution. Creating this was necessary because zc.async is not available for all Zope versions that collective.dancing aims to work with. :-( [nouri]
  • Allow for more finer grained control of cue in IMessageAssemble.render_message. This allows a preview function to request the cue to be used but not to be set when rendering a preview. [nouri]
Version 0.6.4 - 2008-10-29
  • Added optional checking for channel attr 'sendable' to channel_lookup. Sending of a content item from the sendnewsletter view in dancing uses this feature, to be able to supress some channels. Also added vocabularies that contain only sendable or only subscribeable channels. [tmog]
  • Relabelled buttons on the stats page to use the term 'clear' rather than 'flush'. Also renamed related handlers and method. [russf]
Version 0.6.3 - 2008-09-11
  • Register the SubscriptionSearchableText adapter so that the fulltext index is actually populated. [nouri]
Version 0.6.2 - 2008-09-03
  • Add 'headers' argument to mail.create_html_mail to allow the injection of more e-mail headers. [nouri]
Version 0.6.1 - 2008-08-28
  • Add zope.sendmail as a dependency so that we get the latest and greates release. [nouri]
  • IMailDelivery expects toaddrs to be a list of addresses. [nouri]
  • Use DumbWriters word wrapping to ensure that no text line is longer than plain_text_maxcols characters. [saily]
  • Using HTMLParser.anchorlist to append all links found in a message at the bottom of the text/plain message. [saily]
Version 0.6.0 - 2008-08-21
  • Moved 'singing.scheduler.assemble_messages' and 'render_message' into their own IMessageAssemble adapter (on channel). This allows for easier hooking into these policy-riddled functions to make them work differently for different types of channels. Also, added a small flag that allows to ignore the subscriber's 'cue' completely. [nouri]
Version 0.5.0 - 2008-07-29
  • Start depending on plone.z3cform>=0.3dev [nouri]
Version 0.4 - 2008-07-23
  • Added optional checking for channel attr 'subscribeable' to channel_lookup. Subscription validaton and the subscribe portlet use this feature. [tmog]
  • Bringing versioning in line with http://peak.telecommunity.com/DevCenter/setuptools [stonor]
  • Added full_schema used on the edit page for Filtered Collectors. Now we can re-edit these ;-) [tmog]
  • Make call of MessageQueues.flush() more flexible to get a handy method to flush also new messages. this doesnt change any current behaviour. [jensens]
  • Added Polish translation by Barbara Struk [naro]
Version 0.3
  • Use zc.lockfile instead of the excessive use of transaction.commit() to lock the queue processing. [nouri]
  • Use email.Header module for message header formatting Refactored mail.py to create messages MIMEMultipart based [naro]
  • added Czech translation [naro]
Version 0.2
  • Commit after pulling a message from the queue. [nouri]
  • ITransform is now an adapter on the content being transformed instead of a utility. This allows us to use the content's URL when rewriting links. [tmog]
  • updated pot and danish translation [bartholdy]
  • Add button to subscribe form to "Send my subscription details", for when subscribers forgot their secret. [nouri]
  • Cleaned up a bit in a few templates. Needed to structure view/Desvription in wizard. Got rid of annoying label filters in wizard-step. [bartholdy]

Subscribe to package updates

Last updated Jan 5th, 2011

Download Stats

Last month:2

What does the lock icon mean?

Builds marked with a lock icon are only available via PyPM to users with a current ActivePython Business Edition subscription.

Need custom builds or support?

ActivePython Enterprise Edition guarantees priority access to technical support, indemnification, expert consulting and quality-assured language builds.

Plan on re-distributing ActivePython?

Get re-distribution rights and eliminate legal risks with ActivePython OEM Edition.