Menu

Thunderbird Sieve Addon / Blog: Recent posts

Github

I decided to move the addon from sourceforge to github.

The rational behind is to make life for contributors as well as bug tracking easier. Nevertheless it's more limited and more commercial than sourceforge, which is the down side.

The source code's new home is now at https://github.com/thsmi/sieve .

Also the Sieve reference moved from mozdev to github. You find it at https://github.com/thsmi/sieve-reference .

Posted by Thomas Schmid 2012-10-11

Version 0.2.2 Released

The most noteworthy change is syntax highlighting. It is based on the codemirror library and makes editing script easier.

Some long standing paper cuts have also been fixed. For example an indicator in the tab's caption shows if the script was changed or not. Furthermore you can use Control+S to save the script. A double clicking a script now opens the editor window...

On the back end the add-on is now ready for Thunderbird's upcoming App Menu.... read more

Posted by Thomas Schmid 2012-09-22 Labels: Release Thunderbird Sieve

Version 0.2.1 Released

It's currently pending in the review queue at addons.mozilla.org

The big change is behind the scenes it got restartless, so installing, uninstalling and updating is possible without a restart.

Beside several smaller bug fixes and optimizations a notable change is the Spanish locale was added.

Posted by Thomas Schmid 2012-08-19 Labels: Release Thunderbird Sieve

Restartless Addons - Lessons learned

At first I thought building a restartless addon is an easy task, but it's not.

The whole restartless stuff looks as if someone stopped half way. The Interfaces are badly designed, you have to use ugly hacks and there is only little to no documentation.

Let's summarize what I stumbled upon.

Minimum Gecko 8.0

Before restartless can be considers as broken and unusable. Why? It neither supports chrome or resource urls! So you need to define you own resource urls protocol. But various components like the Account manager can't handle this kind of urls. No workarounds possible, simply broken. But the good news is Gecko 8.0 introduced chrome urls for restartless...... read more

Posted by Thomas Schmid 2012-07-13 Labels: mozilla restartless thunderbird bootstrap bootstraped

GSSAPI

GSSAPI support is an often requested feature is GSSAPI. In theory it's easy to implement but reality bites.

Thunderbird implements GSSAPI. They even implemented it as described in the rfc2744. But this makes it incompatible to JavaScript. The NsIAuthModule Interface relies on voidPtr and is not scriptable. So there is no way to access the GSSAPI Interface from JavaScript.... read more

Posted by Thomas Schmid 2012-04-16 Labels: GSSAPI Proxy Sieve Thunderbird

Version 0.2.0 Released

The switch from 0.1.x to 0.2.x implies a major change. The extension got an UI. But be prepared it's not like a typical filter gui, it's more like a GUI for graphical code generators or HTML editor. It just abstract sieve grammar and syntax, so that the logic is not limited to specific patterns. You generate the sieve script by dragging and dropping atomic elements.

Currently the default view is the source editor, this will change as soon as the GUI is mature enough for everyday use. To switch to the Gui, just toggle the "View Source" toolbar button.... read more

Posted by Thomas Schmid 2012-04-16 Labels: Sieve manage sieve release 0.2.0 GUI

JavaScript and Static Methods

JavaScript and static methods are something special, they don't work as you expect it form an object oriented language. Take the following example:

function A () { }

// A "static" Method
A.nodeName = function () {
  alert("Name is A");
}

A.prototype.doSomething = function() {
  alert("doSomething");
}

A.nodeName();  // Works perfectly fine
var a = new A()
a.nodeName();  // Does not work at all... [read more](/p/managesieve/blog/2012/03/javascript-and-static-methods/)
Posted by Thomas Schmid 2012-03-26 Labels: JavaScript static method inheritance

Graphical user interface landed

Finally after several years of development a graphical user interface landed. It's far form complete but ready for a first review.

Unlike the other graphical sieve editors, it works like a visual code generator. It abstracts syntax and basic grammar, but does not touch or limit the logic. It's possible edit complex scripts with arbitrarily nested if statements.

To access the new interface toggle in the script editor the new "view source" toobar button.... read more

Posted by Thomas Schmid 2012-03-12 Labels: Sieve GUI

HTML5 and Drag And Drop

HTML5 and Drag And Drop is every thing else than intuitive. All implementations suffer from nasty bugs. Here are some impression from quirksmode.org on HTML5 and Drag'n'Drop

If you embed in Firefox an "editable" element like "INPUT" or "TEXTAREA" into a a "draggable" element things are getting strange.

Just take the following snipplet...... read more

Posted by Thomas Schmid 2012-03-04 Labels: HTML5 Drag&Drop Drag and Drop input textarea draggable

SASL SCRAM SHA1

It took way longer than expected but finally the SASL mechanism SCRAM SHA1 is implemented. It superseeds the DIGEST MD5 mechanism and is considered to be more secure. It claims to be the new standard mechanism for mail servers. As migration is slow you currently hardly find manage sieve servers supporting it, but this will change.

For more in depth detail refer to the SASL SCRAM SHA1 RFC

If you want to test, go to downloads and install the most recent development build. Feedback is highly welcome.... read more

Posted by Thomas Schmid 2011-10-19 Labels: SCRAM SHA1 RFC SASL Digest MD5 Sieve

Move to git Repository completed

The source code repository is now officially migrated from the old cvs based repository at sieve.mozdev.org to modern git repository at sourceforge.net

  1. Login into CVS at mozdev. The password is guest.
cvs -d :pserver:guest@mozdev.org:/cvs login
  1. Import the CVS repository.
git cvsimport -k -m -v -d:pserver:guest@mozdev.org:/cvs sieve/src
  1. Export Repository to git
git remote add origin ssh://username@git.code.sf.net/p/managesieve/code

... read more

Posted by Thomas Schmid 2011-10-08 Labels: MOZDEV GIT CVS sourceforge