Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/thsmi/sieve.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Schmid <thsmi@users.noreply.github.com>2020-02-15 19:07:40 +0300
committerGitHub <noreply@github.com>2020-02-15 19:07:40 +0300
commit7d3283648c2e5a3d60301e86f892ac51e2986d5e (patch)
tree90f3ef9c0b7d35e2c331aa89cf3f98e6f03baa09 /ROADMAP.md
parent5418919deab28bce924a42e0846ccac10729ad5c (diff)
Wx experiments (#186)
Webextension MVP Experiments
Diffstat (limited to 'ROADMAP.md')
-rwxr-xr-xROADMAP.md51
1 files changed, 17 insertions, 34 deletions
diff --git a/ROADMAP.md b/ROADMAP.md
index dfabaab8..c63cc7b7 100755
--- a/ROADMAP.md
+++ b/ROADMAP.md
@@ -1,52 +1,35 @@
# Roadmap
-## Current status
+Thunderbird 68.x was a devastating hit on this addon. And made the inevitable clear, "classic" addons are gone and won't come back.
-This add-on implements the complete [RFC 5804 (A Protocol for Remotely Managing Sieve Scripts)](https://wiki.tools.ietf.org/html/rfc5804) and the code base is rather stable. All common [SASL (Simple Authentication and Security Layer)](https://en.wikipedia.org/wiki/Simple_Authentication_and_Security_Layer) algoithms are supported, with one exception [GSSAPI (Generic Security Services Application Program Interface)](https://en.wikipedia.org/wiki/Generic_Security_Services_Application_Program_Interface).
-So there is not much to do here.
+Luckily the [Plan B](https://en.wikipedia.org/wiki/Contingency_plan) - porting the add-on to an Electron based standalone app - worked out quite good. The app is still a bit rough but quite usable.
-Concerning the graphical sieve editor there is definitely space for improvement. This will be addressed with the “Next Generation Parser”.
-
-But the big question mark is currently Thunderbird. When the Thunderbird developers decide to drop “classic” add-ons, it means most likely the end of the Thunderbird add-on. If and when this happens is currently completely unpredictable.
-
-So a [Plan B](https://en.wikipedia.org/wiki/Contingency_plan) is needed. This means porting the add-on to an Electron based standalone app.
-
-There is no hard [roadmap](https://en.wikipedia.org/wiki/Technology_roadmap) indicating the steps which will be done next; however, a rough plan is displayed in the [Projects section](https://github.com/thsmi/sieve/projects).
-
-Feel free to commit pull requests if you are interested in a particular issue.
-
-## Status: [Next Generation Parser](https://github.com/thsmi/sieve/projects/1)
-
-The graphical editor just supports the very basic [RFC 5228 (Sieve: An Email Filtering Language)](https://tools.ietf.org/html/rfc5228) syntax. Most of the parsing is hardcoded instead of using a generic parser. This is addressed by the “next generation parser” as it is designed to be pluggable and allows a very easy way of extending the graphical editor.
-
-Currently the parser works well but still has issues which need to be addressed.
+## Status: [Electron App](https://github.com/thsmi/sieve/projects/3)
-The graphical editor’s [UI](https://en.wikipedia.org/wiki/User_interface) is currently a bit inconsistent. Some UI elements instantly apply logic while others need to be confirmed. So this needs to be updated to a modern UI framework like [Bootstrap](https://getbootstrap.com/). As this is a long running task, the plan is to updated the UI dialog-by-dialog as soon as the parser lands.
+[Electron](https://electronjs.org/) is one of the new kids on the block and the new rising star in the JavaScript universe. It is a stripped down Chromium browser bundled with [Node.js](https://nodejs.org/). It supports complex JavaScript APIs with almost no limitation, virtually the sky is the limit. Quite the opposite of [WebExtensions](https://developer.mozilla.org/en-US/Add-ons/WebExtensions).
-But the whole next gen parser runs at very low priority.
+You have most likely already used Electron based applications without knowing it. They are more common than you think.
-## Status: [Thunderbird Add-on](https://github.com/thsmi/sieve/projects/4)
+All basic functionally is ported from the classic thunderbird addon. There are still som UI glitches and has not yes reached parity with the addon. Still lots of space for improvement e.g. the logging, the error management, i18n support, a password manager, an installer ...
-Thunderbird’s future is currently in a constant [up and down](
-https://blog.mozilla.org/thunderbird/2017/12/new-thunderbird-releases-and-new-thunderbird-staff/). They are doing a great job to keep it alive but they obviously don’t have the resources for further development.
+## Status: Thunderbird WebExtension
-Firefox recently dropped all support for so called classic XUL add-ons. As Thunderbird shares a common codebase with Firefox, this means Thunderbird will either fork the Firefox codebase or let the XUL-based add-ons die.
+Unexpected things happen time by time. There is new hope for a Thunderbird WebExtension. The classic addon is still dead won't come back.
-Firefox’s new way are [WebExtensions](https://developer.mozilla.org/en-US/Add-ons/WebExtensions). Sadly they are designed very single mindedly and are extremely limited. Implementing something with a non-HTTP based protocol like a sieve client is impossible as they do not provide [APIs](https://en.wikipedia.org/wiki/Application_programming_interface) needed for [socket](https://en.wikipedia.org/wiki/Network_socket) connections. All requests from developers to support sockets in WebExtensions have been turned down, ignored and denied. But it seems as if a miracle happened and a paradigm shift started. At least the relevant bug moved from a [denied feature request to an approved feature request](http://www.agmweb.ca/2017-12-21-design-decision/). Whatever this means?
+The Thunderbird guys decided to remove a very silly WebExtension limitation. Until recently so called "WebExtension Experiments" could only be used on developer and nightly builds.
-So the worst case scenario would be, Thunderbird decides to drop classic add-ons while WebExtensions still do not support sockets.
-The best case would be, Mozilla adds socket support to WebExtensions, so that this add-on can be converted.
+But this silly limitation was lifted. Which basically brings back lots of the flexibility of classic addons. And porting the app back to a WebExtension seems to be reasonable.
-As you can see there are lots of ifs and whens; hence, an alternative plan based on a standalone Electron application.
+So I started out of curiosity an experiment in porting the Electron app back to a Thunderbird WX. It is an experiment and far away from something releasable.
-## Status: [Electron App](https://github.com/thsmi/sieve/projects/3)
+But there are still lost of ifs an whens. Especially the future of "WebExtension Experiments" in undefined.
-[Electron](https://electronjs.org/) is one of the new kids on the block and the new rising star in the JavaScript universe. It is a stripped down Chromium browser bundled with [Node.js](https://nodejs.org/). It supports complex JavaScript APIs with almost no limitation, virtually the sky is the limit. Quite the opposite of [WebExtensions](https://developer.mozilla.org/en-US/Add-ons/WebExtensions).
+## Status: Core
-You have most likely already used Electron based applications without knowing it. They are more common than you think.
+The manage sieve core implements the complete [RFC 5804 (A Protocol for Remotely Managing Sieve Scripts)](https://wiki.tools.ietf.org/html/rfc5804) and the code base is rather stable. All common [SASL (Simple Authentication and Security Layer)](https://en.wikipedia.org/wiki/Simple_Authentication_and_Security_Layer) algorithms are supported, with one exception [GSSAPI (Generic Security Services Application Program Interface)](https://en.wikipedia.org/wiki/Generic_Security_Services_Application_Program_Interface).
-The plan is to evolve the current codebase to a standalone application while keeping backward compatibility with the add-on. Most of the basic functions are already ported and much of the code is reused. So that both the native Electron application and the Thunderbird based add-on can live side-by-side and have a shared codebase.
+The core has proven to be very stable. Porting from Thunderbird to Electron required, other than expected, only minimal changes. So there is not much left to do here.
-Electron does not support XUL which means all the UI needs to be redone in HTML. It is unfortunately expected that there will be, especially in early versions, UI glitches.
+The graphical sieve editor dramatically improved when the next generation parser landed. And is also in a stable state and works well. It has still minor issues which need to be addressed, but nothing too important.
-The Electron app will be released side-by-side with the add-on.
+Refer to [capabilities](capabilities.md) for a complete list of all implemented sieve and manage sieve features. \ No newline at end of file