From 25013383eac8192a55bb0624d4ee61c540baf62c Mon Sep 17 00:00:00 2001 From: J08nY Date: Wed, 7 Jun 2017 22:01:11 +0200 Subject: core_changes: Update with MR information --- core_changes.md | 17 +++++++++++++---- 1 file 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//...`. - 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 -- cgit v1.2.3-70-g09d2