Skip to main content

MailChimp integration for Plone.

Project description

https://img.shields.io/coveralls/collective/collective.mailchimp/master.svg Code Health Egg Status Latest Version License

Introduction

kitconcept

MailChimp integration for Plone 5.2 and 6.0 on Python 3. Use collective.mailchimp 3.x for earlier Plone and Python versions.

MailChimp helps you design email newsletters, share them on social networks, integrate with services you already use, and track your results.

collective.mailchimp provides a @newsletter view to let visitors subscribe to one or more MailChimp mailing lists. It also provides a MailChimp portlet in case you want to display your newsletter subscription as part of an existing site.

The newsletter subscriptions forms in both the view and the portlet are extendable, so you can add custom fields that can be stored in your MailChimp subscriber list.

It also comes with a MailChimp control panel to let you enter your MailChimp credentials for your Plone site.

collective.mailchimp is tested on Plone 4.x and 5.x and should work on Plone > 3.3 (with the appropriate version pins for plone.app.registry and z3c.form).

Installation

Install collective.mailchimp by adding it to your buildout:

[buildout]

...

eggs =
    collective.mailchimp

and then running “bin/buildout”.

Multiple MailChimp Lists

collective.mailchimp supports multiple MailChimp lists. The MailChimp portlet allows administators to choose a MailChimp list from a dropdown list for each portlet. The MailChimp newsletter view (@@newsletter) allows to provide a list_id (see your MailChimp account) as optional URL parameter:

http://localhost:8080/Plone/@@newsletter?list_id=f3247645gs

If no URL parameter is provided the form just chooses the first MailChimp list available (which is fine as long as you have just one list anyway).

Preselect Interest Groups

collective.mailchimp supports MailChimp’s interest groups. In case there is more than one single group you might want to pre-select some of the groups. To do so add one or more ‘preselect_group’ parameters to the URL that points to your MailChimp newsletter form. For instance to select the first and the fifth group entry use the following link:

http://localhost:8080/Plone/@@newsletter?preselect_group=0&preselect_group=4

Note: if you used version 1.4.1 of collective.mailchimp or earlier, you may no longer see the interest groups on the subscribe form. You should visit the control panel again. This will update the data automatically.

Extend Newsletter Subscription Form

The collective.mailchimp newsletter form (used in the separate view as well as in the portlet) can be extended without touching the code of collective.mailchimp.

History

collective.mailchimp has been written from the scratch in order to replace raptus.mailchimp for newer versions of Plone (> 4.0).

The difference between collective.mailchimp and raptus.mailchimp is:

  • Directly use the MailChimp API instead of greatape as Python wrapper (because greatape is completely untested, does not support the latest MailChimp API version and seems to be not actively developed any longer)

  • z3c.form instead of formlib for forms (because formlib is deprecated)

  • plone.app.registry instead of portal_properties for storing properties (because portal_properties will be deprecated soon)

  • it is tested by automated software tests (because untested code is broken code)

Issue Tracker

Please report bugs to the issue tracker on github.

Credits

kitconcept

This plugin is developed and maintained by kitconcept.

If you are having issues, please let us know.

License

The project is licensed under the GPLv2.

Contributors

  • Timo Stollenwerk, Original Author

  • Maurits van Rees, MailChimp API 3, Plone 5 compatibility

  • Jean-Paul Ladage

  • Jean-Michel Francois

  • Carsten Senger

  • Peter Holzer

Changelog

4.0.0a1 (2023-04-14)

Breaking changes:

  • Dropped support for Plone 5.1 and older. [maurits]

  • Dropped support for Python 2. [maurits]

New features:

  • Split the controlpanel into two separate pages: settings and data. Until now, if the settings resulted in an error while fetching the data from mailchimp, you could not fix this because the whole control panel would fail to load. Fixes issue 26. [maurits]

  • Updated tests and infrastructure for Plone 5.2, Python 3. Plone 6 should work, but it not tested yet. [maurits]

Bug fixes:

  • Reinitialize the locator when called on a different Plone Site. Fixes issue 31. [maurits]

  • Register resource bundle so our css is loaded on Plone 5.2 and higher. [maurits]

  • Increase limit to 50 (by default) when retrieving lists from mailchimp. The API default was getting only 10 lists, which is really too few (and can prevent you from selecting the correct default list for example). The limit is a setting that can be changed on a per-site basis. [laulaz]

  • Update portlet template and fix portlet code for Plone 5.2/6. [fredvd]

  • Fix posting of interests to the mailchimp API, interest_groups were transformed to bytes string. [fredvd]

  • Fix controlpanel field validation for Plone 6 [agitator]

3.1.0 (2020-01-13)

New Features:

  • Add Plone 5.2 and Python 3.7 classifiers. [timo]

  • Add uninstall profile [erral]

Bug Fixes:

  • Don’t show interest groups if empty [laulaz]

  • Fix existing French translations [laulaz]

  • Redirect to navigation root after (un)subscription [daggelpop]

3.0.0 (2019-06-14)

New Features:

  • Prepare to work with Python 3. Isort, black, fixed deprecated Python 2 syntax AST errors. implements to implementer. Fix imports with six and avoid circular imports. [jensens]

2.2.2 (2018-06-07)

Bugfixes:

  • Fix error handling in @@newsletter to validate form extenders [csenger]

2.2.1 (2018-01-05)

Bugfixes:

  • Plone 5.1 compatibility. [timo]

2.2.0 (2017-12-07)

New Features:

  • Make plone.app.imaging a test dependency only in setup.py. This fixes an issue with Plone 5.1 and plone.restapi. plone.app.imaging is a hard dependency on Plone 5.0 (CMFPlone) and optional on Plone 5.1. [timo]

2.1.0 (2017-09-12)

New Features:

  • Plone 5.0.8 compatibility. Add plone.app.imaging to dependencies in setup.py. [timo]

  • Add @@unsubscribe-newsletter. [csenger]

  • Added basic Romanian translation [ichim-david]

Bugfixes:

  • Updated Dutch translations. [jladage]

  • Fixed ignoral of new locales directory because of option set in gitignore [ichim-david]

2.0.2 (2016-02-02)

Bugfixes:

  • Fixed MANIFEST.in so all files are added. Releases 2.0 and 2.0.1 were missing non Python files. [maurits]

2.0.1 (2016-01-29)

Bugfixes:

2.0 (2016-01-28)

  • Move code to src folder to follow best practice. [timo]

  • Set default value for interests to ‘{}’ instead of None. This fixes https://github.com/collective/collective.mailchimp/issues/19. [timo]

  • Added support for Plone 5, kept 4.3 compatibility. [jladage, didrix, maurits]

  • Updated to version 3.0 of the mailchimp api. The data that we get from mailchimp with this api version is changed. When you have interest groups in your lists, and you do not see them anymore on the subscribe form, you should visit the control panel again. This will update the data automatically. [jladage, didrix, maurits]

  • Remove bare excepts. [timo]

1.4.1 (2015-05-04)

  • Try to avoid some needless registry updates. [maurits]

  • Disable inline validation in the mailchimp control panel. It may change the cache based on a new api key that the user has not yet saved. [maurits]

  • Remove mailchimp object before updating cache. Otherwise a change in the api key is not picked up until after a restart. [maurits]

1.4.0 (2015-04-29)

  • Fix invalid pypi classifier. [timo]

  • Show control panel even when api key is invalid. Fixes issue #8. [maurits]

  • Fix fallback for missing cache after startup. [pbauer]

  • Add italian translation. [gborelli]

  • Fix UnicodeEncodeError [pbauer]

  • Add persistent cache in the registry for the connection. [toutpt]

  • Add french translations [toutpt]

  • Add brazilian translation. [cleberjsantos]

1.3.1 (2013-03-03)

  • Fix broken group subscription which has been introduced in 1.3.0. [timo]

1.3.0 (2013-03-03)

  • Add option to preselect interest groups in the newsletter form. [timo]

1.2.1 (2013-02-13)

  • Fix 1.2.0 upgrade step. [timo]

1.2.0 (2013-02-13)

  • Make newsletter view not fail if no default_list has been selected. [timo]

  • German translation updated. [timo]

  • Styles for newsletter subscription form added. [timo]

1.1.1 (2013-02-01)

  • Fix mailchimp control panel which fails if no valid MailChimp API key has been provided. [timo]

1.1.0 (2013-01-23)

  • Dutch translation added. [sjoerdve]

  • Make NewsletterForm extendable. [timo]

  • Use MailChimp list settings from the control panel. Note: You have to reinstall collective.mailchimp, otherwise you will end up with a “KeyError: ‘Interface .. defines a field .., for which there is no record.’” [timo]

  • Support for MailChimp interest groups added. For now this feature only works with one single list. [timo]

  • Email type option added. [timo]

  • Rename AvailableListsVocabulary to AvailableLists. [timo]

  • Add fieldsets to MailChimp control panel. [timo]

  • Add a MailchimpLocator utility to encapsulate all MailChimp API calls. [timo]

  • Allow multiple lists for newsletter view; add mailchimp locator to encapsulate api calls. [timo]

  • Add new default_list setting to allow administrators to choose their default MailChimp list for the @@newsletter view. [timo]

  • Add email_type_is_optional setting to allow administrators to choose if they want to allow users to choose their own email_type. [timo]

  • Make README and CHANGES .rst files. [timo]

1.0.3 (2012-12-05)

  • Missing .mo files added. [timo]

1.0.2 (2012-12-05)

  • Raise a more specific error when an email has been already subscribed to a newsletter. [timo]

  • German translations updated. [timo]

1.0.1 (2012-10-28)

  • Fix MANIFEST.in to include readme and changelog. [jone]

1.0 (2012-10-17)

  • Initial release [timo]

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

collective.mailchimp-4.0.0a1.tar.gz (55.9 kB view hashes)

Uploaded Source

Built Distribution

collective.mailchimp-4.0.0a1-py3-none-any.whl (69.1 kB view hashes)

Uploaded Python 3

Supported by

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