Abgelegt unter: Computer
Ich hatte die Idee auf meinem Rootserver, der mit Debian Etch 4.0 läuft, einen Jabber-Server aufzusetzen. Es gibt dort verschiedene Möglichkeiten, ich hab mich für den sehr ausgereiften ejabberd entschieden.
Jabber ist ja schön und gut, für die Übergangszeit wollte ich aber gerne noch meine alten ICQ-Kontakte weiter nutzen können. Anstatt einen Multiprotokoll-Chat-Client zu nutzen habe ich mich für die (technisch anspruchsvollere) Lösung entschieden einen sogenannten ICQ-Transport zu verwenden. Also eine Erweiterung des ejabberd-Servers, mit dem der Server auch mit der ICQ-Infrastruktur kommunizieren kann.
Dafür gibt es das unter Debian das fertige Paket pyicqt. Leider ist es nur unter lenny zu finden, bei der Stable Version etch ist es nicht vorhanden. Das Problem hatten auch andere, z.B. im die-welt.net Blog , Zhenech und Lueri.
Das Paket aus lenny ließ sich nicht installieren, da die Abhängigkeiten nicht gestimmt haben.
Depends: python, python-support (>= 0.7.1), lsb-base (>= 3.0-6), python-twisted (>= 2.0.0), python-twisted-web (>= 0.5.0), python-twisted-words (>= 0.1.0), python-crypto, adduser
Das Problem liegt am python-support, Version 0.7.1 ist nicht für etch verfügbar. Nach Anpassen der DEBIAN/control Abhängigkeiten im Paket und Neubauen mit einem netten Skript
#!/bin/bash if [[ -z "$1" ]]; then echo "Syntax: $0 debfile" exit 1 fi DEBFILE="$1" TMPDIR=`mktemp -d /tmp/deb.XXXXXXXXXX` || exit 1 OUTPUT=`basename "$DEBFILE" .deb`.modfied.deb if [[ -e "$OUTPUT" ]]; then echo "$OUTPUT exists." rm -r "$TMPDIR" exit 1 fi dpkg-deb -x "$DEBFILE" "$TMPDIR" dpkg-deb --control "$DEBFILE" "$TMPDIR"/DEBIAN if [[ ! -e "$TMPDIR"/DEBIAN/control ]]; then echo DEBIAN/control not found. rm -r "$TMPDIR" exit 1 fi CONTROL="$TMPDIR"/DEBIAN/control MOD=`stat -c "%y" "$CONTROL"` vi "$CONTROL" if [[ "$MOD" == `stat -c "%y" "$CONTROL"` ]]; then echo Not modfied. else echo Building new deb... dpkg -b "$TMPDIR" "$OUTPUT" fi rm -r "$TMPDIR"
mit folgenden Abhängigkeiten:
Depends: python, python-support (>= 0.5.1), lsb-base (>= 3.0-6), python-twisted (>= 2.0.0), python-twisted-web (>= 0.5.0), python-twisted-words (>= 0.1.0), python-crypto, adduser
hatte Erfolg. Es funktioniert einwandfrei mit python-support Version 0.5.1
Das fertige Paket stelle ich hier auch zum Download:
Installation mit
dpkg -i pyicqt_08b-5_all.modfied.deb
Das wars.
Nachdem sich dieser Blog sich bisher hauptsächlich um die Integration von Serendipity und Windows Live Writer gekümmert hat war es jetzt doch Zeit sich von Serendipity zu verabschieden.
Warum?
Nun ja, es gab verschiedene Gründe. Es war letztlich sehr aufwändig die Code Highlighting so in das Theme zu integrieren, dass das Ergebnis validen XHTML-Code ausgegeben hat. Das wiederum war notwendig, um eine mobile Ansicht des Blogs speziell für Handys und PDAs zu realisieren.
Also von nun an: Weiter mit Wordpress!
Ich habe im Blog von Marcel Tiews ein von mir lang ersehntes Vista Gadget entdeckt:
Vista Sidebar Gadget für FritzBox
Dieses ermöglicht die Anzeige der Anruferliste der FritzBox. Praktisch, dass auch der dazugehörige Name aus dem Telefonbuch herausgesucht wird.
Leider zeigt es bei mir lediglich “Anmeldung läuft” an, ohne weitere Reaktion. Ich habe eigentlich keine Ahnung von JavaScript, ich habe es aber mal in VisualStudio versucht zu debuggen.
Dort lag der Fehler in folgendem Aufruf:
g_XmlHttp = new XMLHttpRequest();
Ich hab nicht wirklich verstanden, wo das exakte Problem lag, aber durch ersetzen durch
try { g_XmlHttp = new ActiveXObject('Msxml2.XMLHTTP'); } catch (e) { g_XmlHttp = new ActiveXObject('Microsoft.XMLHTTP'); }
in den Funktionen LoadData(), RefreshCallList() und GetCallList() in main.js lief es wunderbar bei mir.
Vielleicht ist damit ja jemandem geholfen. Ich weiss nicht, ob ich das veränderte Gadget hier zum Download einstellen darf. Daher muss man die Korrektur vorläufig selber durchführen. (Bei den Gadgets handelt es sich um umbenannte ZIP-Archive)
Abgelegt unter: Computer, Serendipity, Windows Live Writer | Tags: Computer, Serendipity, Windows Live Writer
Um Codeblöcke in Blogeinträgen vernünftig zu formatieren gibt er mehrere unterschiedliche Lösungen.
Ein häufig eingedetzter Vertreter ist das GeSHi Plugin. Problematisch hier dran ist allerdings, dass es keine direkte Untersützung für Live Writer gibt, man die GeSHi Tags also per Hand in der HTML-Ansicht eintragen muss. Ein weiteres Problem ergibt sich wenn man einen schon veröffentlichen Blogeintrag nachträglich in Live Writer bearbeitet, es gehen die Zeilenumbrüche flöten. (siehe Windows Live Writer & Serendipity)
Als Alternative bietet sich SyntaxHighlighter for Windows Live Writer an. Dies ist ein Plugin für Live Writer mit dem sich sehr komfortabel Codeblöcke verschiedenster Sprachen formatieren lassen.
Damit die Seite korrekt dargestellt wird muss auch die Serendipity Installation angepasst werden. Praktischerweise existiert ein fertiges Serendipity-Plugin: dp.SyntaxHighlighter, das man auch noch sehr komfortabel über Spartacus installieren kann, ein Klick und das wars.
Das ganze schaut dann zum Beispiel wie folgt aus (C#):
using System class Hello { static void Main() { System.Console.WriteLine("Hello World"); } }
Nachteilig daran ist, dass die Darstellung viel Gebrauch von Javascript macht, insgesamt bin ich aber sehr zufrieden mit dieser Lösung.
Ein Problem der in diesem Zusammenhang aufgetaucht ist, dass wundersamer Weise <br> Tags im Code aufgetaucht sind.
Der Schuldige ist schnell ausgemacht: das NL2BR Serendipity-Plugin. Es reicht in der Konfiguration “pre” in die Ausnahmeliste aufzunehmen, dann sieht es wie gewünscht aus.
Abgelegt unter: Computer, Serendipity, Windows Live Writer | Tags: Computer, Serendipity, Windows Live Writer
Bei der Recherche im Netz findet sich bei Microsoft in der Windows Live Writer Provider Customization API die entsprechende Dokumentation für diese Manifest-Datei. Dort sieht man, dass noch deutlich mehr Möglichkeiten bestehen. Ich hab mich noch nicht eingehend mit allen Sachen beschäftigt, aber als Anregung hier ein nützlicher Vorschlag:
<?xml version="1.0" encoding="utf-8" ?> <manifest xmlns="http://schemas.microsoft.com/wlw/manifest/weblog"> <options> <supportsExtendedEntries>Yes</supportsExtendedEntries> </options> <weblog> <homepageLinkText>Blog anzeigen</homepageLinkText> <adminLinkText>Blog verwalten</adminLinkText> <adminUrl> {blog-homepage-url}serendipity_admin.php </adminUrl> <postEditingUrl> {blog-homepage-url}serendipity_admin.php?serendipity[action]=admin&serendipity[adminModule]=entries&serendipity[adminAction]=edit&serendipity[id]={post-id} </postEditingUrl> </weblog> </manifest>
Die ermöglicht Folgendes:
In der rechten Sidebar des Live Writers erscheinen danach Links für das Anzeigen, bzw. Verwalten des Blogs. Um die Adminoberfläche so sinnvoll zu nutzen sollten die Zugangsdaten im Browser gespeichert sein. Das alleine reißt einen jetzt noch nicht vom Hocker, es gibt aber deutlich mehr Möglichkeiten die man in der Sidebar verwirklichen kann, inklusive einem Mini-Browser.
Etwas mehr praktischen Nutzen hat die Möglichkeit einen Eintrag jetzt nicht nur als Entwurf im Blog zu speichern, sondern auch direkt online zu bearbeiten. Nach dem Hochladen öffnet sich die Serendipity Adminoberfläche direkt mit dem geöffneten Beitrag.
Das Ganze ist wie gesagt nur ein kurzer Ausflug in die Möglichkeiten. Es wäre schon, wenn man hier noch ein paar interessante Beispielen sammeln könnte um Live Writer noch besser mit Serendipity zu integrieren.
Aktualisierung 13.04.2008:
Nicolai Stoy hat in seinem Blog (Windows Live Writer & Serendipity) das Thema aufgegriffen und noch ein paar sehr sinnvolle Erweiterungen hinzugefügt.
Weitere Tips sind willkommen!
Abgelegt unter: Computer, Serendipity, Windows Live Writer | Tags: Computer, Serendipity, Windows Live Writer
Beim Experimentieren mit dem Windows Live Writer in Zusammenarbeit mit Serendipity ist mir aufgefallen, dass der Punkt “Format”->”Beitrag teilen” deaktiviert ist.
Erweiterte Einträge
Diese Funktion entspricht den erweiterten Einträgen aus Serendipity. Also kurzen Beiträgen, die im Blog durch ein Klick auf “vollständig weiterlesen” in voller Länge angezeigt werden. Intern wird dies durch durch ein HTML-Schnipsel “<!–more–>” im Beitrag realisiert. Natürlich lässt sich das dieser Code auch händisch in der HTML-Ansicht des Livewriters einfügen. Schöner und komfortabler ist aber mit dem Button, da dann der Beitrag auch in der normalen Ansicht durch eine Linie geteilt erscheint:
Funktion in Live Writer freischalten
In einem Blogeintrag von Grischa über Serendipity und LiveWriter scheinen erweiterte prinzipiell Einträge zu funktionieren, bei meiner Installation ist das aber ohne einen kleinen Umweg nicht möglich gewesen.
Der Grund für die deaktivierte Funktion scheint zu sein, dass Live Writer annimmt das Blog unterstütze diese Funktion nicht über XML-RPC:
Informationen über unterstützte Features entnimmt Live Writer aus einer XML-Datei wlwmanifest.xml aus dem Rootverzeichnis des Blogs. Wir brauchen also lediglich dort eine passende Datei mit den entprechenden Optionen anzulegen, z.B. wie folgt
<?xml version="1.0" encoding="utf-8" ?> <manifest xmlns="http://schemas.microsoft.com/wlw/manifest/weblog"> <options> <supportsExtendedEntries>Yes</supportsExtendedEntries> </options> </manifest>
Nach einem Neustart des Live Writers funktioniert es bei mir einwandfrei. Es lassen sich an dieser Stelle noch eine ganze Reihe anderer Dinge konfigurieren, dazu später noch mehr.
Willkommen im brandneuen Blog auf blog.softcat.org.
Hier werden in Zukunft vor allem Themen wie das Nokia N800 und Geotagging behandelt.
Als Blogsystem ist Serendipity 1.3 mit dem i3theme 1.6 von MangoOrange™ (angepasst an Serendipity von YellowLed) Freshy Theme von abdussamad Wordpress 2.6 im Einsatz (siehe auch http://blog.softcat.org/index.php/2008/11/wechsel-auf-wordpress/).






