[Mailman-Developers] Query regarding plugin integration with mailman3

Stephen J. Turnbull stephen at xemacs.org
Mon Mar 2 15:49:17 CET 2015


Aanand Shekhar Roy writes:

 > I was wondering if this approach for creating the plug-in would work:
 > When the plugin is installed, its .config file will check if required
 > interfaces are present in the local machine and find and install the code
 > of plug-in at required place in local machine. A new Rule gets added(by
 > .config file) in src/mailman/rules that uses IRule interface which checks
 > our requirements(i.e. confidential information check, banned words etc).
 > This rule will be added in src/mailman/chain. The rule is checked when
 > chain runs and takes the action set corresponding to the rule. We make a
 > module implementing IHandler that modifies the text before forwarding it
 > in the pipeline in which the whole process is running.

I think you're getting way ahead of yourself.

The normal installation process is for the site administrator or the
host administrator to just copy the "plugin" module into the
installation, pip any supporting modules from PyPI, and add the
Handler or Rule to the appropriate pipeline or chain by editing the
site config or (for list-local features) the list config.  I don't see
a need for .configs that "check interfaces" and "install code".  Why
do you think you need such things?

Since all of the features you've mentioned so far are mutators, I
don't really see a need for Rules.  Implement the checks in the
Handler.  Either you'll need to duplicate those checks anyway to find
the places that need changing, or you'll need to invent a rather
complex protocol to tell the Handler that does the modification what
to do.

Yes, the Handler will implement IHandler.



More information about the Mailman-Developers mailing list