wieni/wmsubscription

Provides a common interface for managing email marketing platform subscriptions in Drupal 8

Installs: 744

Dependents: 2

Suggesters: 0

Security: 0

Stars: 0

Watchers: 7

Forks: 2

Open Issues: 3

Type:drupal-module

1.3.1 2021-05-11 14:47 UTC

This package is auto-updated.

Last update: 2024-04-15 09:50:17 UTC


README

Latest Stable Version Total Downloads License

Provides a common interface for managing email marketing platform subscriptions.

Why?

  • Easily create newsletter subscription forms tailored to your project, but without the boilerplate
  • Platform-agnostic API which makes it possible to easily switch between providers and to share even more code between projects.

Installation

This package requires PHP 7.1 and Drupal 8 or higher. It can be installed using Composer:

 composer require wieni/wmsubscription

How does it work?

Choosing a provider

Aside from the core package, you'll also need to install a provider module:

  • wmsubscription_mailchimp, provides a MailChimp implementation
  • wmsubscription_campaignmonitor, provides a Campaign Monitor implementation

After installing a provider module, change the tool key in the wmsubscription.settings config.

Choosing between direct or queued subscriptions

When calling external API's, it's often a good idea to queue operations so that in case of connection problems, no operations are lost.

By default, subscriptions are handled immediately after calling SubscriptionToolInterface::addSubscriber. This behaviour can be changed by setting the manager key to wmsubscription.manager.queued. Operations will be added to a queue, so make sure cron is executed regularly.

To make sure visitors cannot subscribe the same email address while the previous operation is still in queue, this module provides a custom queue database implementation checking for duplicates. To enable the custom implementation, add the following snippet to your settings.php:

$settings['queue_service_wmsubscription_subscriptions'] = 'wmsubscription.queue.unique_subscription';

Dead Letter Queue integration

This module provides a submodule that can be used to combine the functionality of the Dead Letter Queue module with the unique subscription queue: wmsubscription_dead_letter_queue.

To enable this feature, use the following snippet in your settings.php instead of the one mentioned above:

$settings['queue_service_wmsubscription_subscriptions'] = 'wmsubscription_dead_letter_queue.queue.database';

To add support for the Dead Letter Queue UI module as well, enable the wmsubscription_dead_letter_queue_ui module.

Changelog

All notable changes to this project will be documented in the CHANGELOG file.

Security

If you discover any security-related issues, please email security@wieni.be instead of using the issue tracker.

License

Distributed under the MIT License. See the LICENSE file for more information.