Simple Trackback Disabler: Trackback-Spam auf WordPress-Blogs unterbinden

Das WordPress-Plugin Simple Trackback Disabler hilft, Spam zu bekämpfen.

Das WordPress-Plugin Simple Trackback Disabler hilft, Spam zu bekämpfen.

Dank Trackbacks bzw. Pingbacks sehen Autoren und Leser eines Blog-Artikels, welche anderen Blogs auf diesen Artikel verlinken. Das verlinkende Blog schickt dem verlinkten Blog ein Signal, und letzteres publiziert automatisch einen Backlink unterhalb des Artikels. Eine sinnvolle Erfindung also – wenn sie nicht immer öfter von Spammern missbraucht würde.

WordPress bietet unter Einstellungen > Diskussion die Möglichkeit, die automatische Publikation solcher Backlinks zu deaktivieren. Die Option Erlaube Link-Benachrichtigungen von anderen Weblogs (Pingbacks und Trackbacks) bezieht sich allerdings nur auf zukünftige Blog-Beiträge; bereits publizierte Artikel behalten Ihre ursprüngliche Einstellung und lassen also Trackbacks weiterhin zu. Gerät ein Blog mit einigen hundert Beiträgen ins Visier von Trackback-Spammern, dann kann das zu einem echten Problem werden, denn schliesslich möchte man nicht bei jedem einzelnen Beitrag die Trackbacks manuell deaktivieren.

Googelt man nach Alternativen, so findet man problemlos die notwendigen SQL-Befehle, um bei allen existierenden Beiträgen Trackbacks nachträglich zu deaktivieren. Nun ist es allerdings nicht jedermanns Sache, ein SQL-Statement direkt auf der Datenbank abzusetzen. Als Alternative bietet sich das Plug-in Simple Trackback Disabler an, welches diese Datenbank-Operationen mit einer einfachen und ansprechenden Oberfläche versieht.

Simple Trackback Disabler behandelt nicht nur Trackbacks, sondern auch auch Kommentare, und zwar sowohl bei Beiträgen (Posts) als auch bei Seiten (Pages). Per Knopfdruck können nicht nur die entsprechenden Einstellungen bei sämtlichen existierenen Beiträgen bzw. Seiten geändert werden, sondern man kann sogar alle bestehenden Tracksbacks bzw. Kommentare auf einen Schlag löschen. Kurz: Eine unverzichtbare Waffe für jeden WordPress-Administrator im Kampf gegen Spammer.

In WordPress veröffentlicht | Getaggt , , , , | Kommentieren

WordPress-Websites mit Zwei-Faktor-Authentifizierung sichern

p5rn7vb
WordPress-Login mit Zwei-Faktor-Authentifizierung

WordPress-Login mit Zwei-Faktor-Authentifizierung

Was ist Zwei-Faktor-Authentifizierung?

Beim E-Banking ist es selbstverständlich, nicht allein auf Passwörter zu vertrauen: Dort muss man bei jedem Login einen nur einmal gültigen Code eingeben, den man entweder per SMS zugeschickt erhält, mit einer Smartphone App generiert, von einem RSA Key abliest oder (heute kaum noch verbreitet) einer Papier-Strichliste entnimmt. Alle diese Verfahren basieren auf dem Prinzip, dass man nicht nur das Passwort kennen muss, sondern auch noch ein physisches Objekt (ein Smartphone, einen Code-Generator, eine Liste) besitzen muss, um sich einloggen zu können. Diese sogenannte Zwei-Faktor-Authentifizierung macht ein Login wesentlich sicherer, denn das Risiko, dass ein Unbefugter sowohl das Passwort in Erfahrung bringt als auch in den Besitz des physischen Objekts kommt, ist vergleichsweise gering. Und falls letzteres ein Smartphone ist, dann kann man es durch einen PIN noch zusätzlich absichern.

Weil Brute-Force-Attacken auf Websites und gross angelegte Passwortdiebstähle zunehmen, werden immer mehr Online-Logins mit einer Zwei-Faktor-Authentifizierung abgesichert. Insbesondere grosse Dienste wie z.B. Gmail oder Facebook bieten eine solche Option; die Logins von Content-Management-Systemen sind hingegen in aller Regel nur durch Passwörter geschützt. Wenn man sich überlegt, welchen Schaden ein Einbrecher auf einer Website schlimmstenfalls anrichten könnte, dann wäre auch hier eine Zwei-Faktor-Authentifizierung oft angebracht. Bei WordPress kann man die entsprechende Funktionalität über verschiedene Plug-ins nachrüsten.

Das Google Authenticator Plug-in für WordPress

Mit knapp 50’000 Downloads eines der populärsten Plug-ins ist Google Authenticator. Es bewirkt, dass das WordPress-Login mit einem dritten Eingabefeld ausgestattet wird: Nebst Benutzername und Passwort muss man einen Code eingeben, den man von der kostenlosen Google Authenticator Smartphone App abliest. Diese App gibt es für Android, iOS und BlackBerry OS, und sie generiert alle 30 Sekunden einen 6-stelligen Code.

WordPress-Plugin Google Authenticator: Einstellungen im Benutzerprofil

WordPress-Plugin Google Authenticator: Einstellungen im Benutzerprofil

Die Benutzung der Zwei-Faktor-Authentifizierung ist also denkbar einfach, und auch die Einrichtung ist nicht sonderlich kompliziert. Ist das Plug-in einmal installiert, muss man es im Benutzerprofil aktivieren. Zudem muss man den Geheimschlüssel, den das Plug-in generiert, in die Smartphone-App übertragen; dazu kann man entweder den QR-Code mit der Smartphone-Kamera scannen oder aber die angezeigte Zeichenfolge abtippen. Dieser Geheimschlüssel ist unbedingt vertraulich zu behandeln und kann bei Bedarf neu generiert werden, falls man Grund zur Annahme hat, dass ein Geheimschlüssel in falsche Hände gelangt ist.

Wichtige Details

Auch wenn die Einrichtung und der Betrieb von Google Authenticator denkbar einfach ist, so sollte man sich doch einiger potentieller Stolpersteine bewusst sein:

Einsatz in Blog-Netzwerken: Bekanntlich kann man mit einer einzigen WordPress-Installation mehrere eigenständige Blogs betreiben. Administratoren können Plug-ins entweder für das gesamte Blog-Netzwerk oder nur für einzelne Blogs aktivieren. Bei Google Authenticator ist es empfehlenswert, das Plug-in global zu aktivieren, damit nicht einzelne Blogs ohne Zwei-Faktor-Authentifizierung das gesamte Netzwerk gefährden.

Aktivierung pro Benutzer: Wie oben gezeigt muss Google Authenticator im Benutzerprofil eingerichtet werden, d.h. jeder einzelne Benutzer muss die Einrichtung auf seinem Smartphone selbst vornehmen. Falls dies ein Benutzer nicht tut, dann ist dessen Login nicht durch die Zwei-Faktor-Authentifizierung geschützt und somit ein potentieller Schwachpunkt im ganzen Sicherheitskonzept. Leider hat der Administrator keine elegante Möglichkeit, seine Benutzer zu zwingen, Google Authenticator zu benutzen. Man kann allerdings diese Funktionalität über das separate Plug-in Google Authenticator – Encourage User Activation nachrüsten, was sehr zu empfehlen ist.

Uhrzeit-Einstellung: Die Codes, welche Google Authenticator benutzt, sind nur sehr kurze Zeit gültig. Damit das Login funktioniert, müssen die Uhren auf dem Web-Server und auf dem Smartphone synchron laufen. Eine minimale Zeitdifferenz stellt kein Problem dar, und im optionalen “Relaxed Mode” kann man den Toleranzbereich noch um einige Minuten ausdehnen. Wenn allerdings ein Benutzer in eine andere Zeitzone reist und sein Smartphone auf Lokalzeit umstellt, dann werden seine Codes nicht mehr akzeptiert; der Benutzer muss wissen, dass er in diesem Fall sein Smartphone vorübergehend auf die Server-Zeitzone umstellen muss, um sich einloggen zu können.

Sichere Computer: Bei den meisten Zwei-Faktor-Logins kann man einen Computer als sicher deklarieren – dann muss man bei zukünftigen Logins keinen Code mehr eingeben, sofern dieses Login vom gleichen Rechner bzw. Browser aus erfolgt. Das schwächt zwar das Sicherheitskonzept ein Stück weit, dafür ist die Zwei-Faktor-Authentifizierung für regelmässige Benutzer weniger nervig und wird deshalb besser akzeptiert. Das Google Authenticator Plug-in bietet leider keine solche Option; das ist zwar sicherer, aber auch ein bisschen anstrengend.

Zugriff ohne Smartphone: Es gehört zum Konzept der ganzen Lösung, dass man sich ohne sein Smartphone nicht an seinem WordPress-Blog anmelden kann. Was aber, wenn das Smartphone abhanden kommt oder neu aufgesetzt werden muss (wodurch der Geheimschlüssel gelöscht wird)? Oft wird deshalb bei der Einrichtung einer Zwei-Faktor-Authentifizierung ein Notfall-Schlüssel angegeben, den man auf Papier an einem sicheren Ort verwaren kann. Auch diese Funktion gibt es im Google Authenticator Plug-in nicht – was allerdings weniger dramatisch ist, als es klingt: In diesem Fall muss der Benutzer ganz einfach einen Administrator um Hilfe bitten. Und falls man selbst der einzige Administrator ist und sein Smartphone verliert? Dann kann man das Plug-in immer noch per FTP-Zugriff temporär deinstallieren.

Alternativen

Es gibt inzwischen eine ganze Reihe von Plug-ins, welche WordPress mit einer Zwei-Faktor-Authentifizierung ausstatten. Hier eine kleine Auswahl:

  • WP Google Authenticator heisst nicht nur sehr ähnlich wie das oben vorgestellte Plug-in, es funktioniert auch sehr ähnlich. Die Unterschiede liegen im Detail: Hier kann ein Administrator die anderen Benutzer zwingen, Google Authenticator zu benutzen. Ausserdem generiert dieses Plug-in einen Recovery Code den Fall, dass man sein Smartphone nicht mehr nutzen kann. Allerdings hat WP Google Authenticator erst gut 2’500 Downloads und ist somit noch weniger erprobt.
  • Clef ist insofern eine spannende Variante, als man beim Login nicht manuell einen Code eintippen muss, sondern mit der Smartphone-Kamera einen speziellen Login Screen scannen kann. Dieses Video zeigt, wie es funktioniert. Das Plug-in ist mit über 70’000 Downloads ebenfalls sehr populär.
  • Authy Two-Factor Authentication bindet WordPress an den Authentifizierungs-Service von Authy an. Dieser ist eine universelle Lösung für verschiedenste passwortgeschützte Systeme und kann den Login-Code bei Bedarf auch per SMS-Nachricht zustellen; das ist dann von Vorteil, wenn man ein Mobiletelefon besitzt, auf dem die Authy App nicht installiert werden kann. Authy bietet auch sonst noch einige schöne Features, ist allerdings eine kostenpflichtige Lösung. In dieselbe Kategorie gehören auch Clockwork SMS Two-Factor Authentication und Duo Two-Factor Authentication.

Fazit

Google Authenticator ist problemlos zu installieren und so einfach in der Benutzung, wie eine Zwei-Faktor-Authentifizierung eben sein kann. Wer Sicherheit ernst nimmt, sollte dieses Plug-in (oder eine der oben genannten Alternativen) unbedingt installieren. Zwei Dinge muss man sich allerdings bewusst sein: Erstens ist das Backend-Login nur einer von verschiedenen potentiellen Angriffspunkten bei einem WordPress-Blog; veraltete WordPress-Versionen, unsachgemäss programmierte Plug-ins und präparierte Gratis-Themes stellen ein mindestens so grosses Sicherheitsrisiko dar. Und zweitens muss man sicherstellen, dass sämtliche Benutzer in sämtlichen Blogs Google Authenticator auch tatsächlich nutzen.

In Sicherheit & Privatsphäre, WordPress veröffentlicht | Getaggt , , , , | Kommentieren

ScreenToGIF: Screenrecorder für AniGIFs

Installation eines WordPress Plug-ins (Beispiel für eine visuelle Anleitung im AniGIF-Format)

Installation eines WordPress Plug-ins (Beispiel für eine visuelle Anleitung im AniGIF-Format)

In der Frühphase des Internets waren animierte GIFs (kurz AniGIFs genannt) eine der wenigen Möglichkeiten, um Animationen auf einer Website zu platzieren. Es handelt sich um ein Bild im GIF-Format, bei dem mehrere Frames in einer einzigen Datei gespeichert sind; diese werden dann der Reihe nach angezeigt, sobald das Bild im Web-Browser geladen wird. Obwohl es heute mit Flash und HTML5 weitaus leistungsfähigere Möglichkeiten für Animationen gibt, hat sich das in den späten 1980er Jahren erfundene AniGIF für bestimmte Anwendungen halten können, beispielsweise für animierte Smilies in Chat-Applikationen. Es gibt aber auch eine eigentliche AniGIF-Szene, welche mit diesem Format kleines Cartoons oder kurze Videoclips realisiert – googeln Sie einfach mal nach “Animated GIF”.

In jüngster Zeit sieht man vermehrt eine weitere Anwendung für AniGIFs: Sie zeigen einzelne Bedienungsschritte von Web-Applikationen oder Smartphone-Apps in kurzen, geloopten Sequenzen. Natürlich könnte man solche Anleitungen auch als normale Videos realisieren, aber AniGIFs haben – so primitiv sie aus technischer Sicht auch sein mögen – zwei entscheidende Vorteile: Erstens können sie von jedem Browser ohne Plug-in angezeigt werden. Und zweitens ist ein AniGIF in aller Regel deutlich weniger gross, ist also schneller geladen. Als Nachteil muss man in Kauf nehmen, dass das GIF-Format lediglich 256 Farben zulässt, weshalb Fotos und Videos an Qualität einbüssen, wenn man sie ins GIF-Format bringt. Für Grafiken hingegen genügen die 256 Farben fast immer ausreichend, und dasselbe gilt für die allermeisten Benutzeroberflächen von Applikationen.

ScreenToGIF: Screenrecorder zu Aufzeichnung eines AniGIF

ScreenToGIF: Screenrecorder zu Aufzeichnung eines AniGIF

Wie erstellt man nun ein solches AniGIF? Gut geeignet ist Screen To GIF, ein kompaktes Windows-Programm, das sehr ähnlich wie andere Screenrecorder funktioniert, aber am Schluss ein AniGIF statt ein Video generiert. Ein Rahmen, der permanent im Vordergrund liegt, definiert den aufzunehmenden Bildschirmausschnitt, dessen Grösse frei wählbar ist (auch Fullscreen-Aufnahmen sind möglich). Ebenfalls einstellbar sind die Anzahl der Einzelbilder, welche pro Sekunde aufgenommen werden (Frames per Second, FPS): Je mehr Bilder, desto flüssiger wirkt die Animation, aber desto grösser wird die resultierende Datei. Gestartet und gestoppt wird die Aufnahme über die entsprechenden Buttons auf dem Rahmen oder über Tastenbefehle. Sehr praktisch ist dabei, dass man die Aufnahme auch pausieren kann.

Nachbearbeitung einer Aufnahme in ScreenToGIF

Nachbearbeitung einer Aufnahme in ScreenToGIF

Ist die Aufnahme im Kasten, dann kann sie mit ScreenToGIF noch nachbearbeitet werden. Insbesondere kann man überflüssige Frames löschen oder Bilder als zusätzliche Frames importieren. Auch Textanmerkungen und Untertitel lassen sich hinzufügen, und es stehen sogar gewisse Filter für Bildeffekte zur Verfügung. Das Ganze ist allerdings kein Editor mit allem Komfort, sondern eine praktische Lösung für ein paar kleine Korrekturen: Wenn man beispielsweise ein paar Sekunden einer Aufnahme löschen will, dann muss man jeden Frame einzeln auswählen, und auch das Verlängern einer Einstellung durch das Einfügen zusätzlicher Frames ist kompliziert. Heikel ist auch, dass die Bearbeitung nur erfolgen kann, solange die Aufnahme noch nicht gespeichert ist – macht man beim Editieren einen gröberen Schnitzer, dann ist die Aufnahme verloren.

Insgesamt ist ScreenToGIF eine schlanke, praxisorientierte Lösung, um AniGIFs aufzuzeichnen. Das Programm besteht aus einer einzigen EXE-Datei und kann deshalb ohne Installation genutzt werden – man braucht also keine Administratoren-Rechte und kann ScreenToGIF sogar von einem USB-Stick aus starten. Der Editor könnte noch eine Spur komfortabler sein, und ich habe bei meinem Test einzelne Programmabstürze erlebt – für die nächste Version gäbe es somit noch Optimierungspotential. Aber bereits die aktuelle Version 1.1, die vor wenigen Wochen veröffentlicht wurde, ist eine gute Lösung, mit der man arbeiten kann.

In Grafik + DTP, Utilities veröffentlicht | Getaggt , , | Kommentieren

Shortcoder: Eigene WordPress Shortcodes definieren und nutzen

Ein WordPress Shortcode ist im Prinzip nichts anderes als ein Makro: Man fügt den Shortcode in einen Beitrag, eine Seite oder ein Widget ein, und WordPress ersetzt den Shortcode durch den vordefinierten Inhalt, sobald die entsprechende Seite angezeigt wird. Dieser Inhalt kann aus reinem Text, aber auch aus HTML- oder JavaScript-Code bestehen. Shortcodes existieren seit WordPress 2.5, allerdings versteht WordPress von Haus aus nur audio, caption, embed, gallery und video; die meisten Shortcodes werden durch Plug-ins implementiert.

Formaler Aufbau von WordPress Shortcodes

Formal sind Shortcodes sehr simpel aufgebaut: Sie stehen in eckigen Klammern und enthalten mindestens den Namen des Shortcodes:

[myShortcode]

Ähnlich wie ein HTML-Tag kann ein WordPress Shortcode zusätzliche Attribute besitzen, denen man beim Einfügen einen bestimmten Wert zuweist:

[myShortcode id="43" path="http://www.example.com/image.jpg" size="preview"]

In der Regel wird man immer dann mit Shortcodes arbeiten, wenn ein Plug-in dies erfordert. Hat man beispielsweise ein Formular mit Contact Form 7 erstellt und will dieses in eine Seite einfügen, dann benutzt man einen Shortcode, dessen Name und Attribute vom Plug-in-Entwickler vorgegeben sind. Das sieht zwar im ersten Moment etwas technisch aus, ist aber nicht wirklich kompliziert und sehr flexibel.

Eigene Shortcodes definieren mit Shortcoder

Manchmal wäre man froh, man könnte seine eigenen Shortcodes definieren, um effizient Code Snippets oder Textblöcke einzufügen. Von Haus aus bietet WordPress keine entsprechende Konfigurationsmöglichkeit, aber es gibt selbstverständlich Plug-ins dafür. Eine sehr schöne Lösung ist Shortcoder, das sowohl die Definition als auch die Verwendung eigener Shortcodes so einfach wie überhaupt möglich gestaltet.

Um Shortcodes zu erstellen oder zu bearbeiten gibt es eine Maske unter Einstellungen > Shortcoder, die absolut selbsterklärend ist: Man vergibt einen Namen für den Shortcode sowie den Code bzw. Text, der an seiner Stelle eingefügt werden soll. Falls gewünscht kann man auch Attribute einfügen, die mit einem doppelten Prozentzeichen vorne und hinten gekennzeichnet werden. Möchte man beispielsweise einen Copyright-Hinweis mit einer variablen Jahreszahl als Shortcode definierern, dann sieht dies folgendermassen aus:

WordPress Shortcodes definieren mit dem Shortcoder Plug-in

WordPress Shortcodes definieren mit dem Shortcoder Plug-in

Um diesen Shortcode in einem Blog-Beitrag zu nutzen, fügt man folgendes ein:

Damit man die exakte Syntax nicht auswendig lernen muss, fügt Shortcoder dem WYSIWYG-Editor einen Button hinzu, über den man alle verfügbaren Shortcodes inkl. deren Attribute als Maske präsentiert bekommt:

Maske zum bequemen Einfügen von eigenen Shortcodes

Maske zum bequemen Einfügen von eigenen Shortcodes

Shortcoder in der Praxis

Die Anwendungsbereiche für Shortcoder sind vielfältig. Man kann das Plug-in beispielsweise nutzen, um Textbausteine anzulegen; das spart später Tipparbeit und ermöglicht es, die Texte bei Bedarf zentral zu pflegen. Man ist dabei nicht auf reinen Text beschränkt, sondern kann auch Textformatierungen und sogar Bilder in seinen Bausteinen nutzen. Wer HTML beherrscht, kann mit Shortcodes auch komplexere Templates für bestimmte Inhaltstypen erstellen, beispielsweise wenn auf einer Website mehrer Produkte in einem identischen Layout präsentiert werden sollen: Statt dass der Content Manager jedes Produkt händisch formatieren muss (und dabei vielleicht die Design-Vorgaben missachtet), kann ihm der Webmaster einen Shortcode bereitstellen, sodass er nur noch Produktname, Beschreibung, Preis und Bildpfad einfügen muss. Auch die zahlreichen JavaScript-Snippets, die man heutzutage in eine Website integrieren muss, lassen sich über Shortcodes komfortabel verwalten. Und auch im Zusammenhang mit Mikroformaten könnte man Shortcoder einsetzen.

Kurz: Eigene Shortcodes sind für etwas komplexere WordPress-Websites eigentlich unverzichtbar, und Shortcoder ist eine sehr schöne Lösung für diesen Zweck. Man muss sich lediglich bewusst sein, dass man Shortcode-Definitionen nicht ungestraft löscht oder umbenennt: Überall dort, wo der Shortcode eingesetzt wurde, wird dann nämlich nichts mehr ausgegeben, und Shortcoder bietet auch keine Übersicht, wo welcher Shortcode benutzt wird. Als einen kleinen Nachteil empfinde ich es zudem, dass man Shortcodes nicht exportieren/importieren kann; ausserdem wäre es schön, wenn man sie in einer Multisite-Installation site-übergreifend für das gesamte WordPress-Netzwerk zur Verfügung stellen könnte.

In WordPress veröffentlicht | Getaggt , , | Kommentieren

Contao CMS upgraden: Typische Probleme – und wie man sie löst

Contao Release Plan 2012-2017

Contao Release Plan 2012-2017

Das Open Source CMS Contao wird kontinuierlich weiterentwickelt. Der Relase Plan sieht vor, alle sechs Monate ein neues Release zu veröffentlichen. Das ist erfreulich für diejenigen, die sich auf neue Features freuen; es bedeutet aber auch eine Menge Arbeit für all jene, die für eine Contao-Installation verantwortlich sind, denn eine normale Contao-Version wird nur ein halbes Jahr lang gepflegt und muss dann aktualisiert werden. Lediglich die Versionen mit Long Term Support (LTS) werden zwei Jahre lang mit Bugfixes und sicherheitsrelevanten Patches versorgt.

Ende Juli 2014 läuft der Support für Contao 2.11 aus, und somit wird vielerorts das Upgrade auf Contao 3.2 LTS oder Contao 3.3 anstehen. Ich habe in den letzten Monaten eine ganze Reihe von Websites aktualisieren müssen und fasse in diesem Artikel meine wichtigsten Erfahrungen zusammen.

Backup erstellen

Ein vollständiges Backup von Datenbank und Dateisystem ist Pflicht, bevor man ein CMS-Upgrade installiert – das ist bei Contao nicht anders. Damit ist man nicht nur gegen einen GAU gewappnet (z.B. zerschossene Datenbank; gelöschte Bilder, Templates und Konfigurationsdateien), sondern kann jederzeit zum Ursprungszustand zurückkehren, wenn man mit inkompatiblen Extensions oder Stylesheet-Problemen konfrontiert wird. Noch viel entspannter kann man das Upgrade übrigens angehen, wenn man es nicht direkt auf dem Live-System durchführt, sondern auf einem Test-System.

Systemdiagnose durchführen

Contao braucht gewisse Komponenten, Konfigurationseinstellungen und Berechtigungen auf dem Webserver, damit es korrekt funktioniert, und diese Systemvoraussetzungen können über die Versionen hinweg auch einmal ändern. Es ist deshalb eine gute Idee, vor dem Upgrade das Systemdiagnose-Tool Contao Check laufen zu lassen.

Releases einzeln installieren

Grundsätzlich ist es möglich, beim Upgrade einzelne Releases zu überspringen, aber ich würde es trotzdem nicht empfehlen. Das Install Tool erkennt zwar die Version der Datenbank und führt automatisch die Aktualisierungsschritte für jede einzelne Version durch. Wenn es aber Probleme gibt, dann wird die Fehlersuche deutlich aufwändiger, weil man nicht genau weiss, welche Contao-Version dafür verantwortlich ist. Installiert man der Reihe nach jedes einzelne Minor-Release, dann sind Probleme vielleicht nicht seltener, aber wenigstens schneller eingegrenzt und besser dokumentiert.

Extensions inventarisieren, deaktivieren und aktualisieren

Wenn man nach dem Upgrade nur noch PHP-Fehlermeldungen sieht, dann ist oft nicht der Contao Core, sondern eine Extension dafür verantwortlich. Um solche zu Probleme zu lösen muss man wissen, welche Extensions überhaupt installiert sind. Sicherheitshalber überprüft man nicht nur die Erweiterungsverwaltung im Contao-Backend, sondern auch die Liste unter System > Einstellungen > Inaktive Erweiterungen und wirft zudem per FTP Client einen Blick in das Verzeichnis /system/modules/. Gerade wenn es sich um eine ältere Website handelt, kann es nämlich sein, dass hier noch Altlasten aus früheren Contao-Versionen liegen, die gar nicht in der Erweiterungsverwaltung auftauchen (weil es diese in frühen Versionen von TYPOlight/Contao noch gar nicht gab). Extensions, die man nicht benutzt und die nicht zum Core gehören, kann man bei dieser Gelegenheit gleich entsorgen.

Idealerweise klärt man vor dem Upgrade ab, ob die benutzten Extensions mit der neuen Contao-Version kompatibel sind. Gibt es dennoch Probleme, kann man aber eine Extension per FTP Client selbst dann noch deaktivieren, wenn das Contao-Backend (und damit die Erweiterungsverwaltung) nicht mehr zugänglich ist: Löschen Sie ganz einfach das entsprechende Unterverzeichnis in /system/modules/. Welche Extension der Übeltäter ist findet man oft heraus, wenn man die Fehlermeldungen ganz genau liest: PHP gibt normalerweise das fehlerverursachende Skript inklusive den kompletten Pfad aus.

Auch wenn man keine PHP-Fehlermeldungen sieht kann eine Extension für Probleme verwantwortlich sein. Ich erinnere mich an einen Fall, wo das Install Tool meldete, dass die Datenbank nicht aktuell sei – aber ein Klick auf den Button Datenbank aktualisieren zeigte keine Wirkung. Schuld war letztlich die veraltete Extension development.

Hat das Upgrade so weit geklappt, dann sollte man gleich alle Extensions aktualisieren. In der Erweiterungsverwaltung geht das sehr bequem per Knopfdruck.

Verwaiste Files eliminieren

Manchmal führen auch Skripts, die zwar einmal zum Contao Core gehört haben, in der neuen Version aber nicht mehr existieren, zu seltsamen Fehlern. Solche verwaisten Dateien zu eliminieren hat bei mir schon mehrfach geholfen, wenn sonst nichts mehr ging. Für gewisse Versionen findet man entsprechende Listen (z.B. verwaiste Contao 2.11.6-Dateien in Contao 3), man kann aber auch den Synchronisations-Modus eines geeigneten FTP Clients benutzen (Anleitung).

Dateiendung von Templates anpassen

Wenn Sie eine sehr alte Contao-Installation upgraden, dann haben Ihre Templates allenfalls noch die Dateiendung *.tpl, was zu der folgenden Fehlermeldung führt: Notice: Using .tpl files (templates/xxxxxxx.tpl) is deprecated. Please use the new .html5 and .xhtml files instead. Seit Contao 2.10 muss die Dateiendung *.xhtml (HTML4) bzw. *.html5 (HTML5) lauten; benennen Sie also die Template-Dateien entsprechend um.

Einstellungen auffrischen

Nach meiner Beobachtung vergisst Contao beim Upgrade gelegentlich, dass eine bestimmte Checkbox ursprünglich selektiert war. So sind beispielsweise Kopf- und Fussbereiche in einem Layout nicht mehr aktiv, oder die Stylesheets sind nicht mehr eingebunden, oder eine Seite hat kein Layout mehr zugeordnet. Das kann im Frontend mehr oder weniger dramatische Auswirkungen haben, ist allerdings schnell behoben, wenn man herausgefunden hat, welche Checkbox man nochmals neu anklicken muss. Ähnlich kann es auch passieren, dass beispielsweise bei Datei-Downloads die Referenz auf ein PDF-Dokument in der Dateiverwaltung verlorengegangen ist – das Dokument selbst ist aber noch vorhanden und muss nur neu verlinkt werden.

Stylesheets anpassen

Schliesslich kommt es nach einem Upgrade typischerweise zu einzelnen Darstellungsfehlern, weil Contao gewisse Inhalte leicht anders rendert als früher. Gewisse Anpassungen sind auf HTML5 zurückzuführen, andere auf die Vereinheitlichung und Optimierung der Templates und Module. Oft braucht es nicht viel, dass eine Contao-Website durch ein Upgrade übel zugerichtet wird: Ein neues HTML-Tag oder ein veränderter Klassenbezeichner reicht aus, dass eine Style-Definition nicht mehr greift. Hier muss man mit den üblichen Debugging-Techniken eines Web Developers dahinter, um die Ursache zu finden und die Stylesheets entsprechend anzupassen.

System-Log überprüfen

Selbst wenn scheinbar alles in Ordnung ist: Werfen Sie bei einem Contao-Upgrade unbedingt auch einen Blick in das System-Log. Filtern Sie das Log nach der Kategorie ERROR, um Hinweise auf mögliche Probleme zu erhalten.

In Contao (TYPOlight) veröffentlicht | Getaggt , , | Kommentieren

E-Books: Warum Sie einen Tolino Vision kaufen sollten

Tolino Vision E-Book Reader

Wenn Sie dieses Blog lesen, dann sind Sie wahrscheinlich an frei nutzbaren Inhalten und offenen Standards interessiert. Was das mit einem E-Book Reader zu tun hat? Mehr als Sie denken.

Kurz gesagt: Im Gegensatz zum Kindle (dem E-Book Reader von Amazon) erlaubt es der Tolino (der E-Book Reader von Thalia), E-Books im EPUB-Format zu lesen. EPUB ist ein herstellerübergreifender, offener Standard und damit auch das bevorzugte E-Book-Format für freie Inhalte. Zudem erlaubt es der Tolino, kostenpflichtige E-Books nicht nur von einem einzigen Anbieter zu kaufen, sondern von jedem beliebigen E-Book Store. So kann man als Leser dafür sorgen, dass der Ertrag aus dem Bücherkauf an die lokalen Buchhändler und Verlage geht, die es für eine vielfältige, hochwertige Buchkultur unbedingt braucht. Wer einen Tolino Vision kauft, setzt also auch ein Zeichen gegen die Bestrebungen von Amazon, Buchhandel und Verlage überflüssig zu machen und als einziger Vermittler zwischen Autoren und Lesern den Büchermarkt komplett zu kontrollieren.

Was den Kindle so attraktiv macht

Ich besitze seit mehreren Jahren einen Kindle, und ich schätze ihn sehr. Das hochauflösende, entspiegelte E-Ink Display bietet denselben Lesekomfort wie gedrucktes Papier (ganz anders als ein iPad oder ein Android Tablet), und die Hintergrundbeleuchtung des Kindle Paperwhite gestaltet das Lesen auch bei schlechten Lichtverhältnissen sehr angenehm. Man kann Bücher nicht nur im Volltext durchsuchen, sondern auch Lesezeichen setzen, wichtige Passagen markieren sowie Notizen hinzufügen. Kennt man ein Wort nicht, so schlägt man es direkt auf dem Kindle nach – gerade bei fremdsprachiger Literatur ist das ein unschätzbarer Vorteil.

Braucht man neuen Lesestoff, so kann man ihn jederzeit und überall aus dem riesigen Angebot des Amazon E-Book Store direkt auf das Gerät herunterladen. Der Kaufvorgang erfordert dank der im Amazon-Konto hinterlegten Kreditkarte nur einen einzigen Knopfdruck, und bei Modellen mit 3G bezahlt Amazon sogar die Verbindungsgebühren. Dabei ist der Kindle leicht, formschön, benutzerfreundlich, energiesparend und kostengünstig. Mit einem Wort: Der Kindle Paperwhite ist der perfekte E-Book Reader.

Warum der Kindle problematisch ist

Wie bei allen digitalen Inhalten so gibt es auch bei E-Books offene und proprietäre Dateiformate. Amazon setzt beim Kindle auf die proprietären Formate AZW bzw. KF8, während der offene EPUB-Standard nicht unterstützt wird. Anders formuliert: E-Books im EPUB-Format (die man aus verschiedensten Quellen beziehen kann) lassen sich auf jedem E-Book Reader lesen – nur auf dem Kindle nicht. Diese technische Eigenheit hat zur Folge, dass man Inhalte für seinen Kindle zwangsläufig bei www.amazon.de kauft, was Amazon nicht nur schöne Umsätze beschert, sondern auch eine weitreichende Kontrolle darüber gibt, was wir lesen.

Diese Kontrolle hat verschiedene Aspekte. Zunächst entscheidet Amazon darüber, welche Titel ins Sortiment aufgenommen werden und welche nicht. Amazon kann also uns Lesern ein bestimmtes Buch vorenthalten – sei es, weil der Inhalt rechtlich, politisch oder moralisch problematisch erscheint, sei es, weil der Titel zu geringe Gewinne abwirft. Die jüngste Kraftprobe zwischen Amazon und den Verlagen zum Thema E-Book-Rabatte lässt erahnen, dass der Online-Händler wenig Hemmungen kennt, ganze Verlagsprogramme aus wirtschaftlichen Gründen zu boykottieren (vgl. die Artikel Amazon vergrault Bestsellerautoren und Lord Voldemort greift an im Tages-Anzeiger).

Kontrolle übt Amazon auch dadurch aus, dass jedes verkaufte E-Book einem Benutzerkonto zugeordnet ist und dass die Daten des Kindles über die Cloud synchronisiert werden. Auf den Amazon-Servern kann man nicht nur nachvollziehen, wer welche Titel besitzt, sondern auch, auf welcher Seite sich ein Leser gerade befindet und welche Stellen er markiert hat. Mag sein, dass Amazon dieses Wissen nur für personalisierte Werbung nutzt; aber angesichts der grossflächigen digitalen Überwachung durch die Geheimdienste wäre es wenig überraschend, wenn auf diesem Weg auch unser Leseverhalten überwacht würde.

Ferner kontrolliert Amazon die Nutzungsrechte, die wir Leser an unseren gekauften E-Books haben. Das Digital Rights Management (DRM) soll die legitimen Interessen der Urheber schützen, indem ein bestimmtes Exemplar eines E-Books nur auf bestimmten Geräten genutzt werden kann. Es bietet im Prinzip aber auch die Möglichkeit, die Nutzungsrechte nachträglich einzuschränken, etwa indem man die Lektüre eines E-Books in bestimmten Ländern unterbindet. Im Extremfall kann Amazon sogar einen Titel von den Kindles sämtlicher Käufer entfernen, wie die Löschung zweier E-Books von George Orwell im Jahr 2009 gezeigt hat.

Was beim Tolino anders ist

Wenn man den Tolino Vision mit dem Kindle Paperwhite vergleicht, dann fallen nicht die Unterschiede, sondern die Gemeinsamkeiten auf: Sowohl die Hardware als auch die Benutzerobefläche ist ausgesprochen ähnlich. Selbst der Einkauf von E-Books mit dem Tolino bei Thalia ist ähnlich komfortabel wie der Einkauf mit dem Kindle bei Amazon – mit zwei kleinen Einschränkungen: Erstens benötigt man nebst dem Thalia-Kundenkonto auch noch eine Adobe ID, die man einmalig im Tolino hinterlegt; nur dann lassen sich kopiergeschützte E-Books öffnen. Und zweitens gibt es den Tolino lediglich mit WLAN, man kann also nicht mitten in den sprichwörtlichen Pampas per 3G-Verbindung neuen Lesestoff besorgen.

Der einzige entscheidende Unterschied zwischen den beiden E-Readern liegt darin, dass der Tolino E-Books im EPUB-Format akzeptiert. Dadurch kann ein Tolino-Besitzer E-Books von unterschiedlichsten Quellen beziehen, die einem Kindle-Besitzer nicht zugänglich sind:

  • Zunächst kann man einen Tolino nicht nur mit seinem Thalia-Konto vernüpfen, sondern auch mit seinen Konti bei anderen grossen Buchhändlern im deutschsprachigen Raum (z.B. Weltbild, Hugendubel, buch.de oder buch.ch). Titel, die man dort erwirbt, werden dann automatisch auf den Tolino geladen. Dank dem im Tolino eingebauten Web-Browser kann man grundsätzlich auch bei diesen E-Book Stores direkt vom E-Reader aus einkaufen; weil die Shops oft nicht für Touchscreens optimiert sind ist der Einkauf über einen Computer allerdings komfortabler.
  • Sodann kann man E-Books auch bei seiner Quartierbuchhandlung erwerben, sofern diese einen entsprechenden Online-Shop betreibt. In meinem Fall gibt es bei der Buchhandlung Hirslanden leider kein solches Angebot, wohl aber bei der Buchhandlung am Hottingerplatz. Eine gute Adresse ist auch e-readers.ch, der gemeinsame E-Book Shop der unabhängigen Buchhandlungen in der Schweiz. Der Einkauf gestaltet sich hier ein bisschen umständlicher als bei den Buchhandelsketten, weil das E-Book nicht automatisch und drahtlos auf den Tolino geladen wird, sondern mit Adobe Digital Editions über ein USB-Kabel manuell vom Computer auf den E-Reader transferiert werden muss.
  • Teilweise kann man E-Books auch direkt beim Verlag beziehen (z.B. Reclam, S. Fischer, Rowohlt). Das freut zwar den Buchhändler um die Ecke nicht, dafür erhalten jene mehr Geld, welche letztlich die Produktion von Büchern finanzieren und deren Qualität sicherstellen sollen. Gerade kleine Verlage mit beschränkten Vertriebsmöglichkeiten können davon profitieren.
  • Auch auf Self-Publishing-Plattformen wie epubli oder neobooks (Übersicht) kann man E-Books im EPUB-Format erwerben. Hier gibt es Titel, die man anderswo nicht bekommt, und der Autor erhält mehr Geld pro verkauftes Buch. (Selbstverlegte E-Books gibt es natürlich auch für den Kindle: Titel aus dem Kindle Direct Publishing-Programm können genau gleich wie Verlagspublikationen bei Amazon erworben werden.)
  • Und schliesslich gibt es zahlreiche Websites, die kostenlose E-Books ohne Kopierschutz im EPUB-Format bereitstellen. Die populärste Quelle ist das Project Gutenberg mit fast 50’000 Werken, deren Copyright ausgelaufen ist. (Die meisten Titel bei Project Gutenberg werden allerdings inzwischen auch für den Kindle angeboten. Ausserdem lässt sich jeder EPUB-Titel ohne Kopierschutz mit einer Software wie z.B. Calibre auch ins Kindle-Format konvertieren.)

Fazit

Wer mit dem Tolino Vision ausschliesslich E-Books liest, die er bei Thalia kauft, hat ein weitgehend identisches Erlebnis wie ein Kindle-Nutzer: Das Sortiment und die Preise bei Thalia und Amazon mögen zwar variieren, aber letztlich bekommt man bei beiden Anbietern ein sehr überzeugendes Lesegerät und einen problemlosen Online-Einkauf. In diesem Fall ist die Frage natürlich berechtigt, ob es wirklich einen Unterschied macht, ob man seine E-Books bei Amazon oder bei Thalia bezieht – letztlich sind beides Grossunternehmen, die den unabhängigen Buchhandlungen und den Verlagen nichts schenken. Trotzdem denke ich, dass nur schon ein ernsthafter Konkurrent zu Amazon dem Büchermarkt gut tut. Zudem ist der Tolino vom Konzept her offen genug, dass man als bewusster Konsument sein Geld auch engagierten Buchhändlern oder ambitionierten Verlagen zuführen kann. Und das scheint mir auf lange Sicht entscheidend, wenn wir weiterhin ein kreative, vielfältige und freie Buchkultur haben wollen.

In E-Books veröffentlicht | Getaggt , , , , | Kommentieren

Website-Konzeption: Sitemaps entwerfen mit XMind

XMind ist eigentlich eine Mind Mapping Software (für Windows, Mac OS X und Linux). Allerdings kann man das Programm auch nutzen, um andere Diagrammtypen zu erstellen, insbesondere Organigramme oder – was visuell letztlich das Gleiche ist – Sitemaps. Wer also die Struktur einer neuen Website definieren muss, findet in XMind ein Tool, das elegant die Brücke schlägt zwischen Brainstorming und Detailkonzeption. Das obige Video zeigt anhand einer fiktiven Website, wie man dabei vorgeht.

In Konzeption & Visualisierung veröffentlicht | Getaggt , , , , , | Kommentieren

Quick Adsense: Google-Anzeigen auf einem WordPress Blog publizieren

Quick Adsense: Plug-in zur einfachen Schaltung von Google AdSense Anzeigenblöcken auf WordPress Blogs

Quick Adsense: Plug-in zur einfachen Schaltung von Google AdSense Anzeigenblöcken auf WordPress Blogs

Zugegeben: Der obige Screenshot wirkt optisch nicht sehr attraktiv. Er zeigt rund ein Viertel aller Einstellungen, die Sie im WordPress Plug-in Quick Adsense vornehmen können. Aber lassen Sie sich von der Optik nicht abschrecken: Dieses Plug-in erlaubt es Ihnen, mit minimalem Aufwand Google AdSense-Anzeigen auf Ihrem Blog zu schalten – und zwar ohne dass Sie sich mit HTML- und PHP-Code beschäftigen müssen.

Lesen Sie mehr »

In WordPress veröffentlicht | Kommentieren

Sequel Pro: MySQL Datenbank-Manager für Mac OS X

Sequel Pro: GUI für MySQL-Datenbanken unter Mac OS X

Sequel Pro: GUI für MySQL-Datenbanken unter Mac OS X

Um hie und da MySQL-Datenbanken zu programmieren und zu bewirtschaften ist phpMyAdmin ein bewährtes Werkzeug. Als web-basierte Lösung ist es betriebssystem-unabhängig, und oft muss es nicht einmal installiert werden, weil es bei vielen Webhosting-Angeboten zum Standard gehört. Allerdings ist ein solches Web-Interface weder die schnellste noch die komfortableste Lösung, um eine Datenbank zu verwalten. Die Alternative sind Desktop Clients, welche eine Windows- bzw. Mac-Oberfläche bieten und sich mit dem Datenbank-Server verbinden.

Lesen Sie mehr »

In Datenbanken, Mac OS X veröffentlicht | Getaggt , , , , , | Kommentieren

Enhanced Media Library: Medienverwaltung in WordPress optimieren

Enhanced Media Library: Erweiterte Filtermöglichkeiten in der WordPress Medienverwaltung

Enhanced Media Library: Erweiterte Filtermöglichkeiten in der WordPress Medienverwaltung

Die Medienverwaltung in WordPress ist – gelinde gesagt – rudimentär ausgestattet: Die Dateien, die man im WordPress-Backend hochlädt, landen alle in einem grossen Pool. Wohl kann man dort nach Stichworten in der Dateibeschreibung suchen, ansonsten bietet WordPress aber nur rudimentäre Filtermöglichkeiten. Auch Ordner gibt es nicht, um die Medienverwaltung zu strukturien.

Solange es nur um ein paar Dutzend Bilder geht ist das alles kein Problem. Wenn allerdings die Medienverwaltung (wie in meinem Fall) demnächst 1’000 Objekte umfasst, dann wünscht man sich dringend eine Möglichkeit, den Pool besser zu organisieren. Genau das bietet das Plug-in Enhanced Media Library.

Lesen Sie mehr »

In WordPress veröffentlicht | Getaggt , , , | Kommentieren
css.php