Experimental project

This is a sandbox project, which contains experimental code for developer use only.

Description

This module is built to try and provide complete integration between organic groups and mailman. It uses the mailman api module and some code from the cpanel_api2 module to make this happen. With this module you can:

  • Enable mailing lists per group type
  • Assign a new mailing list to a group (and created the new mailing list)
  • Assign an existing mailing list to a group
  • Sync one way (Organic Groups -> Mailman)
  • Move groups between e-mail lists

This module automatically does the following:

  • Subscribes users to a list when they join a group
  • Remove users from a group when they leave that group
  • Update all lists when a user updates their e-mail address
  • Remove user from mailman when their account is deleted

Module Dependencies

This module uses three modules for it's core features.

Cpanel Api2
Cpanel API2 is a module that uses cpanel's json/xml api to interface with cpanel. It is an excellent module, allowing one to perform almost any cpanel function in drupal. A big thanks to danrasband for his work on this module. As it is still and sandboxed module, I have copied a subsection of the features (all the email features) into this module. When cpanel api 2 is released as a full module, I will remove that code from this module and set cpanel api 2 as regular dependency.
Mailman API
Mailman api is still in development as well. However, it is a full module and is being worked on. Mailman api provides three functions crucial to this module behavior. mailman_api_subscribe(), mailman_api_unsubscribe(), and mailman_api_is_subscribed(). All of which are used in the OG Mailman module.
Encrypt
Encrypt is for storing both cpanels and mailmans password. This is a safety feature to keep passwords safe while they are stored in drupals database

OG Mailman vs. Mailman Groups

This module may seem similar to the mailman groups module (and in some cases the goals of both modules are similiar). However, the mailman groups module is based off the mailman manager/user mailman register module which attempt to keep all list information locally, (which users a subscribed to the list, ...). The goal of this module is to keep only the e-mail name and password of a list locally, and grab all other information from mailman when it is needed so as not to duplicate data. This module also is not based off mailman manger or user mailman register.

This module is currently in active development, and is my first contributed module, so critiques and suggestions are welcome and appreciated

Project information

  • Created by schultetwin on , updated