Thunderbird 2.0

Die neue Version des Mail- und News-Clients der Mozilla Corporation

Der kleine Bruder des Firefox-Browsers kämpft seit Anbeginn nicht nur mit mangelnder öffentlicher Wahrnehmung, sondern vor allem mit einer beschränkten Anzahl von Entwicklern. Fortschritte geschehen, aber langsamer als von Firefox gewohnt. So liegt denn der Schwerpunkt der zweiten Thunderbird-Ausgabe – neben verbesserter Stabilität und Sicherheit – auch nicht auf großen, neuen Features, sondern auf einer besseren Organisation und Verwaltung von Mails.

Bessere Organisation und Verwaltung

Die auf den ersten Blick sichtbarste Änderung, neben dem leicht modernisierten Standard-Theme, ist die Einführung von Ordner-Ansichten. Wurden bisher grundsätzlich alle angelegten Konten und ihre Ordner dargestellt, kann die Anzeige nun schnell per Mausklick mit drei weiteren, übersichtlicheren Ansichten eingeschränkt werden: nur Ordner mit ungelesenen Nachrichten, nur die als Favoriten markierten Ordner oder nur die zuletzt genutzten Ordner.

Weitere Verbesserungen sind erst auf den zweiten Blick zu finden. So wurden die bisher auf fünf Stück beschränkten Etiketten („Labels“) deutlich aufgebohrt: Jede Nachricht kann nun beliebig viele, frei definierbare „Tags“ erhalten. Nach Tags kann anschließend gefiltert und sortiert werden, eine spezielle Nachrichtenansicht für jedes angelegte Tag wird zudem automatisch vordefiniert.

Ebenfalls unscheinbar geben sich zwei neue Knöpfe für die Werkzeugleiste und ihre Gegenstücke im Menü: „Vor“ und „Zurück“ erlauben die einfache Navigation in der Historie der im Programmlauf angezeigten Nachrichten wie von einem Browser gewohnt. Das lästige „sich erinnern müssen“, in welcher Newsgruppe ein bestimmter Artikel war, den man ein paar Minuten zuvor gelesen hatte, entfällt damit.

Ähnlich wie in GMail und anderen Mail-Diensten können die eigenen Antworten jetzt automatisch im selben Ordner wie die ursprünglichen Mails abgelegt und Unterhaltungen so zusammengehalten werden. Müssen dennoch Nachrichten verschoben werden, enthalten die Kontextmenüs für Kopieren und Verschieben nun ebenfalls einen Eintrag mit den zuletzt genutzten Ordnern. Wer bereits ein GMail-Konto hat, wird sich vielleicht über Thunderbirds „neues“ Sternchen-Feature freuen: Wichtige Nachrichten können mit einem Sternchen versehen und gesternte Nachrichten in Filtern verwendet werden. Alte Mozilla-Kenner werden aber (zu Recht) einwenden, dass lediglich die altbekannten „Flaggen“ umbenannt wurden.

Wirklich neu, wenn auch nicht unbedingt überraschend – bedenkt man das Google-Engagement im Mozilla-Umfeld – ist die Aufnahme von GMail in den Kontenassistenten, sodass die Einrichtung von GMail-Konten mit einem Minimum an Wissen um Konfigurationsdetails vonstatten gehen kann.

Erweiterungen können eigene Spalten in die Nachrichtenübersicht einfügen, hier die Kopfzeile "X-Bugzilla-Who". Eine Vorschau auf neue Nachrichten eines Ordners werden in einem Tooltip angezeigt.

Erweiterungen können eigene Spalten in die Nachrichtenübersicht einfügen, hier die Kopfzeile "X-Bugzilla-Who". Eine Vorschau auf neue Nachrichten eines Ordners werden in einem Tooltip angezeigt.

Gehen neue Mails ein, muss der entsprechende Posteingangsordner nicht mehr angeklickt werden, um sich einen Überblick über die Neueingänge zu verschaffen; eine Kurzzusammenfassung der neuen Mails wird als Tooltip angezeigt, wenn der Mauszeiger über dem Ordner verweilt. Der Informationsgehalt des Benachrichtigungsfensters für neue Mails ist jetzt auch individuell anpassbar: Die gesamte Kontenübersicht kann auch ausgeblendet und durch ein neues Listen-Element in der Werkzeugleiste ersetzt werden.

Schließlich kommen viele kleinere Anpassungen hinzu, die das Arbeiten mit Thunderbird allgemein einfacher und angenehmer machen, zum Beispiel ein regelmäßiges automatisches Speichern von Nachrichten als Entwurf, während noch am Text gefeilt wird. Auch sind ein inkrementelles Suchen im Text der aktuellen Nachricht sowie der automatische Ordnerwechsel beim Markieren eines News-Diskussionsstranges als „gelesen“ möglich.

Erweiterungen

Wie schon in Firefox 2 wurde die Verwaltung von Erweiterungen und Themes im so genannten Add-On-Manager zusammengefasst, während am eigentlichen Erweiterungssystem nichts geändert wurde. Entwicklern steht auch weiterhin keine einfache Funktionalität zur Definition von „Aufräummethoden“ bei Installation und Deinstallation ihrer Erweiterung zur Verfügung. Dennoch profitieren Erweiterungsautoren von der neuen JavaScript-Version 1.7, die auch die Grundlage des UI-Codes in Thunderbird 2 bildet. Die Möglichkeiten als solche, sich mit seiner Erweiterung in Thunderbird einzuklinken, sind aber verbessert worden. Zum einen sendet der Mail-Editor nun eine interne Benachrichtigung, sobald das Fenster vollständig initialisiert ist [1]. Zum anderen sträubte sich bisher insbesonders die Nachrichtenübersicht erfolgreich gegen jede inhaltliche Anpassung, sieht man einmal von der Entscheidung über Reihenfolge und Sichtbarkeit einzelner Spalten ab. Dieses Manko wurde behoben.

Nun können Erweiterungen eigene Spalten zur Nachrichtenübersicht hinzufügen, durch die Registrierung entsprechender Methoden, die dann vom Backend entsprechend aufgerufen werden. Zusammen mit der ebenfalls neuen Fähigkeit, beliebige Kopfzeilen automatisch in den Indizes (.msf-Dateien) der Nachrichten-Dateien zu speichern [2], lassen sich ohne größere Performanzverluste beliebige neue Spalten etablieren.

Ein Beispiel

Als Beispiel sei hier das Grundgerüst für eine Erweiterung skizziert, die den Verursacher einer so genannten „Bugmail“ in einer eigenen Spalte der Nachrichtenübersicht anzeigt (registrierte Nutzer der Fehlerdatenbank des Mozilla-Projekts https://bugzilla.mozilla.org/ können sich über neue Einträge oder Änderungen durch eine Mail benachrichtigen lassen).

Jede Bugmail enthält spezielle Kopfzeilen, die einige Aspekte der zugrunde liegenden Änderungen näher beschreiben, der Nachrichtenrumpf enthält in der Regel den der Änderung beigefügten Kommentar. Die Kopfzeile „X-Bugzilla-Who“ enthält die hier anzuzeigende E-Mail-Adresse des Verursachers. Um nicht die notwendigen Daten zur Anzeige in der Nachrichtenliste hochgradig inperformant aus der jeweiligen Mail herauslesen zu müssen, muss der Wert der entsprechenden Kopfzeile in der Index-Datei vorliegen. Dazu werden alle Kopfzeilen, für die eine solche Speicherung gewünscht wird, als leerzeichengetrennte Liste in die Konfigurationsdatei„prefs.js“ eingetragen, in der Regel programmatisch durch die Erweiterung selbst:

JAVASCRIPT
user_pref("mailnews.customDBHeaders", "X-Bugzilla-Who");
Listing 1

Des Weiteren muss die Spalte natürlich auch in der Nachrichtenübersicht angezeigt werden. Das geschieht – wie in allen Mozilla-Erweiterungen – durch ein so genanntes „Overlay“, einer speziellen XML-Datei. Hier auszugsweise die Datei „xbw.xul“:

XML
<overlay id='X-Bugzilla-Who-Overlay'
    xmlns='http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul'>
      <script type='application/x-javascript'
          xsrc='chrome://xbw/content/xbw.js'/>
      <tree id="threadTree">
               <treecols id="threadCols">
                        <splitter class="tree-splitter" />
                        <treecol id="colxbw" flex="2" currentView="unthreaded"
                            persist="hidden swappedhidden ordinal width"
                            label="X-Bugzilla-Who"/>
               </treecols>
      </tree>
</overlay>
Listing 2

Für die eigentliche Textübergabe muss anschließend ein entsprechendes Behandlungsobjekt registriert werden, das gewisse Teile des internen Interfaces „nsITreeView“ implementiert. Die zusätzlich anzuzeigenden Kopfzeilen müssen beim Auslesen aus der Index-Datei in Kleinbuchstaben angegeben werden. Hier ein Auszug aus einer solchen JavaScript-Datei „xbw.js“:

JAVASCRIPT
var xbwHandler =
{
      getCellText: function(row, col)
      { // den Wert der Kopfzeile aus der Index-Datei lesen
            return gDBView.db.GetMsgHdrForKey(gDBView.getKeyAt(row))
               .getStringProperty("x-bugzilla-who");
      }
      getSortStringForRow: function(hdr) {return null;},
      isString: function() {return false;},
      getCellProperties: function(row, col, props){},
      getImageSrc: function(row, col) {return null;},
      getSortLongForRow: function(hdr) {return 0; /* keine Sortierung */}
}
function xbwAddHandler()
{
      gDBView.addColumnHandler("colxbw", xbwHandler);
}
var xbwDBObserver =
{
      observe: function(aMsgFolder, aTopic, aData)
      { // X-Bugzilla-Who-Spalte aktivieren
            xbwAddHandler();
      }
}
function xbwOnLoad()
{
      Components.classes["@mozilla.org/observer-service;1"]
          .getService(Components.interfaces.nsIObserverService);
          .addObserver(xbwDBObserver, "MsgCreateDBView", false);
}
window.addEventListener("load", xbwOnLoad, false);
Listing 3

Fazit

Thunderbird 2 ist im Wesentlichen ein „Wohlfühl-Update“: Es gibt keine übergroßen Umbauten, aber viele Anpassungen, die das tagtägliche Arbeiten angenehmer machen. Der Artikel beruht auf der ersten Beta-Version, die bereits als inhaltlich komplett bezeichnet wurde. Bis zum Erscheinen der finalen Version im ersten Quartal 2007 sollen noch letzte Fehler ausgebügelt und die Übersetzungen erstellt werden. Das Weblog „The Rumbling Edge“ [3] hält stets eine Übersicht über die aktuellen Änderungen bereit.

- Anzeige-

Dieser Artikel stammt aus:

 

Weitere Artikel dieser Ausgabe

TYPO3 plus Flash – Zwei Beispiele aus der Praxis

Die Website als Markenerlebnis inszenieren

Grundsätzlich ist Flash für Webentwickler gleichzeitig Segen und Fluch: Weil gute Flash-Programmierer... »

AJAX Framework – barrierearm

Umfangreiche AJAX-Webseiten schnell entwickeln mit TYPO3

AJAX – die Kerntechnologie im vielgepriesenen Web 2.0 – ist in aller Munde. Viele... »

Ajax-Community

Seit Ende 2005 gibt es die Ajax-Community, die sich voll und ganz dem Web-2.0-Trendthema Ajax... »

Börsengang 2.0

Venture Capital bringt Open Source an den Aktienmarkt

Ein Ereignis wirft seine Schatten voraus: die Ankündigung von MySQL, an die Börse gehen... »

CakePHP

Rapid Prototyping Framework

Eine verlässliche und flexible Architektur ist für den Bau einer Webapplikation unerlässlich.... »

CeBIT Open-Source-Planer

Ein Überblick über Open Source und Linux bei der CeBIT 2007

Im vergangen Jahr berichtete das T3N Magazin erstmals zum Thema Open Source im Rahmen der CeBIT.... »

Collax Business Server

Linux für den Mittelstand

Geboren im Jahr 1991, entwickelte sich das Open-Source-Betriebssystem Linux Schritt für... »

Das Dojo-Toolkit

...der sanfte Ajax-Einstieg

Das Dojo-Toolkit ist ein modular aufgebautes JavaScript-Toolkit für die Erstellung von Ajax-Anwendungen.... »

Datenjonglage mit TYPO3

Keine Angst vor der Portierung großer Websites nach TYPO3

Die Portierung des Online-Informationssystems EUFIS»