Erfahrungsbericht: Evolution unter Windows 7

veröffentlicht in Consulting am 23. Sep. 2009 Tags: , ,

Im Zuge der täglichen Arbeit testen die Mitarbeiter von Compserve24 öfters Open-Source-Software auf ihr Alltagstauglichkeit. Diemal soll der E-Mail-Client/PIM-Software Evolution nicht unter seinem angestammten Betriebsystem Linux, sondern in Windows 7 getestet werden.

Die Installation erfolgt durch ein Standard MSI-Paket der Firma DIP Consultants, LLC die die relativ aktuelle Version 2.26.2-2 anbieten. Die Installation erfolgte mit dem InstallShield Wizard innerhalb von drei Klicks wie ein Standard Windows Programm.

Durch das Startmenü startet Evolution innerhalb weniger Sekunden und präsentiert einen Setup-Assistenten. Ein kleines Manko ist das Fehlen der Übersetzungen, da der Assistent in Englisch gehalten ist.

Setup Wizard des frisch installierten Evolutions

Setup Wizard des frisch installierten Evolutions

In den nächsten Schritten des Wizard erfolg die Abfrage, ob man Evolution aus einem Backup wiederherstellen möchte und wie der vollständige Name des Besitzers und dessen E-Mail-Adresse ist. Die dritte Seite fragt nach dem zu nutzenden Protokoll. Die Asuwahl ist erstaunlich groß. So existieren Einträge für  POP3, IMAP,  einen Lokalen Ordner, das Usenet und die proprietärem Lösungen Novell Groupwise und Microsoft Exchange.

Unterstützte Protokolle von Evolution

Unterstützte Protokolle von Evolution

Nach Eingabe der E-Mail-Kontodaten folgen einige Fragen bzgl. des Abfrageintervalls, ob der Spam-Filter genutzt werden soll und eine Syncronisierung stattfinden soll.

Der zu nutzende SMTP-Server mit zugehörigen Kontodaten wird danach ebenso wie der Name des Accounts im Programm abgefragt.  Die Auswahl der Zeitzone im nächsten Schritt hätte man sich durch auslesen der Systeminformation ersparen können. Danach ist der Setup-Wizard abgeschlossen und Evolution startet.

Nach dem Akzeptieren von SSL-Zertifikaten erscheint Evolutions Hauptfenster.

evolution-hauptfenster

Hauptfenster von Evolution direkt nach dem Start

Die Voreinstellungen sind leider schlecht getroffen. Das Fenster ist viel zu klein und noch nicht einmal die Ordneransicht ist aktiviert. Nachdem unter View -> Layout die Toolbar, Statusbar und Sidebar aktiviert wurden, sieht Evolution den Screenshoots schon viel ähnlicher.  Durch die Aktivierung der Vorschau  (View -> Preview -> Show Message Preview) kann man die Begrüßungsmail der Evolution Entwickler im Lokalen Posteingang direkt im Hauptfenster bewundern.

Das Laden des eingetragenden IMAP-Postfaches geschieht  rasend schnell und die Präsentation ist ansprechend. Es fällt dabei auf, das Evolution nicht den GTK-Windows-Theme nutzt. In den Einstellungen besteht auch keine Möglichkeit das Theme zu ändern.

Erfreulich ist das Evolution nach einigen Minuten Benutzung nur 45 MB Speicher verbraucht und recht schnell auf Eingaben reagiert. Evolution macht bis auf die Schwäche bei der Lokalisierung und dem nicht verwendeten nativen Theme ein sehr positiven Eindruck.

In einiger Zeit wird einen weiteren Artikel zum Thema Evolution geben, in dem die Eindrücke nach einiger Zeit der Benutzung geschildert werden.

Update: Wenn in der Datei “C:\Program Files\DIP Consultants, LLC\Evolution\etc\gtk-2.0\gtkrc”  das Theme durch die Zeile:
gtk-theme-name = “MS-Windows”
gesetzt ist, erfolgt eine native Darstellung.

sql2json() – Konvertiert SQL in JSON Strings

veröffentlicht in Consulting,Software Engineering am 21. Sep. 2009 Tags: , , , ,

Auf der Seite: http://www.bin-co.com/php/scripts/sql2json/ findet man ein kleines PHP Script was Datenbankabfragen in JSON Objekte umwandelt.

Das Orginal ist für MySQL  aber mit ein paar Anpassungen ist es ebenfalls für MSSQL verwendbar:

function sql2json($query) {
 $data_sql = mssql_query($query) or die("'';//" . mssql_error());// If an error has occurred,
 //    make the error a js comment so that a javascript error will NOT be invoked
 $json_str = ""; //Init the JSON string.
 
 if($total = mssql_num_rows($data_sql)) { //See if there is anything in the query
   $json_str .= "[\n";
 
   $row_count = 0;
   while($data = mssql_fetch_assoc($data_sql)) {
     if(count($data) > 1) $json_str .= "{\n";
 
     $count = 0;
     foreach($data as $key => $value) {
       //If it is an associative array we want it in the format of "key":"value"
       if(count($data) > 1) $json_str .= "\"$key\":\"$value\"";
       else $json_str .= "\"$value\"";
 
       //Make sure that the last item don't have a ',' (comma)
       $count++;
       if($count > count($data)) $json_str .= ",\n";
     }
     $row_count++;
     if(count($data) > 1) $json_str .= "}\n";
 
     //Make sure that the last item don't have a ',' (comma)
     if($row_count < $total) $json_str .= ",\n";
   }
 
   $json_str .= "]\n";
 }
 
 //Replace the '\n's - make it faster - but at the price of bad redability.
 $json_str = str_replace("\n","",$json_str); //Comment this out when you are debugging the script
 
 //Finally, output the data
 return $json_str;
}

In den meisten Fällen ist die MSSQL Datenbank nicht UTF-8 kodiert. Soll die Ausgabe entsprechend umkodiert werden, hilft ein folgender Befehl:

$string = iconv('cp1252','utf-8',$string);

Natürlich muss die Ausgabe ebenfalls in UTF-8 geschehen. Der HTTP-Header der den Content-Type und das Encoding angibt wird durch die PHP header-Funktion gesetzt:

header("Content-Type: text/html; charset=utf-8");