Move mailing functionality into a submodule (Architecture)

Created on 3 September 2024, 7 months ago

Problem/Motivation

The brevo module currently already provides basic SDK integration and API key handling, which is also required for other integrations, like Brevo newsletter (un)subscribe API Active

But currently the mailing functionality seems to be baked into the main module.
For our case (and I guess others) the mailing functionality is not needed and not even wanted, so it would be great, if that could be moved into a submodule.

This way other module functionality, contrib and custom implementations can build on the brevo module SDK, but don't need to build on the mailing functionality. For example Webform newsletter subscription integration checkbox & handler Postponed

It would be great, if that could be moved soon, so the other functionalities and be build similarly and use the base module.

Steps to reproduce

Proposed resolution

Remaining tasks

User interface changes

API changes

Data model changes

Feature request
Status

Active

Version

1.0

Component

Code

Created by

🇩🇪Germany Anybody Porta Westfalica

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

  • Issue created by @Anybody
  • 🇩🇪Germany Anybody Porta Westfalica

    @Maintainers: Can I help here? Could you please eventually give some feedback on your plans and if you agree?

  • 🇫🇷France Renrhaf 📍 Strasbourg 🐦🦜

    Hi @anybody, the transactional email sending feature was the first main milestone of the module.

    If you don't want to send transactional emails, enabling the module will not force you to. You still have to configure MailSystem/Symfony mailer to do so. I understand your idea of separating features into submodules, and I'll look into it when I'll implement some more features.

  • 🇩🇪Germany Anybody Porta Westfalica

    Thank you @renrhaf! That sounds great!

    Yes indeed it would be helpful to have the email functionality split off like described and a minimal base module. That would make it easier for us to implement mail-unrelated functionality and the focus of each submodule more clear. And you won't have to mess around with features you don't need :)

    I think it would indeed make sense to be either done by you or in a time when other development pauses to not lose precious time with conflicts.

    We're absolutely willing to help with the future of this module. Thank you!

  • 🇩🇪Germany Anybody Porta Westfalica

    PS: Having that done will also unlock Brevo newsletter (un)subscribe API Active with its postponed issues. :)

    • renrhaf committed 7bf40f6f on 1.0.x
      Issue #3471754 by renrhaf: Move mailing functionality into a submodule (...
    • renrhaf committed 91ad257c on 1.0.x
      Issue #3471754 by renrhaf: Move mailing functionality into a submodule (...
  • 🇫🇷France Renrhaf 📍 Strasbourg 🐦🦜

    The architecture of the module was modified in version 1.0.2
    Now the Brevo module in itself is not offering much feature appart from managing the API key & the builder to use the API.
    The Brevo Mailer contains the code to use the transactional email API into Drupal (with mailsystem / symfony mailer).
    So it can be disabled for projects where it is not needed.

    I've setup & tested the migration path for my own projects where I use the Brevo module, but I'll add a warning on the release note to make sure to test everything after the update.

  • 🇩🇪Germany Anybody Porta Westfalica

    Once again thank you @renrhaf great news!!

  • Automatically closed - issue fixed for 2 weeks with no activity.

Production build 0.71.5 2024