AutoIndex: Mehr als nur ein Verzeichnislister

Geschrieben von Steffen Schultz keine Kommentare
Kategorisiert in : Software Schlüsselwörter : OpenSource, PHP

Manchmal möchte man sich nicht die Mühe machen, zum Veröffentlichen einiger Dateien eine komplette Webseite anzulegen. Stattdessen gibt es die hochgelobten Wolkenspeicher, mit denen solche Aufgaben ein Kinderspiel sind. Mit Dropbox lassen sich so beispielsweise ganze Ordner mit einem Link freigeben und werden als fertige Verzeichnisauflistung im Browser dargestellt. Wer jedoch einen eigenen Webspace zur Verfügung hat, kann das Veröffentlichen natürlich auch auf die "altmodischere" Weise angehen. Hierzu bieten die gängigen Webserver in der Regel ein sogenanntes Directory-Listing an, sodass hochgeladene Dateien ebenfalls als fertige HTML-Seite im Browser dargestellt werden können. Diese Funktion ist aber nicht zwangsläufig bei jedem Hoster verfügbar. Zum Glück gibt es zahlreiche, teils bessere Nachbauten der Webserver-Listings.

Schon länger nicht mehr weiterentwickelt, aber immer noch ein geniales PHP-Script: AutoIndex.
Das Tool übernimmt in seinen Grundfunktionen die Verzeichnis-Auflistung des Webservers, ohne auf dessen Konfiguration angewiesen zu sein. Lediglich PHP-Unterstützung wird benötigt. Aber AutoIndex ist weit mehr als nur ein Verzeichnislister. Neben der Möglichkeit, MD5-Prüfsummen von Dateien zu berechnen und sogar ganze Ordner als Tar-Archiv herunterzuladen, bringt das Tool ein rudimentäres, aber funktionsfähiges Login-System mit sich, das ohne eine MySQL-Datenbank auskommt. Benutzer lassen sich in verschiedenen Levels anlegen, vom normalen Besucher bis hoch zum Administrator. AutoIndex lässt sich des Weiteren so einrichten, dass Dateien nur angemeldeten Benutzern zum Download angeboten werden. Weitere Extras sind einfache Verwaltungsfunktionen (Dateien löschen, umbenennen und Beschreibungen hinzufügen), ein HTTP-Uploader zum Hochladen neuer Dateien über den Browser oder sogar per Remote-Abfrage einer externen URL, FTP-Zugriff, eine Protokollauswertung (Zugriffs-Logs etc) sowie eine Konfigurationsseite, um benötigte oder nicht benötigte Funktionen des Scripts zu verwalten. Damit ist AutoIndex also nicht nur ein simpler Verzeichnislister, sondern auch ein Datei-Manager und hervorragend dazu geeignet, Dateien mit einer geschlossenen Benutzergruppe zu teilen. Ein Tool, das in dieser Form kein zweites Mal zu finden ist.

Leider wird AutoIndex schon seit 2007 nicht mehr weiterentwickelt, was früher oder später zu Fehlfunktionen führen kann, wenn bestimmte Funktionen mit der Zeit in neueren PHP-Versionen nicht mehr unterstützt werden. Ebenso könnten sich sicherheitstechnische Probleme ergeben, auch wenn eine Recherche bislang nur bereits korrigierte Fehler erbracht hat. Aber bislang funktioniert das Script noch reibungslos und ich kann es gern weiterempfehlen.
URL: http://autoindex.sourceforge.net

Von WordPress zu Dotclear - mal hypothetisch gesehen

Geschrieben von Steffen Schultz keine Kommentare
Kategorisiert in : Software Schlüsselwörter : Dotclear, MySQL, OpenSource, PHP, Weblog, WordPress

Es gibt mal wieder eine neue WordPress-Version, die natürlich noch toller, noch sicherer und noch moppeliger ist als ihre Vorgänger. Wem es ebenso wie mir Bauchweh bereitet, durch das neue, automatische Update-Feature fremden Menschen Zugriff auf den eigenen Webspace zu erlauben, kann entweder auf die eher umständliche Methode zurückgreifen, diese Updates auszuschalten oder wird vielleicht über einen Umstieg auf eine andere Blogsoftware nachdenken, zumal es noch genug andere Gründe gibt, diesem Web-2.0-Moloch den Rücken zu kehren. Vor allem für kleine Blogs gibt es genügend schlankere Alternativen mit ähnlichen Grundfunktionen, wie man an diesem Blog sieht, das auf der Software Dotclear basiert. Also stelle ich mir doch mal ganz hypothetisch die Frage, ob ich mein bestehendes WordPress-Blog auf Dotclear portieren könnte.

Die faule Ausrede: Nein, könnte ich nicht.
Aber wenn ich Zeit und viel Langeweile hätte, wäre ein Umzug durchaus möglich. Es ist aber zu bedenken, dass allein die Speicherung der Blogeinträge und Seiten bei Dotclear etwas anders funktioniert als bei WordPress. Während WordPress offenbar alle Einträge ohne HTML-Zeilenumbrüche in der Datenbank ablegt und diese erst beim Parsen ins Design einfügt, speichert Dotclear schon beim Erstellen eines Beitrags sämtliche Textformatierungen in der Datenbank. Das führt dann unter Umständen dazu, dass nach dem Importieren eines WordPress-Backups erst mal sämtliche Zeilenumbrüche und Absätze kaputt sind. Hier ist dann entweder sehr viel Handarbeit gefragt oder man macht sich die Mühe, schon in den MySQL-Tabellen oder, falls das alternative Import-Plugin für WordPress-Daten verwendet wird, in der XML-Datei die Zeilenumbrüche entsprechend als XHTML umzuwandeln. (Edit: Es gibt offenbar einen Inhaltsfilter beim Wordpress-Import, dessen Zuverlässigkeit habe ich jedoch noch nicht getestet.) Auch die Organisation von Kategorien ist bei Dotclear anders; so ist standardmäßig nur eine Kategorie pro Beitrag erlaubt und man muss stattdessen mit Tags arbeiten, um einen Beitrag unter mehreren Stichworten abzulegen. Ein weiteres Problem sind Blog-interne Links, die sich bei einem Umzug auch ändern können. Wohl dem, der sich für solche Probleme mittels einer .htaccess-Datei weitgehend Abhilfe schaffen kann. Alles in allem ist also sehr viel Nacharbeit erforderlich, damit nach dem Umzug alle bisherigen Einträge wieder korrekt angezeigt werden.
Bequemer dürfte es sein, das alte Blog bestehen zu lassen, ohne dabei aber WordPress als Software-Leiche installiert zu haben. Für diesen Fall gibt es das Kommandozeilen-Werkzeug "Wget", welches das Herunterladen kompletter Webseiten erlaubt, um sie lokal als statische HTML-Seiten zu speichern. Auf diese Weise lässt sich ein komplettes Blog für die Ewigkeit archivieren, ohne dabei auf WordPress angewiesen zu sein. Wie genau dies funktioniert, soll an anderer Stelle beschrieben werden, sofern ich mir die Mühe eines Umzugs tatsächlich machen werde.

Nächstes Problem: Plugins!
Mit 277 verfügbaren Plugins (Stand 26.10.2013) ist die Auswahl bei Dotclear eher übersichtlich. Schaue ich aber mal, welche meiner installierten WordPress-Plugins für Dotclear relevant und verfügbar sind bzw. durch andere Methoden ersetzt werden können.

  • 2 Click Social Media Buttons:
    Dieses Plugin ist nicht für Dotclear verfügbar, man müsste zunächst also zu Lasten des Datenschutzes auf normale Social-Media-Buttons zurückgreifen, sich selbst ein solches Plugin schreiben oder seinen treuen Lesern empfehlen, die Verlinkung von Blogeinträgen doch selbst zu übernehmen, was bei näherer Betrachtung gar nicht so schwer ist. ;)
  • Admin Renamer Extended, Umbenennung des Admin-Accounts in WordPress:
    Ist für Dotclear nicht relevant, da sich der Admin-Benutzername jederzeit ändern lässt bzw. schon bei der Ersteinrichtung keinen Standardwert bekommt.
  • Anti-Spam-Plugins:
    Dotclear ist mit einem Akismet-Plugin sowie diversen Blacklist-Plugins ausgestattet, hier ist die Umstellung also kein Problem. Leider gibt es kein Datenschutz-konformes Anti-Spam-Plugin wie etwa "Antispam Bee".
  • Intypo, korrekte Umwandlung typografischer Zeichen:
    Tatsächlich gibt es auch für Dotclear ein ähnliches Plugin, welches allerdings auf französische Benutzer zugeschnitten ist. Da Dotclear aber die Einträge als reines XHTML speichern kann, lassen sich beispielsweise korrekte Anführungszeichen auch von Hand setzen.
  • Statistik-Plugins:
    Gibt es derzeit nur als Google- oder Piwik-Anbindung, jedoch nichts Übersichtliches, was nur die wichtigsten Dinge über die Besucher des Blogs verrät. Statistik-Freaks und Suchmaschinen-Manipulierer greifen aber wahrscheinlich ohnehin auf ganz andere Kaliber zurück.
  • URL Insert, stellt die Blog-URL als Shortcode bereit:
    Ist in Dotclear nicht notwendig, sofern man nicht mit anderen URL's als in der Form index.php/Beitrag arbeitet. Blog-interne Links lassen sich also auch als relative Pfadangabe setzen und man muss nicht jedes Mal die komplette Beitrags-URL angeben.
  • WPaudio:
    Dieses Plugin stellt einen Audio-Player zur Verfügung, der die Dateien mittels einer gewöhnlichen Verlinkung abspielen kann und damit für Screen-Reader-Nutzer besser zu bedienen ist. Etwas Ähnliches gibt es abgesehen vom integrierten Flash-Player für Dotclear nicht, doch WPaudio lässt sich relativ einfach auch außerhalb von WordPress betreiben.
  • Veröffentlichen bei Twitter:
    Da die verfügbaren Dotclear-Plugins reichlich alt aussehen und mit den neuesten Änderungen in der Twitter-API wahrscheinlich nicht funktionieren dürften, habe ich mir für die Twitter-Anbindung auch schon für dieses Blog ein externes Script gebastelt, welches den RSS-Feed des Blogs ausliest und an Twitter sendet. Trägt man dieses Script als Dienst in das in Dotclear integrierte Ping-Plugin ein, lässt sich schon beim Veröffentlichen eines neuen Beitrags ein Tweet absetzen. Mehr dazu in einem späteren Beitrag.

Es sieht also gar nicht so übel aus, was die Plugins angeht. Auch sonst lässt sich die Funktionalität von WordPress durchaus ersetzen. Nicht alles ist so komfortabel wie bei WordPress, aber zu Gunsten von mehr (relativer) Sicherheit, eines weniger zugemüllten Webspaces und weniger Funktionen, auf die man sowieso verzichten könnte, würde sich ein Umzug theoretisch lohnen. Jedoch würde ich die alten Inhalte niemals importieren, sondern sie als statisches HTML-Archiv belassen und stattdessen das Blog einem echten Relaunch unterziehen. Das alte Blog wäre dann wie ein Foto-Album, das man sich jederzeit anschauen kann und auch für die Suchmaschinen so bleibt, wie es bis zuletzt war.
Aber... ist ja alles erst mal nur hypothetisch gedacht. :)

Gespenstische Blogsoftware

Geschrieben von Steffen Schultz keine Kommentare
Kategorisiert in : Software Schlüsselwörter : Blogging, Javascript, Node.js, OpenSource

Nein, Geistergeschichten sind natürlich woanders besser aufgehoben, auch wenn in 2 Wochen Halloween gefeiert wird. Außer den Namen und einem unerklärlichen Hype in der Bloggergemeinde hat die neue Blogging-Software Ghost nämlich nichts Gespenstisches an sich. Das über die Crowdfounding-Plattform Kickstarter finanzierte Projekt setzt es sich zum Ziel, den Fokus beim Veröffentlichen von Inhalten mehr auf eben diese Inhalte zu legen und nicht darauf, möglichst komplexe Webseiten zu erstellen.

Ich war mal neugierig und habe mir die derzeit nicht eben als alltäglich zu bezeichnende Installation angetan, jedenfalls wenn man bisher nur mit PHP-basierten Anwendungen zu tun hatte. Ghost hingegen basiert auf Node.js, einer Javascript-Plattform, die für die gängigsten Betriebssysteme heruntergeladen und installiert werden kann. Der Windows-Installer fügt Node.js sowie die Paketverwaltung NPM bequemerweise gleich den Umgebungsvariablen hinzu, sodass der Aufruf von jedem beliebigen Ort der Festplatte erfolgen kann. Abschließend wird im Startmenü der Punkt "Node.js command prompt" ausgewählt.

Your environment has been set up for using Node.js 0.10.20 (x64) and npm.


Hat man diese erste Hürde genommen, ist die Installation von Ghost eigentlich gar nicht mehr so schwer. Nachdem das Zip-Archiv heruntergeladen und entpackt wurde, muss zunächst per Kommandozeile in das Verzeichnis gewechselt werden, in welchem Ghost entpackt wurde. Nun beginnt die eigentliche Installation:
npm install --production

Es werden nun automatisch alle benötigten Zusatzpakete heruntergeladen, was je nach System und Internetverbindung einen Moment dauern kann. Wurde alles ohne Fehlermeldung abgeschlossen, wird Ghost mit folgendem Befehl gestartet:
npm start
> ghost@0.3.2 start C:\Users\Steffen\Downloads\ghost
> node index

Ghost is running...
Listening on 127.0.0.1:2368
Url configured as: http://my-ghost-blog.com
Ctrl+C to shut down


Ghost sollte jetzt unter der Adresse http://localhost:2368 im Browser erreichbar sein. Unter der Adresse http://localhost:2368/ghost/ kann man sich als erster Nutzer registrieren, der dann auch als Administrator des Blogs eingerichtet wird. Mit dem ersten Starten von Ghost wird auch die Datei config.js im Ghost-Hauptverzeichnis angelegt, in welcher diverse Einstellungen wie beispielsweise die Blog-URL und die E-Mail-Konfiguration vorgenommen werden können.
Unter Linux scheint die Installation noch etwas schwieriger zu sein, ein Test auf meinem Raspberry Pi endete mit einer seitenlangen NPM-Debug-Datei und obskuren Fehlermeldungen, deren Ursache ich bisher noch nicht nachgehen konnte.

Aber was taugt nun diese neue Blogsoftware, die auf Kickstarter binnen 48 Stunden mehr als 100000 Dollar zugesagt bekam?
Der Funktionsumfang ist verglichen mit ausgewachsenen Blogsystemen noch stark eingeschränkt, was allerdings auch die Absicht der Entwickler sein dürfte. Neue Blogbeiträge mittels Textile-Auszeichnungssprache verfassen und bearbeiten, dazu eine kleine Einstellungsseite, viel mehr kann Ghost noch nicht. Auch ist die Software derzeit nur in englischer Sprache erhältlich, was sich laut Feature-Liste aber ändern soll. Welche sonstigen Funktionen in Zukunft umgesetzt werden, bleibt abzuwarten. Revolutionär ist neben der gepriesenen Einfachheit des Systems wohl derzeit nur die Installation, die für die meisten Benutzer alles andere als alltäglich ist. Vor allem auf einfachen Webspace-Paketen, die keinen Shellzugriff anbieten, dürfte sich Ghost vorerst noch nicht betreiben lassen. Jedoch planen die Entwickler für die nahe Zukunft eine Hosting-Plattform ähnlich wie Wordpress.com, auf der man sich für ein Ghost-Blog registrieren kann, wenn man die Software selbst nicht hosten möchte. Alles in allem aber ein Projekt, das man im Auge behalten sollte.

Die Zugänglichkeit von Ghost für Screen-Reader-Nutzer ist auf den ersten Blick übrigens relativ gut, an manchen Stellen fehlen lediglich korrekte Beschriftungen für Formularfelder.

Audiodateien mit SndUp veröffentlichen

Geschrieben von Steffen Schultz keine Kommentare
Kategorisiert in : Software, Code, Webdienste Schlüsselwörter : Bash, Linux, OpenSource, Shell, Twitter, Windows

Der Dienst SndUp erlaubt es, Audiodateien über ein sehr einfaches Web-Interface hochzuladen, um sie in sozialen Netzwerken oder überall dort zu verbreiten, wo das temporäre Hochladen von Audiodateien gar nicht oder nur eingeschränkt möglich ist. Neben dem Web-Interface sind jedoch auch Desktop-Anwendungen für die verschiedensten Betriebssysteme geplant. Schon jetzt bietet SndUp auch eine API an, um Dateien aus eigenen Desktop- oder Web-Anwendungen heraus hochzuladen.

Für Windows-Anwender hat der Sprachausgaben-basierte Twitter-Client The Qube eine direkte SndUp-Anbindung integriert, was neben dem Hochladen von Audiodateien auch das direkte Abspielen im Client erlaubt, ohne die Dateien vorher herunterladen zu müssen. Neben SndUp unterstützt die Abspielfunktion auch alle weiteren direkten Audiolinks, sofern die Tweets mit dem Hashtag #Audio versehen sind.
Für Freunde der Linux-Kommandozeile erschien kürzlich das in Bash geschriebene Script SndUp Linux, welches ohne jegliche Optionen einen simplen Dialog anbietet, um eine Datei zu SndUp hochzuladen. Alternativ kann einfach ein Dateipfad an das Script übergeben werden, was sich damit auch zur Einbindung in automatisierte Prozesse eignen dürfte. Nach dem Hochladen wird, ähnlich wie bei The Qube, der Link zur Audiodatei angezeigt und kann bequem weiterverarbeitet werden.

Natürlich kann SndUp kaum mit den großen Audiodiensten wie zum Beispiel Audioboo oder Soundcloud mithalten, die dem Nutzer jeden noch so kleinen Komfort beim Veröffentlichen bieten. Doch gerade für Situationen, in denen man nicht ein umfangreiches Formular ausfüllen oder etliche Knöpfe bedienen möchte, ist SndUp eine durchaus gelungene Alternative.

Taktiler Bildbetrachter

Geschrieben von Steffen Schultz keine Kommentare
Kategorisiert in : Software, Webdienste Schlüsselwörter : Braille, OpenSource

Mit der Brailleschrift, im Volksmund auch als "Blindenschrift" bezeichnet, lässt sich längst nicht nur Text in 6 bzw. 8 Punkten pro Zeichen darstellen. Noch gut kann ich mich erinnern, dass wir in der Schule langweilige Pausen oder Freistunden dazu nutzten, auf dem teuren Punktschriftpapier mit Hilfe der Schreibmaschinen kleine, zweidimensionale Abbildungen von Tannenbäumen oder ähnlich simplen Figuren darzustellen. Je nach Geschick und Vorstellungskraft entstanden auf diese Weise kleine Kunstwerke. Im Vergleich zu echten Reliefs waren der Fantasie natürlich Grenzen gesetzt, Spaß machte es trotzdem.

Der Programmierer Mario Lang hat diese Idee offenbar wieder aufgegriffen und sie ins Computerzeitalter transferiert. Sein Projekt "IMG2BRL" erlaubt es, Grafikdateien so umzuwandeln, dass sie mit Hilfe von Unicode-Zeichen ein ertastbares Braille-Muster ergeben. Ist am Computer eine Braillezeile oder ein Brailledrucker angeschlossen, lassen sich einfache Bilder auf diese Weise eingeschränkt mit den Fingern ertasten. Über eine Webseite wird eine Bilddatei hochgeladen, gegebenenfalls mit Optionen zur Optimierung des Bildes versehen und danach in tastbare Zeichen umgewandelt. Sehr gut funktioniert es allerdings wirklich nur bei kleinen Bildern wie etwa Icons. Komplexere Formen lassen sich, wenn überhaupt, nur schwer mit einfachen Braillezeilen erkunden. Für diesen Fall ist ein Brailledrucker dann die bessere Wahl.

Homepage: http://img2brl.delysid.org
Quellcode: https://github.com/mlang/img2brl

Artikel-Feed (RSS) dieser Tag