From af3569dc04be7de19cc4285928ea4e794ea00922 Mon Sep 17 00:00:00 2001 From: J08nY Date: Tue, 30 May 2017 00:26:03 +0200 Subject: core_changes: Add event subscription, list style field, plugin bindings --- core_changes.md | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/core_changes.md b/core_changes.md index 1737152..730bb1e 100644 --- a/core_changes.md +++ b/core_changes.md @@ -20,28 +20,37 @@ - The REST api supports it, add bindings to MailmanClient and a field to Postorius. 5. Allow multiple callables in `pre_hook` and `post_hook` run in order specified. Also allow callables for when Mailman exits. - - Already a [MR](https://gitlab.com/mailman/mailman/merge_requests/264). + - Already a [MR #264](https://gitlab.com/mailman/mailman/merge_requests/264). - 6. Drop `ext_dir`. + 6. Allow Mailman core to send events to Postorius, HyperKitty and any app that subscribes through a new REST api call with a callback. + - [#329](https://gitlab.com/mailman/mailman/issues/329) - 7. Let plugins add routes to the REST API. Under `/plugins//...`. + 7. Drop `ext_dir`. + + 8. Let plugins add routes to the REST API. Under `/plugins//...`. - Create a new `IRESTSink` interface, that is callable `func(request, response)` and knows it's prefix relative to it's root. - Use `falcon.API.add_sink(callable, prefix)` to add all `IRESTSink`s from both `mailman.rest` package(unused, no sinks necessary for core) and plugin's `.rest` package. - [falcon.API.add_sink](https://falcon.readthedocs.io/en/stable/api/api.html#falcon.API.add_sink) - Or use the current `ObjectRouter` with plugins providing a `Plugin` object with routing working as currently. - 8. ? Make all commands be able to require confirmation and make this a configurable option. + 9. ? Make all commands be able to require confirmation and make this a configurable option. - How? - 9. ? Add possibility of config inclusion to `mailman.cfg`, or of per-plugin config. + 10. ? 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 PickedType, really a dict with, plugin-names as keys. Each plugin could access its and only its metadata attached to a given object. + 11. ?? 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 PickedType, 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 - 1. Add bindings for `/plugins//...`. + 1. Add bindings for specifying list-style on list creation. + + 2. Add bindings for `/plugins//...`. - Pretty low-level, since each plugin can handle requests as it wants. ## Proposed changes to Postorius and HyperKitty - 1. Add additional blocks to some base templates. \ No newline at end of file + 1. Add additional blocks to some base templates. + + 2. Add a dropdown list-style selection field to list creation template + view. + + 3. Let Postorius and HyperKitty subscribe to receive events from Mailman Core. \ No newline at end of file -- cgit v1.2.3-70-g09d2