summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJ08nY2017-06-07 22:01:11 +0200
committerJ08nY2017-06-07 22:01:11 +0200
commit25013383eac8192a55bb0624d4ee61c540baf62c (patch)
tree5017f89760fa722e19f798e24bbdfe625a238d04
parent9021d9ab16a68ba337efec1bb87cc2b04e154231 (diff)
downloadpgpmailman-proposal-25013383eac8192a55bb0624d4ee61c540baf62c.tar.gz
pgpmailman-proposal-25013383eac8192a55bb0624d4ee61c540baf62c.tar.bz2
pgpmailman-proposal-25013383eac8192a55bb0624d4ee61c540baf62c.zip
core_changes: Update with MR information
-rw-r--r--core_changes.md17
1 files changed, 13 insertions, 4 deletions
diff --git a/core_changes.md b/core_changes.md
index a15e92a..d6e0dd4 100644
--- a/core_changes.md
+++ b/core_changes.md
@@ -1,7 +1,6 @@
## Proposed changes to Mailman core
1. Add configuration option similar to `config.styles.paths` but for general plugins. Paths in this list will be used to find components that Mailman will use, similar to `find_components` coupled with a standardized plugin structure:
- - [MR !288](https://gitlab.com/mailman/mailman/merge_requests/288)
- `plugin package`
- `handlers`
- `rules`
@@ -10,6 +9,13 @@
- `pipelines`
- `styles`
- `rest`
+ - [MR !288](https://gitlab.com/mailman/mailman/merge_requests/288)
+ Adds a whole configuration section for plugins, where each plugin has the following options:
+ - name of the section
+ - `class:` a class implementing the new `IPlugin` interface.
+ - `path:` a python package available on `sys.path` under which the aforementioned plugin structure, searched for components, resides.
+ - `enable:` whether the plugin is enabled, only enabled plugins are searched for components, their classes instantiated, their hooks run and their REST routes exposed.
+ - `configuration:` optional configuration path, which the plugin can use to read/write it's configuration file.
2. Let plugins add Pipelines the same way they can add Handlers, Rules etc...
- [MR !287](https://gitlab.com/mailman/mailman/merge_requests/287)
@@ -33,13 +39,14 @@
- [MR !288](https://gitlab.com/mailman/mailman/merge_requests/288)
- Use the current `ObjectRouter` with plugins providing a REST object.
- 8. ? Make all commands be able to require confirmation and make this a configurable option.
+ 8. Add per-plugin config.
+ - [MR !288](https://gitlab.com/mailman/mailman/merge_requests/288)
+
+ 9. ? Make all commands be able to require confirmation and make this a configurable option.
- How?
- Abstract out confirmation of commands (is actually almost there with Pendables)
- Add another field to `MailingList` model, for a list of commands that require confirmation for that list?
- 9. ? Add possibility of config inclusion to `mailman.cfg`, or of per-plugin config.
-
10. ?? Add a new attribute to several core models (MailingList, User, Address, ...) in which plugins can store metadata about said objects. This attribute woul be a PickleType, really a dict with, plugin-names as keys. Each plugin could access its and only its metadata attached to a given object.
## Proposed changes to MailmanClient
@@ -49,11 +56,13 @@
2. Add bindings for `/plugins/<plugin_name>/...`.
- Pretty low-level, since each plugin can handle requests as it wants.
+ - [MR !34](https://gitlab.com/mailman/mailmanclient/merge-requests/34)
## Proposed changes to Postorius and HyperKitty
1. Add additional blocks to some base templates.
2. Add a dropdown list-style selection field to list creation template + view.
+ - [MR !214](https://gitlab.com/mailman/postorius/merge_requests/214)
3. Let Postorius and HyperKitty subscribe to receive events from Mailman Core, add an API route to receive them in django-mailman3. \ No newline at end of file