Blog

FlatPress: Blogsystem ohne Datenbank

Wer ein Blog betreiben oder als Webdesigner eines für einen Kunden einrichten möchte, aber keine Datenbank zur Verfügung hat, kann auf ein Blogsystem ausweichen, das die Daten in Textdateien, sogenannte »flat files« speichert. Eins dieser Systeme ist FlatPress. Wie der Name schon andeutet, orientiert es sich an WordPress, ist damit aber nicht kompatibel, das heißt: WordPress-Plugins lassen sich in FlatPress nicht nutzen.

Und es ist wesentlich weniger leistungsfähig. Es ist kein Mehrbenutzer-System, es bietet keine Zeitsteuerung, keine Versionierung und meines Wissens auch keine XML-RPC-Schnittstelle zum Fernpublizieren. Aber in vielen Fällen braucht man das alles auch gar nicht.

FlatPress verwendet die Template-Engine Smarty. Es lassen sich recht leicht eigene Themes basteln, falls man keins der angebotenen verwenden möchte, sondern etwas Individuelles braucht. Auch ein RSS- und Atom-Feed lässt sich erstellen. In die Seitenleiste kann man Widgets platzieren, zum Beispiel ein Suchfeld, den zu abonnierenden Newsfeed, eine Auflistung der neuesten Artikel und ein nach Monaten sortiertes Archiv (diese Dinge sind als Plugins recht einfach zuschaltbar).

Damit stillt FlatPress die Grundbedürfnisse eines Bloggers. Natürlich lassen sich auch statische Seiten anlegen, sodass man es auch als kleines CMS verwenden kann.

Und die Datensicherung und -wiederherstellung ist einfach: Dateien (insbesondere den Ordner /fp-content/content) per FTP auf den lokalen PC kopieren und im Bedarfsfall wieder zurück auf den Webserver. Datenbank-Sicherungen (Dumps) entfallen ja.

Fazit:
FlatPress ist ein schlankes und schnelles Blogsystem, das sich anbietet, wenn keine Datenbank zur Verfügung steht, man als Einzelner bloggt und nur Basis-Funktionalität benötigt.

avast!-Sandbox

Ich hatte mehrmals das seltsame Problem, dass sich auf meinen Windows®-Computern einige Programme nicht als geplanter Task starten ließen oder Programmeinstellungen nicht gespeichert wurden. Es dauerte einige Zeit, bis ich dahinter kam, was los war:

Es lag an den installierten Internet-Sicherheits-Paketen. Auf dem einen Computer habe ich avast!, auf dem anderen GData (das unter anderem die avast!-Engine verwendet). Ich hatte nicht bemerkt, dass sie die Ausführung mancher Programme nur in der Sandbox vornahmen. Nach Löschung der Sandbox-Ordner unter C:\ und Abstellung der Sandbox-Funktionalität lief wieder alles normal.

Und dabei waren die »verdächtigen« Programme ganz normale, gekaufte Anwendungsprogramme aus offiziellen Quellen. Manchmal ist Sicherheitssoftware eben überpingelig.

Schlanke Alternative zu Mozilla Thunderbird

Mir gefällt der E-Mail-Client Mozilla Thunderbird. Es gibt ihn für die drei gängigen Betriebssysteme. Man hat ein Adressbuch gleich mit dabei und kann den Kalender/PIM Lightning als Erweiterung dazu installieren. Aber Thunderbird ist nicht gerade ein Leichtgewicht.

Ein schlankeres Programm ist zum Beispiel Sylpheed. Ein Adressbuch ist auch hier mit dabei. Prinzipiell lassen sich Plug-ins installieren; leider gibt es nur ein einziges offizielles. Es kann Anhänge aus empfangenen E-Mails entfernen, um Platz zu sparen. In der Windows-Version ist es schon gebrauchsfertig installiert.

concrete5: Upgrade von 5.4.x auf 5.5.x

Das CMS concrete5 wurde ja vor einigen Monaten (Dezember 2011) komplett runderneuert. Die 5.5er-Versionen unterscheiden sich nicht nur in Aussehen und Bedienung des Dashboards von den 5.4ern und einem neuen Standard-Theme mit Gewichtung auf der Blogfunktion. Nein, es wurden auch Änderungen an einigen Datenbank-Tabellen vorgenommen.

Und das kann bei manchen Webhostern bzw. in bestimmten Server­kon­fi­gu­ra­tio­nen zu Problemen beim Upgrade führen. Im schlimmsten Fall ist die Website nach dem Upgrade nicht mehr erreichbar und spuckt Fehler­meld­un­gen aus. Man kann zwar die Datenbank von Hand nachkonfigurieren, aber das ist sehr aufwändig. Und nach meinen Erfahrungen treten immer wieder neue Fehler auf. Bei kleineren Websites geht da eine komplette Neuinstallation schneller von der Hand.

Auf jeden Fall sollten kurz vor dem Upgrade Datensicherungen durchgeführt werden! Speichern Sie den Datenbank-Dump (Dashboard > Verwaltung > System & Wartung > Sicherung & Wiederherstellung) sowohl auf dem Werbserver als auch auf Ihrem PC ab. Und vorsichtshalber kopieren Sie auch alle Dateien per FTP auf Ihren lokalen PC.

Wie gesagt: Im Regelfall wird wohl alles glatt gehen. Aber wenn nicht, ist es gut, wenn man Backups zur Hand hat und erst mal schnell die Website wieder in den vorherigen Zustand zurück versetzen kann.

concrete5: Date Navigation eindeutschen

Die Datumsnavigation (Date Navigation) in concrete5 kann zum Beispiel die Artikelüberschriften eines Blogbereiches nach Erscheinungsdatum sortiert ausgeben. Das Problem ist nur, dass PHP die als Wort ausgeschriebenen Zeit- und Datumsangaben nur in englischer Sprache kennt. Man kann das normalerweise mit Hilfe eines Arrays, der den englischen Monatsnamen die deutschen zuordnet, zwar übersetzt ausgeben lassen, aber im Falle dieses DateNav-Blockes habe ich das nicht hinbekommen.

Und in der deutschen Übersetzungsdatei (/languages/de_DE/LC_MESSAGES/messages.po), die man bekommt, wenn man die deutsche Entwicklerversion von c5 über Github herunter lädt, sind weder Monatsnamen noch Wochentage eingepflegt.

Man kann aber selber eine Sprachdatei anfertigen. Man erstellt sich eine PHP-Datei, die einfach nur den folgenden Inhalt hat:

<?php
print t('Monday');
print t('Tuesday');
print t('Wednesday');
print t('Thursday');
print t('Friday');
print t('Saturday');
print t('Sunday');

print t('January');
print t('February');
print t('March');
print t('April');
print t('May');
print t('June');
print t('July');
print t('August');
print t('September');
print t('October');
print t('November');
print t('December');
?>

Diese Datei speichert man zum Beispiel als datumsangaben_de.php auf dem heimischen Rechner. Dann legt man mit Poedit (kostenlos für Windows®, Mac OS X® und Linux erhältlich) einen neuen Katalog an und liest die genannte Datei ein (Menü > Katalog > Aus Quelltexten aktualisieren). Die englischen Wörter kann man nun übersetzen. Anschließend speichert man die Übersetzung zum Beispiel als datumsangaben_de.po ab. Dabei wird auch automatisch eine bis auf die Dateiendung gleichnamige, aber kompilierte Datei erzeugt, also in unserem Fall datumsangaben_de.mo. Diese lädt man in das Sprachverzeichnis von concrete5 hoch, genauer gesagt in /languages/de_DE/LC_MESSAGES/datumsangaben_de.mo.

Beim nächsten Seitenaufruf, zumindest nach einem Leeren des Cache in concrete5 und im Webbrowser, werden nun die deutschen Da­tums­be­zeich­nun­gen angezeigt.

Und hier sind die fertigen Dateien (Zip, 2,2 KiB).


Danke für den Tipp an Tomislav Huic im concrete5-Forum.

concrete5: Duplicate Content trotz .htaccess

Ich hatte kürzlich das Problem, dass eine mit dem CMS concrete5 erstellte Website sowohl ohne das www. davor als auch mit angezeigt wurde. Suchmaschinen können das als unerwünschten doppelten Inhalt werten.

Ich hatte im Dashboard die »Pretty URLs« eingeschaltet und zusätzlich in der Datei .htaccess einen permanenten Redirect eingerichtet, aber seltsamer Weise ohne Wirkung (»domain« muss im Beispiel unten natürlich durch den richtigen Domainnamen ersetzt werden):

# --- Doppelten Content vermeiden ---
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain.de\.de$
RewriteRule ^(.*)$ http://www.domain.de/$1 [R=permanent]

Normalerweise führt das dazu, dass immer auf die Subdomain www. umgeleitet wird. Dass sie eigentlich unnützer Ballast ist, soll an dieser Stelle nicht diskutiert werden. Es hat sich so eingebürgert, und mancher Benutzer ist vermutlich befremdet, wenn es fehlt. Doch wer will, kann ja genau umgekehrt vorgehen, also von mit www. auf ohne umleiten.

Jedenfalls, wie gesagt, nützte das nichts, was ich sehr seltsam finde. (Ich hatte allerdings schon mehrmals das Problem, dass unter concrete5 bestimmte, normale Angaben in der .htaccess in bestimmten Serverumgebungen nicht funktionieren oder zu Fehlern führen.) Nach langer Suche fand ich endlich die Lösung. Eine Zeile zusätzlichen Quelltextes in der Datei /config/site.php brachte den gewünschten Erfolg:

define('BASE_URL', 'http://www.domain.de');

Der Quelltext der /config/site.php sollte übrigens kein schließendes ?> enthalten und keine Leerzeilen am Ende, weil das auch wieder in bestimmten Umgebungen zu Fehlern führen kann.

HeidiSQL 7.0

Ich habe es erst heute bemerkt: Bereits seit dem 12. Februar gibt es Ansgar Beckers HeidiSQL in der Version 7.0. Die Neuerungen und Bugfixes kann man hier ablesen: HeidiSQL 7.0 released. Es handelt sich um einen kostenlosen Editor für MySQL®-Datenbanken. Natürlich wird auch der Open-Source-Ableger MariaDB unterstützt.

Kommerzielle Tools ähnlicher Güteklasse sind richtig teuer. Wer also HeidiSQL regelmäßig und vor allem beruflich nutzt, sollte die Weiterentwicklung durch eine Spende unterstützen.

Silbentrennung auf Webseiten

Silbentrennung im Textverarbeitungsprogramm geht automatisch und ist auch von Hand steuerbar, wenn die Automatik mal Fehler macht.

Silbentrennung auf Webseiten ist eine andere Sache. In CSS 2 war es nicht vorgesehen. Natürlich konnte man von Hand einen harten Trennstrich setzen an den Stellen, wo man es als erforderlich erfand. Das passte dann mit den Einstellungen des Webdesigners. Aber wenn der Seitenbesucher einen anderen Browser benutzte, vielleicht auch noch unter einem anderen Betriebssystem und im schlimmsten Fall mit individuell eingestellter Schriftgröße, dann waren die Trennstriche oft nicht am Ende einer Zeile, sondern irgendwo mittendrin. Sehr hässlich.

Man konnte sich in HTML mit einem soft hyphen (&shy;) behelfen und sogar ein Online-Tool zu Hilfe nehmen: hypho-o. Schön und gut für einen Webdesigner, aber unzumutbar für einen Kunden, der jedesmal seinen geänderten Text durch dieses Werkzeug jagen und dann per copy-and-paste in den Text-Editor einfügen müsste.

Mit CSS 3 leuchtet ein Hoffnungsschimmer am Horizont auf: es ermöglicht Silbentrennung oder hyphenation, wie es im Englischen heißt. Die Browserunterstützung ist allerdings noch nicht sehr gut, und ohne Browser-Präfixe kommt man momentan noch nicht aus. Und so lautet der Code:

p {
-moz-hyphens: auto;
-o-hyphens: auto;
-webkit-hyphens: auto;
-ms-hyphens: auto;
hyphens: auto;
}

Ich habe es in verschiedenen Browsern unter Windows und Linux getestet. Unter Linux habe ich keinen Browser gefunden, unter dem es funktioniert hat. Unter Windows klappt es besser:

Firefox 10.0.2: ja
Seamonkey 2.7: ja
Safari 5.1.2: ja

Chrome 16.0.912.63: nein
Opera 11.61: nein
Internet Explorer 8 und 9: wahrscheinlich nicht; ist mir momentan aber auch ziemlich egal.

Reduzierte Computerbücher versandkostenfrei

Terrashop ballert momentan seine Lager-Überbestände raus. Das Versandhaus führt hauptsächlich preisreduzierte Restauflagen, Remittenden und Mängel­exem­plare. Wobei die Mängelexemplare nach meinen Erfahrungen gar keine gravierenden Mängel aufweisen. Nie haben Seiten gefehlt oder so was.

Jedenfalls kann man bis zum 27. Februar 2012 ohne Mindestbestellwert zum Beispiel Computerbücher versandkostenfrei bestellen. Ich habe bei Terrashop schon oft gut abgestaubt: Bücher zu den Themen Programmierung, Daten­banken, Webdesign, Marketing oder Fotografie.

Evernote: Ihr virtuelles Gedächtnis

Ein Freund fragte mich einst, ob ich ein Programm kenne, das Dokumente unterschiedlichster Art sammeln und wiederauffindbar machen kann. Also Fotos, Texte, Tabellen und was man so hat. Das war vor Jahren, und die Lösungen, die ich fand, waren alle nicht so rundum zufriedenstellend. Aber jetzt bin ich auf etwas Interessantes gestoßen, es nennt sich Evernote.

Das Programm lässt sich auf verschiedenen Desktop- und Mobil-Betriebssystemen installieren. Man erstellt außerdem ein kostenloses Benutzerkonto und hat dann ein monatliches Kontingent auf dem Evernote-Server von 60 MiB. Das ist nicht viel, reicht aber für für Office-Dokumente, Notizen und ein paar Bilder oder Skizzen, die man vielleicht unterwegs braucht.

Und hierin sehe ich auch den größten Vorteil: Die Dateien werden auf allen Geräten, mit denen man eine Verbindung aufbaut, synchronisiert. Wenn man also geschäftlich unterwegs ist, hat man seine Präsentationen oder Schriftstücke auf allen Geräten verfügbar, vom Notebook bis zum Mobiltelefon. Man kann Interessantes unterwegs eingeben, sagen wir mal Gesprächsnotizen oder Ideen, und hat sie später im Büro direkt auf dem PC griffbereit.

In dem Programm lässt sich alles verschlagworten und es gibt eine Suchfunktion mit Filtermöglichkeiten. So findet man Dinge schnell wieder. Für die aktuellen Browser gibt es ein Add-on, das es erlaubt, Links zu Webseiten direkt in Evernote zu speichern.

Und wenn der Online-Speicherplatz irgendwann zu knapp wird, kann man vom kostenlosen Konto zu einem kostenpflichtigen umsteigen.

Insgesamt eine runde Sache – wenn man so etwas braucht. Natürlich muss man zusehen, dass man nichts Unnützes sammelt, dann würde aus dem Nutzen sicherlich schnell ein Nachteil in Form von Chaos werden.