https://github.com/wieni/wmsubscription
Provides a common interface for managing email marketing platform subscriptions in Drupal 8.
https://github.com/wieni/wmsubscription
drupal-8 drupal-module drupal8-module marketing-automation marketing-tools
Last synced: about 2 months ago
JSON representation
Provides a common interface for managing email marketing platform subscriptions in Drupal 8.
- Host: GitHub
- URL: https://github.com/wieni/wmsubscription
- Owner: wieni
- License: mit
- Created: 2020-03-23T10:13:03.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-05-15T08:01:32.000Z (over 2 years ago)
- Last Synced: 2025-04-09T03:48:55.578Z (6 months ago)
- Topics: drupal-8, drupal-module, drupal8-module, marketing-automation, marketing-tools
- Language: PHP
- Size: 51.8 KB
- Stars: 0
- Watchers: 8
- Forks: 2
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
wmsubscription
======================[](https://packagist.org/packages/wieni/wmsubscription)
[](https://packagist.org/packages/wieni/wmsubscription)
[](https://packagist.org/packages/wieni/wmsubscription)> 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:```bash
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](https://mailchimp.com) implementation
- `wmsubscription_campaignmonitor`, provides a [Campaign Monitor](https://www.campaignmonitor.com) implementationAfter 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`](src/SubscriptionToolInterface.php).
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`:
```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](https://github.com/wieni/dead_letter_queue) 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:
```php
$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](CHANGELOG.md) file.## Security
If you discover any security-related issues, please email
[security@wieni.be](mailto:security@wieni.be) instead of using the issue
tracker.## License
Distributed under the MIT License. See the [LICENSE](LICENSE) file
for more information.