Skip to main content

Run an online advocacy campaign from your Plone site.

Project description


Megaphone makes it easy to build powerful online advocacy campaigns in Plone.


  • Letters to decision makers

  • Required and optional recipients

  • Save data locally

  • Save data to (requires salesforcepfgadapter)

  • Email letters to targets

  • Customizable thank-you letter to sender


No product is perfect. There are some important things Megaphone doesn’t do (yet), including:

  • Matching of users to targets based on postal address

  • Delivery to targets who don’t have a publicly-accessible email address

Coming soon

Megaphone is still under development, and there are quite a few features we’ve got in progress, but are not released yet. Highlights include:

  • Advocacy petitions with public display of results

You can view our full development tracker.

How it works

Megaphone builds on top of several fantastic Plone products to do its work without reinventing the wheel.

  • The heart of Megaphone is PloneFormGen, which provides the core form-handling capabilities.

  • Because advocacy letter is a fairly complicated PloneFormGen with lots of defaults, we’ve built collective.z3cform.wizard which lets us make a very user-friendly wizard for building out the advocacy letter. The wizard can be run and then re-run to let a user change the settings. More advanced users can directly edit the PloneFormGen fields and objects to create more complex setups.

  • Salesforce integration is via the Salesforce PFG Adapter and the underlying Salesforce Base Connector.


Megaphone has been tested with Plone 3.2 and 3.3, and should be installed using buildout in order to include the needed dependencies. Support for Plone 4 is on its way, but is waiting for releases of a few key dependencies.

Simply add collective.megaphone to the list of eggs for your instance. If using Plone <3.3, you must also load its zcml.

After running buildout and starting your Zope instance, install collective.megaphone via the Add/Remove Products configlet or portal_quickinstaller.

Now you should be able to add an ‘Action Letter’ via the add item menu.

Make sure that you configure your Plone site’s e-mail settings before trying to send a letter.

Salesforce export

In order to create a letter that saves contact information to Salesforce, you must install the Products.salesforcepfgadapter and Products.salesforcebaseconnector eggs.

CAPTCHA support

In order to include CAPTCHA fields, you must also install the collective.captcha or collective.recaptcha egg, and load its ZCML.

If using collective.recaptcha, you must also configure your recaptcha keys via the /@@recaptcha-settings view.


Megaphone was developed by Groundwire (formerly ONE/Northwest) as part of the Civic Engagement Platform funded by Meyer Memorial Trust and Surdna Foundation.

Conceptual work by Jon Stahl, Drew Bernard, et al.

Development by David Glick and Jon Baldivieso.


1.3 (2010-05-21)

  • Add ‘Send’ button to send the letter immediately without Preview. [davisagli]

  • Fix issue with preview popup fallback for when Javascript is disabled. [davisagli]

1.2 (2010-03-02)

  • Fix issue where sender for the thank you e-mail was not properly loaded when editing the form after initial creation. [davisagli]

  • Added option to disable thank you e-mail to activist. [davisagli]

  • Fix wizard step listing styles for Plone 4. [davisagli]

  • Make sure that the Next button takes precedence when submitting a wizard step by pressing enter, rather than Previous. [davisagli]

  • Make sure the list of template variables can’t obscure the Prev/Next buttons. [davisagli]

  • Increase the height of the default field for text fields in the form field wizard step. [davisagli]

  • Fix regression from 1.1, wherein text fields would get transformed to HTML and then erroneously escaped. [davisagli]

1.1 (2010-02-18)

  • Make sure collective.jqueryui’s ZCML is loaded. [davisagli]

  • Added custom import handler to set the add_view_expr on the Action Letter FTI in Plone 4. Also an update step to add this when upgrading from Plone 3 to Plone 4. [davisagli]

  • Workaround for change in the utranslate function in Plone 4 (or possibly just me misusing it before). [davisagli]

  • Workaround for Zope interface changes in the Plone 4-compatible version of PloneFormGen. [davisagli]

  • When creating Leads in Salesforce, default to setting the Lead Source to ‘Web’. (Requires salesforcepfgadpater >= 1.6b2). [davisagli]

  • Use the htmlValue method of form fields to process the values in the request before rendering a letter. This makes it possible to set the values that will be displayed for a boolean field, for example. [davisagli]

1.0 (2009-11-11)

  • No longer artificially restrict to z3c.form <2.0, as that is a deployment decision. Plone 3 users may need to pin z3c.form to version 1.9.0 or add additional fake eggs to avoid pulling in new zope.* packages. [davisagli]

  • Only depend on, not Products.pipbox. [davisagli]

  • Fixed issue with loading thank you page text when revisiting the wizard. [davisagli]

1.0rc1 (2009-8-26)

  • Added options for configuring the thank you page message or an alternative thank you page URL. [davisagli]

  • Fixed portlet link to view saved letters. [davisagli]

  • Decode request variables before using them in dollarString substitutions, to avoid UnicodeDecodeErrors when casting the strings for interpolation. [davisagli]

  • Decode UTF-8 values from Archetypes before passing them to z3c.form, to avoid UnicodeDecodeErrors when the system default encoding is ASCII. [davisagli]

  • Check the persistent template setting in the formgen_tool when determining whether to update the mailer templates, rather than the default default from PFG’s [davisagli]

  • Fixed issue with marshalling field size. [davisagli]

  • Fixed action adapter processing on the final send step when a CAPTCHA field is in use. [davisagli]

1.0a1 (2009-06-25)

  • Initial release.

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 (84.6 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page