{ "info": { "author": "Groundwire", "author_email": "davidglick@groundwire.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Framework :: Plone" ], "description": "Introduction\n============\n\nMegaphone makes it easy to build powerful online advocacy campaigns in Plone.\n\nLetters to decision makers\n--------------------------\n * Collect arbitrary fields\n * Required and optional recipients\n * Save data locally\n * Save data to Salesforce.com (requires salesforcepfgadapter)\n * E-mail template-based letters to targets\n * Customizable thank-you letter to sender\n\nPetitions\n---------\n * Collect arbitrary fields\n * Save data locally\n * Save data to Salesforce.com (requires salesforcepfgadapter)\n * List signatures within your Plone site\n * Customizable thank-you letter to sender\n\nLimitations\n===========\n\nNo product is perfect. There are some important things Megaphone doesn't do\n(yet), including:\n\n * Delivery to targets who don't have a publicly-accessible email address\n\n\nHow it works\n============\n\nMegaphone builds on top of several fantastic Plone products to do its work\nwithout reinventing the wheel.\n\n * The heart of Megaphone is `PloneFormGen`_, which provides the core\n form-handling capabilities.\n * Because Megaphone actions are a fairly complicated PloneFormGens with lots of\n defaults, we've built `collective.z3cform.wizard`_ which lets us make a very\n user-friendly wizard for building out the advocacy letter. The wizard\n can be run and then re-run to let a user change the settings. More advanced\n users can directly edit the PloneFormGen fields and objects to create more\n complex setups.\n * Salesforce integration is via the `Salesforce PFG Adapter`_ and the\n underlying `Salesforce Base Connector`_.\n\n.. _`PloneFormGen`: http://plone.org/products/ploneformgen\n.. _`collective.z3cform.wizard`: http://plone.org/products/collective.z3cform.wizard\n.. _`Salesforce PFG Adapter`: http://plone.org/products/salesforcepfgadapter\n.. _`Salesforce Base Connector`: http://plone.org/products/salesforcebaseconnector\n\nInstallation\n============\n\nMegaphone has been tested with Plone 3.3 and Plone 4.\n\nAdding to buildout\n------------------\n\nMegaphone has several dependencies. These should get pulled in automatically\nif you add the collective.megaphone egg to your buildout. _However_, you need\nto make sure that you get versions of the dependencies that are compatible with\nyour version of Plone. To do so, you may extend the following known good sets\nof version pins:\n\nFor Plone 4::\n\n [buildout]\n extends = http://good-py.appspot.com/release/collective.megaphone/2.1?plone=4.0.4\n \n [instance]\n ...\n eggs =\n ...\n collective.megaphone\n\nFor Plone 3::\n \n [buildout]\n extends = http://good-py.appspot.com/release/collective.megaphone/2.1?zope=2.10.x\n \n [instance]\n ...\n eggs =\n ...\n collective.megaphone\n\nOf course, you may need to adjust the specified Plone version, or create a\nderivative set of version pins if the ones in this set conflict with those\nrecommended for some other add-on.\n\nActivating Megaphone\n--------------------\n\nAfter running buildout and starting your Zope instance, install\ncollective.megaphone via the Add/Remove Products configlet in Plone Site Setup.\n\nNow you should be able to add a 'Megaphone Action' via the add item menu.\nThe wizard will walk you through the rest of the steps.\n\nMake sure that you configure your Plone site's e-mail settings before trying\nto send a letter.\n\nConfiguring default settings\n----------------------------\n\nThere is a control panel in Plone Site Setup called \"Megaphone Defaults\". This\ncan be used to configure default settings that should be used for all new\nMegaphones. For example, this can be used to replace the default US-centric\n\"State\" field with a list of provinces from another country.\n\nSalesforce export\n-----------------\n\nIn order to create a letter that saves contact information to Salesforce, you\nmust install the Products.salesforcepfgadapter and\nProducts.salesforcebaseconnector eggs.\n\nCAPTCHA support\n---------------\n\nIn order to include CAPTCHA fields, you must also install the\ncollective.captcha or collective.recaptcha egg, and load its ZCML.\n\nIf using collective.recaptcha, you must also configure your recaptcha keys via\nthe /@@recaptcha-settings view.\n\nLegislator lookup\n-----------------\n\nAn optional add-on, `collective.megaphonecicerolookup`_, makes it possible to\ndetermine the Megaphone recipient by automatically looking up a legislator's\ne-mail address based on the sender's mailing address, using Azavea's commercial\n`Cicero API`_.\n\n.. _`collective.megaphonecicerolookup`: http://plone.org/products/collective.megaphonecicerolookup\n.. _`Cicero API`: http://www.azavea.com/Products/Cicero/API.aspx\n\nUpgrading\n=========\n\nIf you have a previous version of Megaphone already installed, update your\nbuildout as described above. (Make sure you have a backup first!)\n\nThen start your Zope instance, go to the Add/Remove Products configlet in Plone\nSite Setup, and find the button to upgrade Megaphone.\n\nMegaphone will also automatically update its dependencies plone.app.jquerytools\nand plone.app.z3cform to compatible versions.\n\nBug tracker\n===========\n\nPlease report issues at http://plone.org/products/megaphone/issues\n\nCustomizing Megaphone\n=====================\n\nThere are a number of ways that developers can extend Megaphone's functionality.\n\nPloneFormGen-based customizations\n---------------------------------\n\nSince Megaphone is an extension built on top of PloneFormGen, standard\ntechniques for extending PloneFormGen can be used. In particular, custom fields\nand action adapters (actions executed when the form is submitted) can be\nimplemented.\n\nRecipient sources\n-----------------\n\nMegaphone includes one built-in recipient source, which lets a manager enter\na name and e-mail address of a recipient. Additional recipient sources can be\nimplemented to determine the recipient in other ways.\n\nTo create a custom recipient source, you must register two components:\n\n* A named utility implementing ``collective.megaphone.interfaces.IRecipientSource``\n* A multi-adapter of ``collective.megaphone.interfaces.IMegaphone`` and\n ``zope.publisher.interfaces.browser.IBrowserRequest`` to\n ``collective.megaphone.interfaces.IRecipientSource``, with the same name as the\n utility.\n\nFor an example of a custom recipient source, see `collective.megaphonecicerolookup`_,\nwhich looks up the user's legislator based on the address entered.\n\nVariable providers\n------------------\n\nMegaphone allows the manager to configure various templates that can make use of\nvariable substitution. By default, variables are provided based on the recipient\ninformation and on the form data entered by a user taking action. It's possible\nto provide additional variables as well.\n\nTo add a new variable provider, register a named adapter of\n``collective.megaphone.interfaces.IMegaphone`` and\n``zope.publisher.interfaces.browser.IBrowserRequest`` to ``collective.megaphone.interfaces.IVariableProvider``. The name of the adapter\nregistration is the variable name, and the adapter should return the variable\nvalue when called.\n\n\nCredits\n=======\n\nMegaphone was originally developed by Groundwire (formerly ONE/Northwest) as\npart of the Civic Engagement Platform funded by Meyer Memorial Trust and\nSurdna Foundation.\n\nConceptual work by Jon Stahl, Drew Bernard, et al.\n\nDevelopment by David Glick and Jon Baldivieso.\n\nThanks also to:\n\n* Kees Hink\n\nChangelog\n=========\n\n2.1.5 (2011-10-25)\n------------------\n\n* Updated Spanish translation (thanks to Manuel Gualda Caballero).\n [davisagli]\n\n* Add some missing message ids.\n [davisagli]\n\n* Fix bug where translated strings in the defaults control panel could not\n be saved.\n [davisagli]\n\n* Fix display of non-ASCII characters in the signers portlet.\n [davisagli]\n\n2.1.4 (2011-10-20)\n------------------\n\n* Make sure some field properties are stored encoded.\n [davisagli]\n\n* Fix editing of label fields.\n [davisagli]\n\n* Fix bug preventing saving form fields in the defaults control panel.\n [davisagli]\n\n2.1.3 (2011-10-19)\n------------------\n\n* Add Spanish translation (thanks to Acento Web).\n [davisagli]\n\n* Add locales folder for translations and make some more strings\n translatable.\n [davisagli]\n\n* Make sure field titles are decoded when loading existing form settings.\n This fixes http://plone.org/products/megaphone/issues/30.\n [davisagli]\n\n* Use Salesforce's \"other\" address fields for Contacts by default.\n [yomatters]\n\n* Added a description field to the general wizard step.\n [yomatters]\n\n* Added the ability to configure a Salesforce Contact adapter using\n the wizard.\n [yomatters]\n\n* Updated popup form so that it closes correctly with\n plone.app.jquerytools 1.2b4.\n [yomatters]\n\n2.1.2 (2011-04-21)\n------------------\n\n* Added 'Lead Source' setting to the Salesforce.com wizard step.\n [davisagli]\n\n2.1.1 (2011-04-08)\n------------------\n\n* Fix issue with editing string fields on the new defaults control panel.\n [davisagli]\n\n2.1 (2011-03-24)\n----------------\n\n* Added 'Campaign Status' setting to the Salesforce.com wizard step.\n [davisagli]\n\n2.1b3 (2011-03-22)\n------------------\n\n* Added a control panel in Site Setup to configure default values that will\n be used for new Megaphones.\n [davisagli]\n\n* Fix javascript error affecting IE.\n [davisagli]\n\n* Added render_recipients_list helper to the letter renderer.\n [davisagli]\n\n* Revamped the UI of the fields wizard step. Field settings are now configured\n in an overlay.\n [davisagli]\n\n2.1b2 (2010-11-16)\n------------------\n\n* Added a way to provide additional template variables by implementing an\n IVariableProvider adapter.\n [davisagli]\n\n2.1b1 (2010-10-14)\n------------------\n\n* Raise AT ObjectInitializedEvent and ObjectEditedEvent when the wizard is finished.\n [davisagli]\n\n* Updated the test setup to use a layer so that it can be extended by Megaphone\n plugins more easily.\n [davisagli]\n\n* Added an upgrade step to remove the old \"optional-recipients\" field which is\n no longer needed.\n [davisagli]\n\n* Revamped the UI of the recipients wizard step. Recipient settings are now\n configured in an overlay.\n [davisagli]\n\n* Introduced the concept of pluggable \"recipient sources\". Each recipient source\n has its own settings, can provide content for the Megaphone form, and is queried\n for recipients when the form is submitted. The old recipient functionality\n (with \"required\" and \"optional\" recipients) has been refactored into the \"standard\"\n recipient source.\n [davisagli]\n\n2.0 (2010-10-14)\n----------------\n\n* Render the signatures portlet when sig_portlet_min_count is not set.\n [khink]\n\n* Removed reference to \"letter\" from the default thank you message so that\n it makes sense for a petition too.\n [davisagli]\n\n* Moved helper functions into the utils module.\n [davisagli]\n\n* Only show \"latest signatures\" text in portlet if there are signatures to\n show.\n [jbaldivieso]\n\n* Refer to \"offline signature count\" instead of \"goose factor\".\n [jbaldivieso]\n\n* Fix upgrade step for Plone 3 -> Plone 4 to only run for sites that have\n Megaphone installed.\n [jbaldivieso]\n\n2.0b1 (2010-08-19)\n------------------\n\n* Move the main e-mail switch to the recipients wizard step, and rename the\n delivery step to salesforce since that's all it covers now. Make it only\n show up if Salesforce support is installed.\n [davisagli]\n\n* Added a permission to control who can view signatures.\n [davisagli]\n\n* Don't display the Intro page of the wizard when returning to edit an existing\n Megaphone Action.\n [davisagli]\n\n* Updated to new collective.z3cform.wizard with various fixes.\n [davisagli]\n\n* In Plone 3, use the overlay styles from plone.app.jquerytools>=1.1.1, rather\n than supplying our own.\n [davisagli]\n\n* Including a savedata adapter is no longer optional.\n [davisagli]\n\n* Removed the old signers count portlet and replaced it with the new one\n which lists recent signers.\n [davisagli]\n\n* Added wizard step for configuring display of signers in a portlet.\n [davisagli]\n\n* Added petitions as a new type of action. Different options are available\n depending on whether you select letter or petition on the first page of\n the Megaphone Action wizard. Petitions also get a modified set of default\n form fields.\n [davisagli]\n\n* Renamed the \"Action Letter\" type to \"Megaphone Action\". An upgrade step\n must be run to update existing sites.\n [davisagli]\n\n* Refactored test setup.\n [davisagli]\n\n* Removed duplicate version number in version.txt\n [davisagli]\n\n1.4 (2010-06-30)\n----------------\n\n* Fix table styling in Plone 4 Sunburst theme.\n [davisagli]\n\n* Reimplement field reordering using HTML5 drag-and-drop to avoid Jquery UI\n dependency.\n [davisagli]\n\n1.3 (2010-05-21)\n----------------\n\n* Add 'Send' button to send the letter immediately without Preview.\n [davisagli]\n\n* Fix issue with preview popup fallback for when Javascript is disabled.\n [davisagli]\n\n1.2 (2010-03-02)\n----------------\n\n* Fix issue where sender for the thank you e-mail was not properly loaded\n when editing the form after initial creation.\n [davisagli]\n\n* Added option to disable thank you e-mail to activist.\n [davisagli]\n\n* Fix wizard step listing styles for Plone 4.\n [davisagli]\n\n* Make sure that the Next button takes precedence when submitting a wizard\n step by pressing enter, rather than Previous.\n [davisagli]\n\n* Make sure the list of template variables can't obscure the Prev/Next\n buttons.\n [davisagli]\n\n* Increase the height of the default field for text fields in the form field\n wizard step.\n [davisagli]\n\n* Fix regression from 1.1, wherein text fields would get transformed to HTML\n and then erroneously escaped.\n [davisagli]\n\n1.1 (2010-02-18)\n----------------\n\n* Make sure collective.jqueryui's ZCML is loaded.\n [davisagli]\n\n* Added custom import handler to set the add_view_expr on the Action Letter\n FTI in Plone 4. Also an update step to add this when upgrading from Plone\n 3 to Plone 4.\n [davisagli]\n\n* Workaround for change in the utranslate function in Plone 4 (or possibly\n just me misusing it before).\n [davisagli]\n\n* Workaround for Zope interface changes in the Plone 4-compatible version of\n PloneFormGen.\n [davisagli]\n\n* When creating Leads in Salesforce, default to setting the Lead Source to\n 'Web'. (Requires salesforcepfgadpater >= 1.6b2).\n [davisagli]\n\n* Use the htmlValue method of form fields to process the values in the request\n before rendering a letter. This makes it possible to set the values that\n will be displayed for a boolean field, for example.\n [davisagli]\n\n1.0 (2009-11-11)\n----------------\n\n* No longer artificially restrict to z3c.form <2.0, as that is a deployment\n decision. Plone 3 users may need to pin z3c.form to version 1.9.0 or add\n additional fake eggs to avoid pulling in new zope.* packages.\n [davisagli]\n\n* Only depend on plone.app.jquerytools, not Products.pipbox.\n [davisagli]\n\n* Fixed issue with loading thank you page text when revisiting the wizard.\n [davisagli]\n\n1.0rc1 (2009-8-26)\n------------------\n\n* Added options for configuring the thank you page message or an alternative\n thank you page URL.\n [davisagli]\n\n* Fixed portlet link to view saved letters.\n [davisagli]\n\n* Decode request variables before using them in dollarString substitutions,\n to avoid UnicodeDecodeErrors when casting the strings for interpolation.\n [davisagli]\n\n* Decode UTF-8 values from Archetypes before passing them to z3c.form, to\n avoid UnicodeDecodeErrors when the system default encoding is ASCII.\n [davisagli]\n\n* Check the persistent template setting in the formgen_tool when determining\n whether to update the mailer templates, rather than the default\n default from PFG's config.py\n [davisagli]\n\n* Fixed issue with marshalling field size.\n [davisagli]\n\n* Fixed action adapter processing on the final send step when a CAPTCHA field\n is in use.\n [davisagli]\n\n1.0a1 (2009-06-25)\n------------------\n\n* Initial release.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://svn.plone.org/svn/collective/collective.megaphone/trunk", "keywords": "plone advocacy action letter petition", "license": "GPL", "maintainer": null, "maintainer_email": null, "name": "collective.megaphone", "package_url": "https://pypi.org/project/collective.megaphone/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/collective.megaphone/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://svn.plone.org/svn/collective/collective.megaphone/trunk" }, "release_url": "https://pypi.org/project/collective.megaphone/2.1.5/", "requires_dist": null, "requires_python": null, "summary": "Run an online advocacy campaign from your Plone site.", "version": "2.1.5" }, "last_serial": 787959, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "19c9f099cf9ac168a42083e4a979a363", "sha256": "6d38aa20f22002647d124c067ab79e092afa974211bba32f20d6dcd1348b32cf" }, "downloads": -1, "filename": "collective.megaphone-1.0.zip", "has_sig": false, "md5_digest": "19c9f099cf9ac168a42083e4a979a363", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 72387, "upload_time": "2009-11-11T17:59:13", "url": "https://files.pythonhosted.org/packages/c1/51/a89b798d8dd25d5f30927cd91d06989163284b7b6d4631a7112fd3864d27/collective.megaphone-1.0.zip" } ], "1.0a1": [ { "comment_text": "", "digests": { "md5": "40a1e93a25bc2867df23c66946d73fe2", "sha256": "1574cf02d685f19c7dbec8238dfc4d01af86200c7fb9c872e88b5b6506b72c96" }, "downloads": -1, "filename": "collective.megaphone-1.0a1.tar.gz", "has_sig": false, "md5_digest": "40a1e93a25bc2867df23c66946d73fe2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41657, "upload_time": "2009-06-26T02:52:52", "url": "https://files.pythonhosted.org/packages/18/b2/fd511a6c0be2d0978abfad815193483b6aafb95a2c0e0b99e8e42d2439d2/collective.megaphone-1.0a1.tar.gz" } ], "1.0rc1": [ { "comment_text": "", "digests": { "md5": "fe3171885738d82a9d2a5418ec42d0ff", "sha256": "d148e0fb48f33a256b40e1e879792bdb854a34db0aa29559ec4061d25542e901" }, "downloads": -1, "filename": "collective.megaphone-1.0rc1.tar.gz", "has_sig": false, "md5_digest": "fe3171885738d82a9d2a5418ec42d0ff", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43584, "upload_time": "2009-08-26T20:21:33", "url": "https://files.pythonhosted.org/packages/b7/19/c8b1f0192cf1a4e6f779463010c2abe196f0c306dedc88185ecbb80fa3a5/collective.megaphone-1.0rc1.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "d489502eb1401457556b8c14569d0fe2", "sha256": "7828cddfbc1ccad54cc554513781a28962f03ce9a6bcac9f1665c51bf1020070" }, "downloads": -1, "filename": "collective.megaphone-1.1.zip", "has_sig": true, "md5_digest": "d489502eb1401457556b8c14569d0fe2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 76699, "upload_time": "2010-02-18T22:31:01", "url": "https://files.pythonhosted.org/packages/21/3b/c35b9228bf482eb0cfcdf75b464ffc5191d80930f09de588a2cc9d9d4567/collective.megaphone-1.1.zip" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "66d310fc3f067248fd580d1da80c8412", "sha256": "0c406a6559ba32256c457403d5d241d99ec2b2f0fa78baf62e969252a2c300ab" }, "downloads": -1, "filename": "collective.megaphone-1.2.zip", "has_sig": true, "md5_digest": "66d310fc3f067248fd580d1da80c8412", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 77795, "upload_time": "2010-03-02T23:29:17", "url": "https://files.pythonhosted.org/packages/03/36/12a9985c3bfbb41caad33af2050f698d8ba67681a2dcabba8cbae85ec986/collective.megaphone-1.2.zip" } ], "1.3": [ { "comment_text": "", "digests": { "md5": "4ccef0b02877d665b4c5f3e345b5a470", "sha256": "684583302bfe2bd32e31d26579d65017c4f4bdccc509e1a856f5941ea9d7eb8b" }, "downloads": -1, "filename": "collective.megaphone-1.3.zip", "has_sig": true, "md5_digest": "4ccef0b02877d665b4c5f3e345b5a470", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 84615, "upload_time": "2010-05-22T01:51:10", "url": "https://files.pythonhosted.org/packages/fc/c7/60848a1bba32df401d3d211c3450026ffe202effb9890acbf799a178eb09/collective.megaphone-1.3.zip" } ], "1.4": [ { "comment_text": "", "digests": { "md5": "dc87180a2d04084e3b5c680de9a8c47b", "sha256": "353e7ae933f1df90f2d72a2fe1b8e0a8d42e2d6ba90fc2b4608844db75c1f93d" }, "downloads": -1, "filename": "collective.megaphone-1.4.zip", "has_sig": false, "md5_digest": "dc87180a2d04084e3b5c680de9a8c47b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 85735, "upload_time": "2010-07-01T01:04:23", "url": "https://files.pythonhosted.org/packages/01/f6/c32572dee3d20277cf4f85368bb56d58bfaec54882320b5ba07c9286536d/collective.megaphone-1.4.zip" } ], "1.4.1": [ { "comment_text": "", "digests": { "md5": "6aea7ee5d5190edafd838001a40fa377", "sha256": "ce1d193edbc7c8bfe2adff6c661ae626805d7ed637335cf0f4cbd451167b2106" }, "downloads": -1, "filename": "collective.megaphone-1.4.1.zip", "has_sig": false, "md5_digest": "6aea7ee5d5190edafd838001a40fa377", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 86211, "upload_time": "2010-08-27T21:56:31", "url": "https://files.pythonhosted.org/packages/57/c0/52ecc28601b705a05b18554641c2bf07826c47f2ea85abae6e2504750273/collective.megaphone-1.4.1.zip" } ], "2.0": [ { "comment_text": "", "digests": { "md5": "ba310d8060de63d2b891f4aa662685a5", "sha256": "4bf0dc02deb85947fecc09dd492ba4ae65da4d00ca2965457fd4fd7e5ba995d3" }, "downloads": -1, "filename": "collective.megaphone-2.0.zip", "has_sig": true, "md5_digest": "ba310d8060de63d2b891f4aa662685a5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 104860, "upload_time": "2010-10-14T22:31:38", "url": "https://files.pythonhosted.org/packages/17/84/4e90c8a261729931e81c53325a683be836753449c9785e2bd88ca5e55fc8/collective.megaphone-2.0.zip" } ], "2.0b1": [ { "comment_text": "", "digests": { "md5": "f2759c3e9dfd48caf1a3339495de5048", "sha256": "9e4533204930ead45342d84ee6317f85a5e5a78b90b89335322fece7e6d5a265" }, "downloads": -1, "filename": "collective.megaphone-2.0b1.zip", "has_sig": false, "md5_digest": "f2759c3e9dfd48caf1a3339495de5048", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 103605, "upload_time": "2010-08-20T02:07:17", "url": "https://files.pythonhosted.org/packages/58/8e/f2925d527b03509491993f56dc6e35c37d96dec00ce4fb6ec1fc2fca1ed5/collective.megaphone-2.0b1.zip" } ], "2.1": [ { "comment_text": "", "digests": { "md5": "90ceb2c05611e621b0681544ed451d65", "sha256": "c1a6f4ce563f413c684f268029dfac63bbb98a2fa8eb720761959dedade3436c" }, "downloads": -1, "filename": "collective.megaphone-2.1.zip", "has_sig": false, "md5_digest": "90ceb2c05611e621b0681544ed451d65", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 116174, "upload_time": "2011-03-25T00:43:53", "url": "https://files.pythonhosted.org/packages/5d/8f/318318a515a383a6ffc2e00d778d0fe44501bbfb52961f27a82386f7fa25/collective.megaphone-2.1.zip" } ], "2.1.1": [ { "comment_text": "", "digests": { "md5": "62b1af32cd4be1cc906177106addd459", "sha256": "ac343cbbf2ee3ff83513cc4e8cf457a12b905508c091066dc4f755c2740665ec" }, "downloads": -1, "filename": "collective.megaphone-2.1.1.zip", "has_sig": false, "md5_digest": "62b1af32cd4be1cc906177106addd459", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 116691, "upload_time": "2011-04-09T01:16:14", "url": "https://files.pythonhosted.org/packages/c1/11/7371f6d810ce5167fa5c089e057aaadaf91a62dbcf0291ce7d5de9436af2/collective.megaphone-2.1.1.zip" } ], "2.1.2": [ { "comment_text": "", "digests": { "md5": "8bac272223f7c0d4bfbaf3a565c465a9", "sha256": "974126f00bb2604705a264003180628633d1de7fbf004ab9c80767b66f2bfa8f" }, "downloads": -1, "filename": "collective.megaphone-2.1.2.zip", "has_sig": false, "md5_digest": "8bac272223f7c0d4bfbaf3a565c465a9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 116852, "upload_time": "2011-04-21T22:43:52", "url": "https://files.pythonhosted.org/packages/82/2a/c6b29446d5244d109b7d391450b9eb2c53a1d651c1b09ca37c56260e2fad/collective.megaphone-2.1.2.zip" } ], "2.1.3": [ { "comment_text": "", "digests": { "md5": "e27169dccbed6d8fb3f14519b5f40dff", "sha256": "be89e4422c56ba52e85c1889671e01df6872924c168f2f1df8e1cf7b94a57057" }, "downloads": -1, "filename": "collective.megaphone-2.1.3.zip", "has_sig": false, "md5_digest": "e27169dccbed6d8fb3f14519b5f40dff", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 134011, "upload_time": "2011-10-20T07:07:11", "url": "https://files.pythonhosted.org/packages/83/71/70ca324d432274d3be796b4acc4f99952182cfc9715d8c4b8cb118e7b814/collective.megaphone-2.1.3.zip" } ], "2.1.4": [ { "comment_text": "", "digests": { "md5": "18fc8c0d2bad2962fffc27467581d602", "sha256": "b9e12d1717c5837dba3afc046884d3fbb17c08d8f76987e6729d795db1da0145" }, "downloads": -1, "filename": "collective.megaphone-2.1.4.zip", "has_sig": false, "md5_digest": "18fc8c0d2bad2962fffc27467581d602", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 134258, "upload_time": "2011-10-21T00:55:47", "url": "https://files.pythonhosted.org/packages/ae/53/b1f5f4f2409831493a955a26f269a13e45389c4f607a260a9bc1b2106458/collective.megaphone-2.1.4.zip" } ], "2.1.5": [ { "comment_text": "", "digests": { "md5": "1db0d77b2d18f2997cfebafa31bbeb82", "sha256": "7212400795da14d8ed745d2b2a43498d021341a890cb7166c195107aac1d8f66" }, "downloads": -1, "filename": "collective.megaphone-2.1.5.zip", "has_sig": false, "md5_digest": "1db0d77b2d18f2997cfebafa31bbeb82", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 135563, "upload_time": "2011-10-25T22:24:14", "url": "https://files.pythonhosted.org/packages/47/f5/53d6898146e0934dd655e5e6947e1503b03c8a3b35d8de4f95c500d5d5fd/collective.megaphone-2.1.5.zip" } ], "2.1b1": [ { "comment_text": "", "digests": { "md5": "0eea983c99555e95d31ed1c4b5d4554a", "sha256": "175cef1d986dbdacf295868462b0ee6207ec627335044e172f0e2cc3b76ae78b" }, "downloads": -1, "filename": "collective.megaphone-2.1b1.zip", "has_sig": true, "md5_digest": "0eea983c99555e95d31ed1c4b5d4554a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 111029, "upload_time": "2010-10-15T00:38:41", "url": "https://files.pythonhosted.org/packages/2e/bd/1aad437da0ac81b363a8e12bc5cbaae24fe59d21d252f272fec7524277f7/collective.megaphone-2.1b1.zip" } ], "2.1b2": [ { "comment_text": "", "digests": { "md5": "17450b6531b064965a8b4cc08114ab0a", "sha256": "70046dfffa606468784dda5a3e75049c34b48cf4f34ff84c7e19b9314f69670b" }, "downloads": -1, "filename": "collective.megaphone-2.1b2.zip", "has_sig": true, "md5_digest": "17450b6531b064965a8b4cc08114ab0a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 111291, "upload_time": "2010-11-16T23:19:41", "url": "https://files.pythonhosted.org/packages/53/33/9799831680db66ec1c83924e3caa98933438fec68a1f3c9e54bc2fac2527/collective.megaphone-2.1b2.zip" } ], "2.1b3": [ { "comment_text": "", "digests": { "md5": "c49fb76392a7e495d2899ac2641cac2e", "sha256": "c2b53cc29f6a1506e59058ee3416298336d6e1b48d4faafe4b70cb6b96e606e4" }, "downloads": -1, "filename": "collective.megaphone-2.1b3.zip", "has_sig": false, "md5_digest": "c49fb76392a7e495d2899ac2641cac2e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 113229, "upload_time": "2011-03-23T00:44:27", "url": "https://files.pythonhosted.org/packages/a7/94/0c389f0f47be0013acf4ac2b0c6c1d3a186d3c5428842d4dbba29566f19f/collective.megaphone-2.1b3.zip" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "1db0d77b2d18f2997cfebafa31bbeb82", "sha256": "7212400795da14d8ed745d2b2a43498d021341a890cb7166c195107aac1d8f66" }, "downloads": -1, "filename": "collective.megaphone-2.1.5.zip", "has_sig": false, "md5_digest": "1db0d77b2d18f2997cfebafa31bbeb82", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 135563, "upload_time": "2011-10-25T22:24:14", "url": "https://files.pythonhosted.org/packages/47/f5/53d6898146e0934dd655e5e6947e1503b03c8a3b35d8de4f95c500d5d5fd/collective.megaphone-2.1.5.zip" } ] }