summaryrefslogtreecommitdiff
path: root/src/mailman/config/schema.cfg
diff options
context:
space:
mode:
Diffstat (limited to 'src/mailman/config/schema.cfg')
-rw-r--r--src/mailman/config/schema.cfg64
1 files changed, 49 insertions, 15 deletions
diff --git a/src/mailman/config/schema.cfg b/src/mailman/config/schema.cfg
index 9568694be..b6f99c61d 100644
--- a/src/mailman/config/schema.cfg
+++ b/src/mailman/config/schema.cfg
@@ -54,14 +54,6 @@ pending_request_life: 3d
# How long should files be saved before they are evicted from the cache?
cache_life: 7d
-# A callable to run with no arguments early in the initialization process.
-# This runs before database initialization.
-pre_hook:
-
-# A callable to run with no arguments late in the initialization process.
-# This runs after adapters are initialized.
-post_hook:
-
# Which paths.* file system layout to use.
layout: here
@@ -82,6 +74,51 @@ html_to_plain_text_command: /usr/bin/lynx -dump $filename
# unpredictable.
listname_chars: [-_.0-9a-z]
+# These hooks are deprecated, but are kept here so as not to break existing
+# configuration files. However, these hooks are not run. Define a plugin
+# instead.
+pre_hook:
+post_hook:
+
+
+# Plugin configuration section template.
+#
+# To add a plugin, instantiate this section (changing `master` to whatever
+# your plugin's name is), and define at least a `path` and a `class`. When
+# the plugin is loaded, its subpackages will be search for components matching
+# the following interfaces:
+#
+# - IChain for new chains
+# - ICliSubCommand - `mailman` subcommands
+# - IEmailCommand - new email commands
+# - IHandler for new handlers
+# - IPipeline for new pipelines
+# - IRule for new rules
+# - IStyle for new styles.
+#
+# See the IPlugin interface for more details.
+[plugin.master]
+
+# The full Python import path for you IPlugin implementing class. It is
+# required to provide this.
+class:
+
+# Whether to enable this plugin or not.
+enabled: no
+
+# Additional configuration file for this plugin. If the value starts with
+# `python:` it is a Python import path, in which case the value should not
+# include the trailing .cfg (although the file is required to have this
+# suffix). Without `python:`, it is a file system path, and must be an
+# absolute path, since no guarantees are made about the current working
+# directory.
+configuration:
+
+# Package (as a dotted Python import path) to search for components that this
+# plugin wants to add, such as ISTyles, IRules, etc. If not given, the
+# plugin's name is used.
+component_package:
+
[shell]
# `mailman shell` (also `withlist`) gives you an interactive prompt that you
@@ -138,8 +175,6 @@ data_dir: $var_dir/data
cache_dir: $var_dir/cache
# Directory for configuration files and such.
etc_dir: $var_dir/etc
-# Directory containing Mailman plugins.
-ext_dir: $var_dir/ext
# Directory where the default IMessageStore puts its messages.
messages_dir: $var_dir/messages
# Directory for archive backends to store their messages in. Archivers should
@@ -261,6 +296,7 @@ debug: no
# - http -- Internal wsgi-based web interface
# - locks -- Lock state changes
# - mischief -- Various types of hostile activity
+# - plugins -- Plugin logs
# - runner -- Runner process start/stops
# - smtp -- Successful SMTP activity
# - smtp-failure -- Unsuccessful SMTP activity
@@ -298,6 +334,9 @@ level: info
[logging.mischief]
+[logging.plugins]
+path: plugins.log
+
[logging.runner]
[logging.smtp]
@@ -797,11 +836,6 @@ class: mailman.archiving.prototype.Prototype
[styles]
-# Python import paths inside which components are searched for which implement
-# the IStyle interface. Use one path per line.
-paths:
- mailman.styles
-
# The default style to apply if nothing else was requested. The value is the
# name of an existing style. If no such style exists, no style will be
# applied.