Android Z-Push

For weeks I had the intention to use my Android phone with Zarafa and Z-Push. However, my phone always reported that protocol version provided by the server would not be supported. I had a day off today and dug into the code (first Z-Push, then CyanogenMod 10) to track down the problem. It seemed like there would be a problem with the OPTIONS request in ActiveSync and the headers sent by Z-Push. I ended up using Fiddler to inspect the HTTPS traffic, in particular the headers and it turned out that Z-Push did not send the headers to identify the ActiveSync protocol. But the PHP-code (already messed with debugging output of my own) did send the headers.

Surprisingly, a minimal PHP script that did nothing by sending headers also worked. After a while it seems like the PHP output buffering (ob_start) dropped the headers, but then ob_clean or _flush at before and/or after the header call didn’t change anything.

Staring at the Fiddler traffic of the working testing code brought the saving idea: I had mod_pagespeed enabled (which I noticed, because it also added a header of its own). Turning it off made everything work!

Conclusion: Z-Push is incompatible with mod_pagespeed!

Umlaute von Zotero nach BibTeX exportieren

Mag sein, dass dieser Artikel eine beinahe inexistente (Wissens-) Lücke füllt. Für all jene, denen weder BibTeX noch Zotero etwas sagt, ist er mit Sicherheit nicht lesenswert, aber allein die Möglichkeit, dass ich selbst nochmal auf das geschilderte Problem treffe, rechtfertigt ihn dennoch.

Das Problem von dem ich spreche ist der Dateiexport von Zotero, einem Programm das ich zur Verwaltung meiner Bibliographie verwende, nach BibTeX, dem Dateiformat das ich zur automatischen Erstellung der Referenzen und des Quellenverzeichnisses in meiner Dissertation verwende. Wenn nun im Titel von verwendeten Quellen oder in Namen von deren Autoren deutsche Umlaute oder diakritische Zeichen (wie z.B. französische Akzente) vorkommen, werden diese in der exportierten Datei unverändert wiedergegeben, weil Zotero die ausgegebene Datei per Vorgabe als UTF-8 kodiert. Diese Kodierung wird aber von BibTeX nicht richtig verarbeitet.

Für diese Problem gibt es zwei Lösungswege, wobei ich leider viel Zeit mit dem ersten verloren habe:

  1. Man kann versuchen, BibTeX zur richtigen Verarbeitung der UTF-8 Datei zu bringen, bzw. einen dementsprechenden Ersatz für BibTeX einzusetzen. Diesbezüglich gibt es jede Menge Diskussionen im Internet, die die Hoffnung (leider) nicht schnell genug sterben lassen. Der Vollständigkeit halber sei hier beispielhaft auf bibtex8 verwiesen.
  2. Viel einfacher ist es jedoch, Zotero dazu zu bringen, die kritischen Zeichen entsprechend der LaTeX Syntax auszugeben. Das schafft man aber nicht, indem man selbst die Einträge entsprechend ändert, sondern indem man die Dateikodierung für den Export ändert.

    Dazu muss man lediglich in den Einstellungen von Zotero in der Kategorie Export ein Häkchen bei „Option für Zeichenkodierung beim Export anzeigen“ setzen. Beim nächsten BibTeX Export ist dann einfach „Westlich (ISO-8859-1)“ aus der Liste auszuwählen und schon erstellt Zotero eine problemlos verwendbare BibTeX Datei.