Install
Works with Drupal: 7.xUsing Composer to manage Drupal site dependencies
Downloads
Release notes
First 7.x-3.x beta
This is the first beta release of the 7.x-3.x branch of the Mailchimp module, which is a gigantic architectural change and major rewrite of the module. This is a good chance to have a look at some of the major changes, which should provide a more flexible, stable, and powerful Mailchimp module. This beta release is relatively stable, and may be usable in production sites, but has not been tested for them: with feedback from the community, this release should lead directly into a stable point release of 7.x-3.0. No upgrade path is provided from 7.x-2.x or from 7.x-3.0-alpha1, as there are significant structural changes. It is recommended that you remove your prior Mailchimp installation before installing 7.x-3.0-beta1.
Changes & Features
- The Mailchimp Lists module has been completely re-written to allow subscriptions for any entity, not just Users. Entities are now connected to Mailchimp Lists using a custom field type called "MailChimp Subscription". This allows us to leverage all the power of field API for field behavior configuration and provides instant Views and VBO compatibility.
- Push entity field values directly to Mailchimp Merge fields by configuring the Mailchimp Subscription field.
- There is a new module called Mailchimp Signup for quickly & easily generating anonymous list signup pages and blocks, without getting those settings mucked up with permissions-restricted entity registration.
- The core API functions have been re-written to work with version 2.x of Mailchimp's API.
- Support for static list segmentation via a custom VBO action, and use of list segments in Campaigns
- Update merge variables on existing subscribers from linked entity values as a batch process
- Improved UI for building Campaigns from web content
- Support for 2.x-style role-based required list membership via custom Rules actions (see README.txt in mailchimp_lists)
- Lots of other minor improvements and changes as a result of the re-write.
Changelog since 7.x-3.0-alpha1:
- Site content import no longer hidden depending on text format.
- Merge vars now automatically updated for non-template content on list change.
- Broke entity import, merge var form fields out into own functions. Both now available without a template selected.
- Remove entity tag form element.
- Reset cache when a campaign is sent.
- Implement buildQuery to order by created date since our IDs are not numeric.
- Now really fix the variable by reference error.
- Fix variable by reference warning.
- Refactor the merge variables field set.
- Exclude mail chimp entity types in our content import list.
- Wrap string in t().
- Set the element id using the attributes key.
- Use container form element rather than an item wrapped in divs.
- Add description and improve title of import content section.
- Use Drupal theme_table to render a table for merge variables.
- Refactored entity import in template editor. Fixed form-within-form issue.
- Fixed recursive cache data setting bug.
- Multiple entity import forms can now function on one page.
- Moved Site Content Import into MailChimp campaign filter tips. Moved Merge Vars into each content block.
- Moved entity import into template content sections.
- Moved merge vars into template content sections.
- Detect subscription changes from interest-group alterations on subscription basic forms.
- Display interest group settings as lists.
- Alter field instance default settings form to display interest group default options based on interest groups being enabled.
- Handle single-value picklist interest group form selections properly.
- Pay attention to instance-level interest group display settings when rendering field values and forms.
- Intelligent form behavior on field formatter when interest groups are disabled.
- Refactor mailchimp_lists_field_formatter_view().
- Change widget label to something meaningful.
- Added Rules demo & export to Readme.
- Add Rules action for subscribing/unsubscribing to a list field.
- Mitigate undefined value error is subscription status check.
- Restrict list selection to lists not already connected to subscription fields.
- Disable list selector on instance settings page.
- Remove markup in description to ease string translation.
- Refactor activity page rendering to use existing functions.
- Fix cache creation bug in get_member_activity
- Remove redundant function mc_get_lists_by_email
- missing t() wrappers.
- Fixing undefined variable.
- Moved campaigns test constants into campaigns test class.
- Moved lists test constants into lists test class.
- Replace _mailchimp_lists_entity_get_bundle() with the DrupalMetadataWrapper::getBundle().
- Broke template content parse code into own method, implemented in content preview. #68
- Restored MailChimpCampaignController references.
- Refactor resetCache to reset all campaign data if no IDs are passed.
- Restoring references to MailChimpCampaignController.
- Minor code style.
- Add a load arguments menu parameter to mailchimp_campaign_menu().
- Remove ghost controller.
- Provide label method in MailChimpCampaign.
- Minor cache refactoring.
- Set cache to TEMPORARY.
- Fix cacheing in mailchimp_get_mergevars().
- Refactor to split get_templates into different functions for different usages.
- Clarify warning message for repeating section templates.
- Strip out granular signup page permissions in favor of a single over-arching signup page access permission.
- Strip out default page permissions for signup forms.
- Implement hook_forms in mailchimp_signup to provide unique form ID's and prevent cross-polination of field requirements with multiple signups forms on single pages.
- Fixing form function names.
- Resolving bad cacheing logic in member_activity and restoring granular cacheing scheme.
- Standarizing cacheing naming schemes.
- Consolidate menu configuration in mailchimp_activity.
- Create valid signup admin permission and permission callback.
- Enable entity api admin for signups and remove redundant "add" menu item.
- Update signup edit form for campatibility with entity api usage.
- Move signup overview admin customizations to the overview table method.
- Use entity api's admin overview page for signups.
- Instantiate mailchimp_signup ui controller class
- Adding proper URI callback for signup entities.
- Now deleting test mode module post-test.
- Ensure we have a $activity['campaign_id'] before painting activity row.
- Remaining switches to using identifier().
- Use identifier() method rather than mcs_id consistently.
- Remove MAILCHIMP_SIGNUP_BLOCK_LABEL constant.
- Merging conflicts in signup.module from equivalent changes on 2 branches.
- Refactor batch update to put actual update processing into it's own function/step.
- Improved messaging on fields admin screen.
- Updating batch limit variable description for new usage.
- Avoid errors when system attempts to render deleted signup blocks.
- Refactor update batch to compensate for limitations in subscribe information api calls.
- Fix type in field batch update link logic.
- Updating uri callback for entities to use default function.
- Refactor mailchimp_unsubscribe() to match the new async pattern.
- Change mailchimp_update_process() to mailchimp_update_member_process() for consistency.
- User MailChimp activity now limited to currently subscribed lists. Fixes #34
- Campaign cache now cleared on send and automatically while a campaign is in 'sending' status. Fixes #43
- Automatically rebuild menu cache when altering a signup page location.
- Restructure signup form submission logic for consistency.
- Return empty block when signup is invalid.
- Remove menu items when signup forms are deleted.
- setUp method now consistent with parent class.
- Added mailchimp_test_mode variable to allow alternate logic during unit tests.
- Fixed bug in passing template content sections to MailChimp API.
- Removed manual include of campaign entity file.
- Refactored MailChimpCampaignController into own file, moved entity-related methods into .module file.
- Cron no longer needs to pass the async flag.
- Pull subscription processing out of mailchimp_update() and into mailchimp_update_process().
- Pull subscription processing out of mailchimp_subscribe() and into mailchimp_subscribe_process().
- Fixed parameter order in error log calls.
- Consistent handling of MCAPI object.
- Refactored loading of campaign templates to avoid excessive API calls. Fixes #49
- Updating Activity README with information on entity bug on import function.
- Set intelligent default permissions for new signup pages.
- Adding permission check functionality to signup_page_access.
- Fixed include path after refactoring.
- Create permissions for signup pages.
- Check for API key before rendering submodule admin menu items.
- Remote `$mcapi = NULL` parameter from subscribe functions.
- Cron no longer needs to pass mcapi object as a parameter.
- Add static handling to mailchimp_get_api_object().
- Consistent directory structure in signup module.
- Proper directory structure for campaign module.
- Proper module directory structure for mailchimp_activity.
- Removing obsolete entity includes in lists.info.
- Fixing constant names in mailchimp_lists module.
- Proper email address validation in lists_load_email.
- More sensible destination after merge var bulk update.
- Prevent locking in mailchimp_get_members.
- Filter subscription update triggers based on relevant field changes.
- Fix field info getter formatting of interest groups.
- Clearer messaging on subscription field configuration page.
- Warn users when using a template with repeating sections.
- Allow usage of non-custom templates.
- removing inaccurate file listing for campaign overview page.
- Allow for custom labeling in campaign option lists for multi-dimensional arrays.
- updating option list function to facilitate multi-dimensional arrays
- Basic implementation of fields Admin UI.
- Initial templating of Field admin page.
- Refactoring merge value update function as a batch.
- Alter mergevar menu item to point at batching form.
- Create form and submit handler for queueing merge variable update operation.
- Remove conditional code in mailchimp_lists_field_presave().
- Merging conflict.
- Populated missing webhook test methods.
- Added campaign tests.
- Added webhook tests.
- Added list segment tests, updated tests for clarity.
- Added list segment tests. Fixed a few failing test cases.
- Additional unit tests, data structure fixes.
- Added unit tests; placeholders for additional unit tests.
- Added test case for multi-list retrieval.
- Minor test fixes, added list retrieval test.
- Added missing construct params to test classes.
- Added MailChimp campaigns test class, added test class constructors.
- Populated subscribe / unsubscribe test methods.
- Removed old test code, refactored lists test class.
- Migrated list subscription test from 7.x-2.x branch.
- Migrated base test structure from 7.x-2.x branch.
- Initial unit tests outline.
- Initial implementation of update_mergevars batch function.
- Adding mailchimp_get_members wrapper around lists->members.
- Implementing wrapper form batch-subscribe.
- Removing redundant get_merge_vars call.
- Use mailchimp_get_mergevars instead of mailchimp_lists_get_merge_vars in mailchimp_campaign
- Remove hook_update leftover from 2.x version of Activity.
- Allow non-required fields for email.
- Allow computed fields to be mapped to mailchimp required merge fields.
- Cleaning up admin menu display.
- Assert revision variable before checking it.
- Add custom getter callback for subscription fields to return real values.
- Flatten representation of field data values.
- Update merge field values whenever field values are updated.
- Fixing database error when setting empty field_collection values.
- Fix typo in mergevar_populate.
- Fixes crash when merge values from referenced entities had blank references.
- Change weight of global settings callback.
- Coding standards / documentation updates.
- Set default values on return variables.
- Set return value on mailchimp_get_api_object().
- Only allow required mergefields to sync to require drupal fields and properties.
- Replacing object-based asyncronous check with proceedural code.
- Override call() method to use Drupal core HTTP handling and not curl.
- Remove batch queue on uninstall.
- #2221459: Library structure typo in README.
- Resolve errors on entity deletions and respect the new unsubscribe_on_delete setting
- Add unsubscribe on delete setting to field instances.
- Resolve array index error when entities are saved outside of the edit UI.
- MailchimpActivityEntity now implements uri() method. Fixes broken links in entity list.
- Fixed bug when calling entity_uri using an entity without an entity ID field.
- Exception handling for activity API call.
- Updated all READMEs for 3.0.
- Refactored user activity list to work with MailChimp API 2.0.
- Converted member list activity API call to MailChimp API 2.0.
- Updating an activity entity now always updates the entity_path.
- Merged in mailchimp_activity module from 2.x branch.
- Improved entity import form layout.
- Incorporate mailchimp list cache clear link to field settings for list selection.
- make options module required for mailchimp_lists
- Adds links to mailchimp list cache refresh on signup admin overview page.
- Adds links to mailchimp list cache refresh function to list admin page.
- Adding mailchimp list cache refresh page.
- Make subscription confirmation message configurable on signup forms.
- Avoid warnings when webhooks are not present.
- Entity import token now always displayed on form when generated. No longer inside text field.
- Documentation, minor fix for site content import text field.
- Merge tags can now be inserted into a template by clicking on them.
- Added fallback for token insertion. If token cannot be automatically inserted into template, it appears in a text field.
- List segment select element now hidden when now segments are available.
- Converted JS entity field references to use classes due to element IDs changing on AJAX response.
- Fixed missing entity titles in entity lookup callback.
- Now restricting content import to entities with a title field.
- Expanded response from entity title select field to replace entity lookup field.
- Converted node lookup callback to use entity field query, accept entity type as parameter.
- Entity import token now has basic error handling.
- Restored add token link, simplified token JS.
- Combined template section entity import fields into single fieldset. Template sections now collapsed by default.
- Form element naming improvements.
- View modes now reflect selected entity type
- Entity type options now come from Drupal, not hard-coded.
- Now only validating format of input fields with a format.
- Entity tokens may now be inserted into any point in a text field without overwriting data.
- Fixed entity lookup form element ID references.
- Better token insert click handling.
- Now appending entity token to specific text field.
- Added entity token generator javascript.
- Renamed tokens to merge tags for consistency.
- Documentation update.
- Moved entity fields into a fieldset.
- Added entity lookup form to each template content section.
- Removed unneeded tokens form key from ajax callback. Tokens now combined with content.
- Added link to standard MailChimp merge tags.
- Formatting.
- Nested tokens under template content.
- Added merge vars to tokens block on campaign edit form.
- Added method to get list merge vars from MailChimp API. #26
- Add compatibility with entity fields and multi-value fields to mailchimp subscription field merge fields.
- Remove requirement from VBO field options that was breaking VBO configuration screen for non-mailchimp actions.
- Added list segment field to campaign view.
- List segment options now used when creating new campaigns.
- Segment ID validation when loading from campaign.
- More specific error messages.
- Fixed list segment select element when creating a new campaign.
- List segment selection now passed to MailChimp API on campaign update.
- Cleaned up list segment form.
- List segment select element now defaults to selected segment, if any.
- Added form element for list segments to campaign form.
- Replaced debug code.
- Added method to get list segments for a given list.
- Updated reports method for MailChimp API V2.
- Added campaign exception handling.
- Added exception handling to campaign delete method.
- Fixed campaign update method.
- Updated campaign creation for MailChimp API V2.