General developer forum

Programming strategy for newsletter plugin

it's me
Programming strategy for newsletter plugin
Core developersPlugin developers

Hi everyone,

we are going to program a newsletter module for Moodle (till now we used a slightly modified forum module, but we need a real newsletter module). As our first step we want to discuss the best way to integrate newsletter functionality into Moodle. We have done some research, and there are two principle strategies we could adopt:

  1. Provide newsletter functionality via a webservice
  2. Fork the forum module and adapt it in order to get rid of typical forum properties and add missing newsletter functionalities (adapt already existing newsletter code snippets to moodle coding guidelines,...)

Strategy #1)

We would create a plugout wink (webservice) to either phplist or sympa list server. The problem with phplist: They do not really have an API for that, but there are already some integrations in other CMS like drupal The advantage of sympa is, that they have a SOAP API:

In general the plugout has  following advantages:

  • ready to use newsletter system
  • workload for programming the plugout eventually not so high compared to strategy #2
  • maintance/updates are done by the sympa/phplist team
  • ????


  • Moodle already offers many functionalities, that would be duplicated like:
    • user management
    • sending mails
    • subsribe/unsubscribe feature
    • web interface with html editor
    • 100 000+ subscribers? (ex.: forums)
    • rights management (roles)
  • manage two systems (Moodle + phplist/sympa)
  • syncing users may be complicated
  • maybe it is even more work to create the plugout, if we just adopt a minimum of the newsletter features

Strategy #2)

Implement the following features into the forked forum module, and get rid of the not used functionalities of the forum.

  • bounce processing / handling
  • optional: scheduled sending
  • optional: Open/View Tracking tells you how many users opened your email message. This provides a minimum statistic, as many email clients with privacy or security policies block images (gmail, thunderbird, and others).
  • optional: Subscriber Attributes like 'name', 'country', and other personal information, are completely customizable. You can specify what information you need to get from users when they subscribe.
  • no forgotten / duplicate messages (I think the forum module tends to not to retry if sending the mails fails or is interrupted and does not track if mails are sent)

What would you think is the best approach? We are happy get your opinions and advise to be able to choose the best and most sustainable strategy.

Thank you for your feedback and best regards,


Average of ratings: -
Picture of Justin Hunt
Re: Programming strategy for newsletter plugin
Particularly helpful MoodlersPlugin developers

Just my read on this ...

I would not use something like the forum as a base, there is just way too much you don't need in there. And even though it might get you up and running faster, it will be harder to maintain and extend freely. 

I think using one of the open source mailers you recommended would be a better option. I can see the attraction of having an in-Moodle mailing list manager. 

I would add a third Strategy which is to use a mailing list provider, and build a neat Moodle API integration. The provider would probably be very happy to have you do that too.

Personally I use MailChimp. On one Moodle site I started, and never finished, I added a simple integration when users sign up to Moodle, such that they also get signed up to the MailChimp mailing list. You would also need a sync'ing tool. But they have a great API designed for this sort of job. And the benefit is they handle almost everything, and have a range of tools, iphone apps available 

I am sure you have your own requirements though. That is just what works for me.

Average of ratings: -
Me at the Moodle Moot NZ11
Re: Programming strategy for newsletter plugin
Particularly helpful Moodlers

Great initiative David smile

I'm going to disagree with Justin (sorry!)
If this mod is based on a trimmed down Forum then it's easier to maintain, because it will be based on very stable and well-tested code, that other Moodle developers will be familiar with.

If this plugin is going to be useful for many Moodle sites (and I believe it would be) then basing it on an existing module makes a lot of sense.  A 'typical' admin in a School for example would just want a plugin, that can be easily updated, without having to think about other apps, servers, etc.

Of course, if your aim is to build the mother of all Newsletter plugins for Moodle for yourself (and if it's useful for others so be it)  then you might start from scratch. But if you are aiming at wide adoption/use, I'd start with the Forum.

Look forward to hearing other perspective, and also happy to be a tester for this smile


Average of ratings: -
it's me
Re: Programming strategy for newsletter plugin
Core developersPlugin developers

Hi Justin, hi Stuart,

thank you for your replies, that's very helpful. Right now I tend more to take the forum as base and add the newsletter features to it.

@Justin: MailChimp seems to be a very cool newsletter tool, but as it is not OpenSource, developing a webservice for their service, is quite risky (what happens, when the service is closed down, bought by some other enterprise, etc..). Also we exclusively support OpenSource when we spend money for programming.

@Stuart: Managing another platform is the most important argument, not to create a webservice. So I think we do have enough ressources to implement the core features in the module itself. Indeed, we would be very happy, if you could test the plugin, when it's in beta version wink.

We will do some further evaluation this week and I think we will have a decision at the end of this week / beginning next week.

Best regards,


Average of ratings: -