Provided by: sympa_6.2.24~dfsg-1_amd64
NAME
Sympa::Message::Plugin - process hooks
SYNOPSIS
Sympa::Message::Plugin::execute('post_archive', $message);
DESCRIPTION
Sympa::Message::Plugin provides hook mechanism to intervene in processing by Sympa. Each hook may modify objects (messages and so on) or may break ordinary processing. Notice: Hook mechanism is expreimental. Module names and interfaces may be changed in the future. Methods execute ( HOOK_NAME, MESSAGE, [ KEY => VAL, ... ] ) Process message hook. Hooks Currently, following hooks are supported: pre_distribute Message hook. Message had been approved distribution (by scenario or by moderator), however, it has not been decorated (adding custom subject etc.) nor archived yet. post_archive Message hook. Message had been archived, however, it has not been distributed to users including digest spool; message has not been signed nor encrypted (if necessary). How to add a hook to your Sympa First, write your hook module: package My::Hook; use constant gettext_id => 'My message hook'; sub post_archive { my $module = shift; # module name: "My::Hook" my $name = shift; # handler name: "post_archive" my $message = shift; # Message object my %options = @_; # Processing, possiblly changing $message... # Return suitable result. # If unrecoverable error occurred, you may return undef or simply die. return 1; } 1; Then activate hook handler in your list config: message_hook post_archive My::Hook
SEE ALSO
Sympa::Message::Plugin::FixEncoding - An example module for message hook.
HISTORY
Sympa::Message::Plugin appeared on Sympa 6.2. It was initially written by IKEDA Soji <ikeda@conversion.co.jp>.