diff options
| author | J08nY | 2017-07-20 16:38:16 +0200 |
|---|---|---|
| committer | J08nY | 2017-07-20 16:38:16 +0200 |
| commit | 43bc301976d38d40f8a09eea6f136738b2e24099 (patch) | |
| tree | a561f4a02b035a507c02c298034a0ca3f8091b8f /core_changes.md | |
| parent | 9810eb2756972e17ee1f0c6449f1b419540338c4 (diff) | |
| download | pgpmailman-proposal-43bc301976d38d40f8a09eea6f136738b2e24099.tar.gz pgpmailman-proposal-43bc301976d38d40f8a09eea6f136738b2e24099.tar.zst pgpmailman-proposal-43bc301976d38d40f8a09eea6f136738b2e24099.zip | |
Diffstat (limited to 'core_changes.md')
| -rw-r--r-- | core_changes.md | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/core_changes.md b/core_changes.md index a17f469..8598f82 100644 --- a/core_changes.md +++ b/core_changes.md @@ -18,7 +18,7 @@ - `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) + - [<s>MR !287</s> merged](https://gitlab.com/mailman/mailman/merge_requests/287) - This means refactoring `BasePipeline`, `OwnerPipeline`, `PostingPipeline`, `VirginPipeline` from `mailman.core.pipelines.py` into a package `mailman.pipelines` - Use `find_components`, or rather it's sibling function created in 1. @@ -27,10 +27,10 @@ 4. Allow multiple callables in `pre_hook` and `post_hook` run in order specified. Also allow callables for when Mailman exits. - [MR !288](https://gitlab.com/mailman/mailman/merge_requests/288) - - Already a similar [MR #264](https://gitlab.com/mailman/mailman/merge_requests/264). + - Already a similar [MR !264](https://gitlab.com/mailman/mailman/merge_requests/264). 5. Allow Mailman core to send events to Postorius, HyperKitty and any app that subscribes through a new REST api call with a callback. - - Also add an `IEvent` interface, as currently events don't implement any interface at all. + - Implemented in the [mailman-rest-events](https://gitlab.com/J08nY/mailman-rest-events) plugin. 6. Drop `ext_dir`. - [MR !288](https://gitlab.com/mailman/mailman/merge_requests/288) @@ -45,12 +45,19 @@ 9. Add `description` attribute to `IStyle` and the default styles, so that mailing list styles have some human readable string to show. - [MR !289](https://gitlab.com/mailman/mailman/merge_requests/289) - 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? + 10. Refactor Subscription and Unsubscription workflow to allow a plugin to add steps to it's state machine. + - Introduces `IWorkflow` interface for the workflow state machine. + - Allows the `WorkflowStateManager` to store more workflow steps than the current one and adds a migration for this change. + - Refactors the monolithic SubscriptionWorkflow and UnsubscriptionWorkflow classes to reusable mixins, allowing to deduplicate their code and create custom workflows. + - Dynamically loads all `IWorkflow` classes from Mailman core and plugins. + - Migrates the `subscription_policy` and `unsubscription_policy` attributes from the `SubscriptionPolicy` enum, to store the name of the respective SubscriptionWorkflow class, dynamically loaded. + - [MR !299](https://gitlab.com/mailman/mailman/merge_requests/299) + - On top of [MR !300](https://gitlab.com/mailman/mailman/merge_requests/300) which instantiates components only in the `add_components` utility function and not at lower levels, since Workflow components need to be stored as classes and instantiated on use. - 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. + 11. Add SMTPS and STARTTLS support. + - Adds SMTP over SSL/TLS and STARTTLS SMTP extension support to the `BaseDelivery` class via specialized `Connection` classes. + - Creates a new `ISMTPConnection` interface, which `SMTPConnection`,`SMTPSConnection` and `STARTTLSConnection` implement. + - [MR !286](https://gitlab.com/mailman/mailman/merge_requests/286) ## Proposed changes to MailmanClient |
