flughexe.ch – Finde den günstigsten Flug

Dies ist ein von trigami vermittelter bezahlter Eintrag Hinweis: Dies ist ein von trigami vermittelter bezahlter Eintrag.

Einen Flug hexen?

FlughexeEigentlich ist das Fliegen ja kein Spass. Man sitzt da, dicht eingezwängt zwischen labernden oder schnarchenden Nachbarn, deren Menüplan an ihrer Transpiration erkennbar ist, das Handgepäck sollte streichholzschachtelgrösse nicht überschreiten, da es sonst nimmer in die Ablage passt, zum Essen gibt es feuchten Karton mit Sägespänen und der dringend benötigte Alkohol wird einem vor der Nase hin und her getragen. Ganz zu schweigen von den Erstickungsanfällen, weil das Rauchen verboten ist wenn man nur schon an einen Flughafen denkt, die Flieger immer Verspätung haben oder gar nicht mehr fliegen (wie schon mit EasyJet erlebt) und der Kaffee den Namen nicht verdient hat. (BTW: Auf meinen ersten Flügen habe ich noch geraucht, jaaa, im Flugzeug drin! Und Essen gabs auch, mit Wein!!! Damals war die Welt noch eine Scheibe, aber durchaus in Ordnung 🙂 ).

Nundenn, Laufen ist leider immer noch mühsamer, und so will ich wenigstens so wenig wie möglich für diese Tortur bezahlen. Da gibts nun verschiedene Möglichkeiten:

  • Ich gehe ins Reisebüro. Nachteil: ich bezahle unter Umständen zusätzlich die Beratung und sie haben Öffnungszeiten.
  • Ich checke alle Fluggesellschaften durch die es gibt. Nachteil: Das gibt mächtig zu tun.
  • Ich bediene mich eines Preisvergleichers. Und genau hier kommt die Flughexe ins Spiel.

Oberfläche und Bedienung

Die Website http://www.flughexe.ch kommt im modernen Web-2.0 Design daher: Klar, mit knalligen Farben (nur die Web 2.0 typischen Gradienten fehlen) und mit runden Ecken. Mir gefällt dieses Schnörkellose sehr. Die zentrale Sache der Website (das Suchen nach Flügen) ist zentral in der Mitte. Sehr diskret ist etwas Werbung auf der Seite verteilt.

Flughexe-Screenshot

Die Bedienung ist sehr einfach: Eingeben was man wünscht, Formular abschicken, kurz warten und schwupps erscheinen die Resultate, aufsteigend nach Preisen geordnet, mit Zwischenstopps, etc. Die Suche geht erfreulich schnell vonstatten! Einige andere Flugsuchen – die sich mitunter nur mit einer Airline beschäftigen müssen – scheinen zuerst jemanden aufs Rollfeld zum Nachfragen zu schicken, der dann die Flüge von Hand eintippt. Bei den Resultaten gibt es ein Link zu den jeweiligen Partnern, von wo aus dann der Flug gebucht werden kann.

Es ist möglich, sich einen Account zu erstellen. Dieser bietet aber keine weitere Vorteile als einen Newsletter. Naja, ich bekomm ja so extrem wenig Mails…

Technik

Hier der gefürchtete Teil der Rezension 🙂 . Natürlich habe ich wieder was herumzumaulen.

Zum Einen wieder mal das Logo oben links. An sich sollte es zurück auf die Homepage führen, das hat sich so eingebürgert. Flughexe gibt es nun in zwei Versionen: flughexe.ch mit Preisen in Schweizerfranken und flughexe.com in Euro. Ein Klick auf das Logo führt nun immer auf die Euroversion, was sehr verwirrend sein kann (ok, ist so beschriftet, aber trotzdem…).

Etwas hässlicher ist, dass man immer ein Rückflugdatum angeben muss, das hinter dem Abflugdatum liegt, auch wenn man nur den Hinflug anzeigen lassen will. Sonst wird man ziemlich bestimmt zurecht gewiesen, inklusive Ausrufezeichen!

Wenn man auf Google angewiesen ist, dann sollte man nett mit Google sein. Diese Seite bietet da noch einiges an Optimierungspotential:

  • Der Titel ist mit Schlüsselwörtern gefüllt. Das sieht beim Erstellen eines Lesezeichens hässlich aus und interessiert Google schon lange nimmer so.
  • Die Schlüsselwörter werden im keywords Metatag wiederholt. Ok, aber in description und abstract gehören sie nicht auch noch! Das kann ganz übel aussehen bei den Excerpts in den Suchresultaten. Wer klickt denn auf so einen Eintrag (so gefunden bei Google):
    Flughexe bei Google
  • Die Site hat 26 HTML Fehler. Beim CSS sind es nur 4 Ungereimtheiten. Das mag Google nicht und das ist auch nicht zukunftsgerichtet, wenn man an die mobilen Geräte denkt.
  • Weitere SEO-Aktivitäten (Social Bookmarking, Alexa-Ranking, …) wurden anscheinend nicht durchgeführt.

Offene Partnersache?

Es wäre interessant wenn irgendwo offen und transparent aufgeführt würde, welche Fluggesellschaften berücksichtigt werden. Ich habe diese Information nirgends auf der Seite auftreiben können.

Zum Buchen der Flüge scheint als einziger Partner LTURfly.com aufgeführt. Sind denn alle Flüge dort auch auffindbar? Was ist der Mehrwert der Flughexe (ausser dem schöneren Design)? Ganz unten ist auch noch ein Link auf Billig-Reise platziert. Diese Site bietet ebenfalls eine Suche nach Flügen aus der Schweiz an, allerdings viel weniger komfortabel als das Hexchen. Aber wie ist da der Zusammenhang? Das wirkt auf mich etwas undurchsichtig.

Verbesserungsvorschläge

Neben den Fehlern und den Unklarheiten hätte ich einen ganz klaren Wunsch: Ich will beispielsweise von der Schweiz aus nach Amsterdam. Jetzt muss ich alle Schweizerflughäfen durchprobieren, denn der Preisunterschied kann enorm sein! Wenn es nun auch am Zielort drei Flughäfen gibt und ich jeweils Zürich und Basel ausprobieren muss, dann ergibt das sechs Suchanfragen. Es wäre ein echter Mehrwert, wenn das irgendwie automatisiert werden könnte.

Vielleicht könnte man auch noch den Account ein bisschen aufpeppen und die schon gewählten Destinationen einfacher erreichbar machen oder so ähnlich. Das würde die Kunden auch mehr binden.

Fazit

Die Flughexe sucht günstige Flüge, und das macht sie gut. Die Seite gefällt und ist sehr benutzerfreundlich. Etwas Transparenz und ein paar Goodies würden sie noch mehr aus der Masse herausstechen lassen.

Wettbewerb für Blogger

MoneyProBlogger (eifrige Verfolger dieses Blogs wissen, dass der Autor dieses Blogs für mich eine Art Vorbild für gewisse Bloggingaspekte darstellt 😉 ) wird drei Jahre alt. Da er viel Googlesaft zu verschenken hat, hat er in einem Posting aufgerufen, Preise zu spenden, was viele auch getan haben. Und wie: über 50’000$..!

Ich hab auch gespendet: Ein Set bester Schweizer Schokolade. Bin mal gespannt ob mir das was bringt und ob der Preis überhaupt angenommen wurde 🙂 …

Auf jeden Fall werden die 50’000$ in den nächsten Tagen und Wochen verschenkt… Wer mitmachen möchte, kann auf der Website vorbeisehen oder den Feed abonnieren.

Gutscheine per Internet: Nützliches im Doppelpack

Dies ist ein von trigami vermittelter, bezahlter Eintrag Hinweis: Dies ist ein von trigami vermittelter, bezahlter Eintrag.

Die Idee…

Gift …ist genial und genial einfach! Gutscheine für die verschiedensten Dinge werden über das Web angeboten. Das Einkaufen als solches ist durch das Web schon sehr viel schuhsohlensparender geworden, da die physikalische Bewegung der Körpermasse von Ladenlokal zu Ladenlokal nicht mehr notwendig ist. Bei vouchernet.ch findet man nun über 70 Anbieter bei welchen Gutscheine käuflich erworben werden können auf einer Seite vereint.
Will man Gutscheine verschenken, so sollte dies wohlüberlegt sein: Zum Einen sollte es nicht als fehlenden Einsatz oder mangelnde Fantasie interpretiert werden können (auch wenn genau das der Grund für ein Gutscheinkauf war 🙂 ) und zum Anderen muss man sich bewusst sein, dass der monetäre Wert des Geschenks von der/dem Beschenkten direkt abgelesen werden kann. Andererseits gibt es Dinge wie ein Kinoeintritt oder ein Essen in einem schönen Restaurant die nur sehr schwer, mit viel Papier und eventuell unter Einwirkung von Zwang eingepackt werden können.

Das Angebot

Auswahl

Die Anbieter der Gutscheine sind sehr breit gestreut: Regionale Unternehmen wie zum Beispiel eine Waschanlage in Wohlen oder ein Chocolatier aus Cham/Zug, aber auch national bekannte und verbreitete Betriebe wie McDonalds oder der WWF, das Alpamare, das Technorama oder das Verkehrshaus bieten Gutscheine feil. Interessante Ideen wie ein schweizerischer Museumspass oder eine Minimal Techno/Minimal House DJane können den eher unkreativen Schenker inspirieren. Sollte man mal nicht beim Umziehen helfen wollen, so kann man immerhin Umzugskisten von Homegate verschenken…
Über 70 Unternehmen sind eine solide Basis, können aber regional natürlich nicht alles abdecken.

Gutscheinarten

Die meisten Gutscheine werden über die Website bestellt und finden den Weg per herkömmlicher Schneckenpost zu einer beliebigen Adresse. Der Versendezeitpunkt kann frei ausgewählt werden und streicht somit schon wieder eine Pendenz von der Liste des Schenkers.
Vouchernet.ch preist sich als e-mässigen-Last-Minute-Geschenke-Retter an. So richtig ist das aber noch nicht möglich, da nur 8 Anbieter Gutscheine per Email anbieten.
Einige Gutscheincodes können bei den Webshops der Anbieter verwendet werden, was natürlich extrem e-mässig-web2.0ig rüberkommt. Die überwiegende Mehrheit wird aber im entsprechenden Ladenlokal gegen weltlich Gut getauscht. Das macht sicher bei vielen Dingen auch Sinn, da ein BigMac per Post und ein Haarschnitt im Paket einfach nicht dasselbe sind wie wenn sie frisch vom Produzenten kommen…

Die Website

vouchernet.ch Screenshot

Navigation und Usability

Der ganze Webauftritt ist klar und strukturiert aufgebaut. Ein grosses *bravo* für den Verzicht auf unnötige Schnörkel und die klare Navigation. Das ganze Design vermittelt Seriosität und Klarheit. Auch der ungeübte Webeinkäufer wird sich bis zum Kauf des Gutscheines durchschlagen können. Eine schenkerfreundliche Suchfunktion (für wen, Kanton, Preisrahmen) ist eine grosse Hilfe für den noch nicht festgelegten Schenker. Einzig die Gutscheinsvoransicht beim Hoovern über den Gutscheintitel ist zwar schön und illustrativ, aber etwas versteckt, wenn auch in der Hilfe beschrieben (liest die jemand?).

Was mir dann eher schwer gefallen ist, ist die Registrierung. Man könne bei einem Wettbewerb mitmachen und erhalte Exklusivangebote. Wollen wir doch! Die Site will dann aber plötzlich frech viele Privatdaten von mir. Adresse, Geburtsdatum und woher man Vouchernet kennt sind Pflichtfelder. Sicher interessant für das Marketing, aber herauspressen aus dem Anwender wirkt eher unsympathisch (im Gegensatz zum Rest der Site und den Texten, die sehr sympathisch rüberkommen!). Dann akzeptierte er auch noch meine .info Emailadresse nicht. Hey, .info gibts schon seit 2001!.
Als ich endlich alle meine Reichtümer und einen Gegenwert für meine Informationspreisgabe (jaa, meine Info ist was wert, ich will was dafür!) einsammeln wollte, wurde mir eine Seite „Eigene Daten ändern“ präsentiert. Darauf sind zwei voreingestellte Passworteingabefelder mit ihrem Inhalt hinter den bekannten Sternchen versteckt. Allerdings waren die beiden Passwörter nicht gleich lang. Häh? Mit Click und Clack auch diese Hürde gemeistert und dann kommt heraus, dass der Wettbewerb abgeschlossen ist (obwohl mir noch viel Glück gewünscht wurde) und die Exklusivangebote „in Kürze“ aufgeschaltet werden. Naja, hmm, tja, nett ist das nicht.

Technisches

Technisch hat mich die Seite eher verwundert. Sie funktioniert einwandfrei, aber einige kleine Dinge sind etwas im Argen. Die Unternehmer sind in der Promotingphase für die Website und möchten eine grössere Bekanntheit erlangen. Dafür müssten sie aber auch etwas SEO (Suchmaschinenoptimierung) betreiben, damit sie der verzweifelte Möchtegernschenker auf dem allmächtgen Google auch findet. Fehlerhaftes HTML, nur zwei Keywords (eines davon noch falsch geschrieben), kein Favicon, keine robots.txt, etc sorgen halt nicht für Spitzenplätze. Bin sehr gespannt ob dieser Eintrag für das Wort „Gutschein“ noch vor vouchernet.ch in den Suchresultaten erscheint 😉 . Auf der positiven Seite ist ein Inserat bei Google mit den richtigen Keywords und ein del.icio.us Engagement zu verzeichnen. Auch der RSS-News-Stream funktioniert gut.

Für den Benutzer zeigen sich auch einige Probleme: Die Trennstrich in den Beschreibungstexten müssten entfernt werden, sonst erge- ben sich fremd- artige Gebilde bei einer and- eren Browser- breiten.

Kleinere Details wie ein „Click to activate and use this control“ (vom Flash) wenn man im MSIE über dem Logo verweilt, sind dann eher unwichtig (dochdoch, man kann Flash so einbetten dass dieser Hinweis nicht kommt). Interessant ist, dass Microsoft diese Meldung auf Grund eines verlorenen Rechtsstreites einfügen musste…

Ohne Hinweis:


Mit Hinweis (nur MSIE grösser gleich 6.0):

Testkauf

Der Testkauf war eigentlich direkt und einfach, bis ich gesehen habe, dass die Versandkosten für einen Gutschein für einen Kindereintritt ins Technorama (12 Franken) satte 4 Franken betragen. Hui, 4 Hämmer (??!!) das tut weh. Ist da noch der Druck dabei? Seit wann kostet eine A-Post-Marke 4 Franken? Nö, ich bezahle keine 33% Aufpreis.

Dafür wäre das Bezahlen einfach: Rechnung oder Postcard. Kreditkarte ist vorgesehen und wird bald integriert werden.

Wenn die Gutscheine wirklich so aussehen wie auf dem Preview, dann machen sie echt was her.
Gutschein fürs Technoarama

Bei einigen Gutscheinen sind allerdings die Texte etwas irritierend.
Beispielsweie:

Mit diesem Gutschein schenken Sie Vergnügen pur.

oder

Dieses Geschenk passt immer. Noch dazu hat es Format: praktisch, ultradünn, modern.

implizieren nicht gerade Bescheidenheit des Schenkers. Der Gutschein ist ja für den Beschenkten, und der schenkt nicht und soll selbst beurteilen, ob es immer passt.

Für Anbieter

Anbieter können zwischen drei Modellen wählen: vouchernet.ch bietet auf Wunsch Druck der Gutscheine und Inkasso an. Der Preis bewegt sich um 1 sFr. pro Tag plus 1,75% Umsatzbeteiligung wenn für ein Jahr gebucht wird und eine Preisstaffelung für längerfristige Buchungen. Interessant ist auch die Verkaufsgarantie, die greift, wenn nicht mindestens ein Gutschein pro Monat verkauft wird. In diesem Falle gibt es eine Gratis-Verlängerung.

Fazit

Eine geniale Idee, seriös umgesetzt. Kleinere technische Unfeinheiten halten einem nicht vom Einkauf ab, höchstens vielleicht die happigen Versandkosten.
Firmen könnten bei vouchernet.ch Gutscheine kaufen und den Mitarbeitern mit Jubiläen kalkulierbar, richtig getimed etwas schenken, dass sie wahrscheinlich auch brauchen können. Göttis und Gotten finden nützliche Dinge, auch wenn sie sich in der Welt der Pubertierenden nicht mehr unbedingt auskennen und inspirierend ist es allemal. Ich werde die Site für kommende Weihnachten in sicher in meinen e-Bummel mitaufnehmen.

Installation von Drupal ohne „CREATE TEMPORARY TABLE“ Rechte unter MySQL

Problem

Drupal[lang_de]Einige Hoster geben – wahrscheinlich wegen des momentanen Vollmondes – das MySQL Recht CREATE TEMPORARY TABLES nicht an ihre Kunden. Drupal möchte das leider und so muss man es umgehen 🙁 …

Bei der Installation beispielsweise wird gemeldet:[/lang_de]
[lang_en]
Some hosting providers do not grant the MySQL-userright CREATE TEMPORARY TABLES to their customers. Maybe because it’s full moon at the moment and everyone seems a bit crazy. But a href=“http://drupal.org/“>Drupal really wants this right and so a workaround is needed 🙁 …

The error during the installation could be something like this:[/lang_en]

user warning: Access denied for user: 'drupal@%' to database 'drupal' query: CREATE
TEMPORARY TABLE missing_nids SELECT n.nid, n.created, n.uid FROM node n LEFT
JOIN node_comment_statistics c ON n.nid = c.nid WHERE c.comment_count IS NULL in
/var/websites/drupal/includes/database.mysql.inc on line 167.

[lang_de]

Eine Art Lösung

Ich habe für Drupal 5.2 einen Patch erstellt der das Problem lösen sollte. CREATE TEMPORARY TABLES ist in Drupal vorbildlich in eine einzige Funktion db_query_temporary in der Datei includes/database.mysql.inc ausgelagert. Grundsätzlich erstellt dieser Patch statt einer temporären eine richtige Tabelle, deren Erstellungsdatum in einer weiteren Tabelle mit Namen temporary_table gespeichert wird. cron.php entfernt diese dann regelmässig. Sollte die Tabelle schon existieren bei der Erstellung, wird sie vorgängig gelöscht.

Das Ganze funktioniert nur für MySQL und MySQLI und bedeutet einen enormen Geschwindigkeitsverlust. Ich habe den Patch nur bei einer low-traffic Site getestet und weiss nicht, ob es vielleicht noch Race-Conditions geben könnte. Benutzung also auf eigene Gefahr.[/lang_de]
[lang_en]

Kind of a Solution

I have written a patch for Drupal 5.2 which should kinda solve the problem. In Drupal, CREATE TEMPORARY TABLES is only used in the db_query_temporary function, found in the file includes/database.mysql.inc, which is a very clean progamming style! Basically, this patch creates a real table instead of a temporary one. The name and the creationdate is stored in an extra table called temporary_table. The cron.php removes these tables on a regular base. If the table already exists, it is dropped.

This patch only works for MySQL and MySQLI and may be a performance loss. I have tested this patch only on a low traffic site and I do not know if there are race conditions. Use it on your own risk…

Addendum

Another solution has been posted at Drupal.org.

[/lang_en]

[lang_en]Here it is: Patch to use Drupal without the CREATE TEMPORARY TABLES.

To apply it, change into the Drupal base directory and issue patch -p0<drupalwotemptables.patch on the commandline.[/lang_en]
[lang_de]Und hier ist er: Patch für Drupal ohne CREATE TEMPORARY TABLES.

Um ihn anzuwenden ins Basisverzeichnis wechseln und patch -p0<drupalwotemptables.patch ausführen.

Nachschlag

Eine weitere Lösung wurde bei Drupal geposted.
[/lang_de]

CMS? Erschlag mich!

Der Auftrag

desperateIch möchte für die Website www.oncode.info ein schnuggeliges opensource CMS, das mir ermöglicht, meinen abgesonderten Code irgendwie halbwegs schön zu präsentieren und zum Download anzubieten. Als besondere Extremhürde würde ich zusätzlich gerne den RSS-Feed dieses Blogs anzeigen und irgendein schönes Design übernehmen, da ich die Fähigkeit habe, alles hässlich aussehen zu lassen wenn ich es selbst in die Hand nehme. In Java hingegen möcht ichs nicht, da Tomcat mich nicht mag…

Die Ausführung

Das kann doch nicht so schwer sein! hat sichs gedacht, obwohl mans doch besser weiss. Xoops kenne ich schon und mit Typo3 habe ich auch schon Erfahrungen gesammelt, was Neues sollts schon sein irgendwie. Bei opensourcecms kann man verschiedene OSS CMS ausprobieren (genial! Mit Adminfrontend!) und bei cmsmatrix können ebendiese verglichen werden. Es scheinen also auch schon andere arme Kerle mit diesem Problem konfrontiert worden zu sein. Obwohl Joomla! unterschiedlich gute Schlagzeilen macht, hat es auf den ersten Blick doch gut und vielseitig ausgesehen. Nundenn: Fröhlich eingerichtet, ein Template gesucht und installiert. Das erste Template ging nicht, weil es irgendeine %#*(/+ Sublib brauchte. Ich wollte nicht die nächsten 24 Stunden wirklich nicht mit Suchen verbringen und so habe ich wohl oder übel die zweite Wahl eingesetzt. In dieser zweiten Wahl hatte es ein wunderbares Bildchen, das ich natürlich in liebevoller Kleinarbeit angepasst und verschandelt habe. Tja, nach dem ersten mal herumschrauben im Adminpanel ist es dann leider – wohl von sich selbst angewiedert – verschwunden… Nunja, ok. Man kann in ebendiesem Adminpanel RSS-Feed-URLs eintippen: Hab ich gemacht, aber darstellen ist nicht… Nunja. Ich lade dann halt mal ein Modul herunter und installiere es mit dem Installer. Es erscheint, aber nur genügend lange bis ich es konfigurieren konnte. Danach verschwindet es (wohl zum hässlichen Bildchen) und meine Website wird nur noch halb angezeigt, ohne Fehlermeldung, (sogar im Debug-Modus)… Wahrscheinlich die Rache des J’s im Namen des RSS Aggregatormoduls. Das hat mir gereicht: Ich bin zu dumm… Bin ich schon raus oder was?

Auch von PHPWCMS hört man viel Gutes. Dass aber im Titel der Dokumentationsseite eine Art HTML-Tags dargestellt werden, hat mich doch eher abgeschreckt… Nunja, wahrscheinlich ist es ein designerisches Mittel und absichtlich, aber ich hab auch echt keine Nerven dafür das herauszufinden nach dem Joomla!-Debakel… AddOns gibt es leider auch noch nicht viele… PHPWCMS ist wirklich gut und hat sich im Einsatz bewährt, für mich scheints aber nicht zu sein…

Dritter Versuch: e107. Geiler Name, schöne Site, viele Erweiterungen, aber leider ist die Theme-Site nicht erreichbar. Nunja, vielleicht kommt sie ja wieder (nachdem sie sich mit dem hässlichen Bild und dem J-Aggregatormodul genügend unterhalten hat), aber nachdem ich auf der Pluginsite eine Entschuldigung für die lange Downtime gelesen habe, hats mir gereicht. (Ok, ich gebs zu, viel geschlafen habe ich in letzter Zeit nicht, darum bin ich auch nicht so geduldig, aber das ist eine GANZ andere Geschichte 🙂 ).

Naja, dann suche ich halt mal weiter… Die Verlockung, selber was Kleines zu schreiben wird aber immer grösser…. Das wäre dann wohl das gazillionste CMS…

Mediawiki im Intranet: Nur angemeldete Benutzer zulassen

Geschlossenes Mediawiki

restricted Ein Mediawiki im Intranet muss unter Umständen abgeriegelt und ausschliesslich einer geschlossenen Benutzergruppe zugänglich gemacht werden. Wenn man wissen will, welcher Benutzer welche Wikiseite bearbeitet hat, reichen leider die schönen Basic-Authentication Features von Apache nicht aus. Damit Mediawiki alle zur Anmeldung zwingt muss die Datei LocalSettings.php folgendermassen ergänzt werden:
############## Handmade ################
# Specify who can edit: true means only logged in users may edit pages
$wgGroupPermissions['*'    ]['createaccount']   = false;
$wgGroupPermissions['*'    ]['edit']            = false;
$wgGroupPermissions['*'    ]['read']            = false;
$wgGroupPermissions['sysop']['createaccount']   = true;
$wgGroupPermissions['user' ]['edit']            = true;
$wgGroupPermissions['user' ]['read']            = true;

# Logo
$wgLogo                         = "/images/bbbq.gif";

# Pages anonymous (not-logged-in) users may see
$wgWhitelistRead = array ("Spezial:Userlogin", "Wikipedia:Help");

Benutzer

Am Einfachsten ist sicher das Kopieren eines bestehenden Users (eventuell in MySQL). Dabei müssen user_id unduser_name eindeutig sein. Normalerweise braucht es keine weiteren Rechtemanipulationen. Sollen die Benutzer trotzdem gewissen Gruppen zugeteilt werden, gibt die Mediawiki-Dokumentation Auskunft über die Rechte und die Zuteilung zu Gruppen.

Passworte

In Mediawiki 1.10 ist die Passwortverschlüsselung in der Funktion includes/GlobalFunctions.php definiert:

function wfEncryptPassword( $userid, $password ) {
        global $wgPasswordSalt;
        $p = md5( $password);

        if($wgPasswordSalt)
                return md5( "{$userid}-{$p}" );
        else
                return $p;
}

$wgPasswordSalt kann in LocalSettings.php umdefiniert werden, aber normalerweise ist es in includes/DefaultSettings.php auf true gesetzt. $userid ist die user_id aus der Tabelle user.

Das Passwort kann mit php ausgegeben werden (angenommen für user mit id 15):

<?php echo md5('15-'.md5('PASSWORT'))."\n"; ?>

Oder direkt in Mysql:

UPDATE bi_user SET user_password=md5(concat(user_id,'-',md5('PASSWORT'))) WHERE user_id=15;

ClickHeat: Klick, zeig Dich, Du bist umzingelt!

Heatmaps

Spannende Methode zur Analyse des Benutzerverhaltens von Websites sind sogenannte Heatmaps. Sie speichern die Koordinaten aller Klicks auf eine Website und stellen sie mit „Hitzepunkten“ dar:
Beispiel Heatmap

Crazy Egg

CrazyEgg in ActionEine „kommerzielle“ Möglichkeit zum Erstellen solcher Heatmaps ist CrazyEgg. Die Basisvariante ist gratis und reicht eigentlich aus für kleine Websites. Viel Web 2.0-Ajax und eine einfache Bedienungsführung machen es zu einem angenehmen Tool. Es ist möglich verschiedene „Tests“ zu fahren mit unterschliedlichem Aufbau der Website und diese Durchgänge dann zu vergleichen.
CrazyEgg hat es voll im Griff die Klicks den richtigen Links zuzuordnen. Keine leichte Aufgabe wenn man bedenkt, dass jeder Besucher mit einer anderen Auflösung ankommt. Zur Auswertung stehen folgende Darstellungen zur Verfügung:

Overlay (Siehe Bild)
Zeigt die Attraktivität der Links in absoluten und relativen Zahlen
List
Eine Liste aller Links mit ihrer Popularität
HeatMap
Eine schöne Heatmap halt…
Confetti
Klicks anzeigen an Hand des Referrers (der Website von welcher die Besucher gekommen sind)

ClickHeat

ClickHeat ist eine freie Implementierung für Heatmaps. Sie kann auf dem eigenen Server betrieben werden und ist somit sehr geeignet für Kontrollfanatiker wie ich einer bin. Die Installation ist denkbar einfach:

  1. Downloaden der Applikation.
  2. Alles an einen Ort auf dem Server entpacken
  3. Im Browser dieses Verzeichnis aufrufen (Beispielsweise http://www.yoursite.com/clickheat/index.php)
  4. Alles korrekt einstellem
  5. Den Javascriptcode im Footer der Webseiten einbinden
  6. Abwarten, Tee trinken, Sackhüpfen und danach wieder das ClickHeat Verzeichnis aufrufen
  7. Sich freuen!

Einige Tips noch dazu:

  • Man kann und sollte die eigenen Klicks ausblenden (erster Menüpunkt im Hauptmenü).
  • Beim Generieren vom Javascript kann angegeben werden, wie die Linkdaten unterschieden werden:
    • Mit Keyword. Hier muss aber auf jeder Seite der Javascriptcode angepasst werden! Hben alle Seiten denselben Footer, werden wild alle Klicks gesammelt, auch wenn jede Seite anders aufgebaut ist.
    • Nach Titel oder Pfad: Damit kann schön nach einzelnen Seiten unterschieden werden.
  • Um zu checken, ob die Datensammlung funktioniert, die Seite mit dem Parameter ?debugclickheat aufrufen. Also beispielsweise http://www.yoursite.com/index.php?debugclickheat. Dies zeigt ein nettes Overlay mit vielen Informationen.
  • Unbedingt das Layout der Site konfigurieren (beim Icon Icon zur Layoutangabe), da er ansonsten die Klickpositionen ein Bisschen durcheinander bringt. Dieses Blog beispielsweise ist Fixed left and right menus, liquid content.

Resultate

Was habe ich für dieses Blog für Erkenntnisse gewonnen?

  1. Die Suche wird benutzt und hat somit ihren prominenten Platz oben rechts verdient.
  2. Es wird ziemlich oft auf das „lead-in“ Bild geklickt. Hmmm, was dies zu bedeuten hat muss ich mir noch überlegen. Was erwarten die Besucher wenn sie draufklicken?
  3. Es wird auch auf den kleinen Link skaldrom oberhalb der Beiträge geklickt. Ich habe den Link darum weg von der Homepage (was wohl eher verwirrend war) auf die Schreiberling-Seite umgebogen.
  4. Die Ads scheinen in einem guten Bereich mit vielen Clicks rundherum zu sein.

Weiteres

t-error (error terror?) hat auch über ClickHeat geschrieben. Inspirierend war auch wieder einmal der ProBlogger Beitrag.

Akuma! oder: freie Musik für freie Bürger

Dies ist ein von trigami vermittelter bezahlter Eintrag Hinweis: Dies ist ein von trigami vermittelter bezahlter Eintrag.

Digitale Musikakuma – Online Musikdienst ist ein Onlineshop, der Musik von vielen Indie-Gruppen im mp3-Format ohne aufgezwungenes Rechtemanagement verkauft. Die Website besitzt verschiedene Features um Musik und Künstler zu finden sowie viele Communityfunktionen und läuft wunderbar auch auf einem Firefox unter Linux.

Internet und e-Commerce

Das Internet als Shoppingparadies ist eine praktische Sache: Geburtstag, Weihnachten und Selbsttröstungen kann man zu normalen Informatikerzeiten (abends um 8 bis morgens um 3 😉 ) bequem vom Bürostuhl aus besorgen. Noch besser wird es, wenn man das erworbene Gut durch die Leitungen drücken und ohne Lieferzeiten direkt geniessen kann.
Gerade Musik würde sich dafür wunderbar anbieten. Den Soundtrack zur aktuellen Tätigkeit auswählen, bezahlen, downloaden und sich freuen.
Leider wollten bis jetzt viele Anbieter meine Kohle nicht; sie versuchten mir mittels DRM vorzuschreiben wann ich was wie zu hören habe, sie wollten mir bestimmte Geräte aufzwingen oder mir sogar mein geliebtes Linux madig machen. Wenn dann mal einiges gepasst hat gabs neben Spearguilera, UmpfpengzaggazaggaYoYo! und Schunkelschenkelklopfer nicht vieles käuflich zu erwerben.
Grundsätzlich gab und geb mein Geld nicht gerne Leuten die es nicht wollen, und so habe ich mir die Musik halt auf anderen Wegen (legal!) besorgt. Eine Website die mein Geld möchte muss also in Komfort, Auswahl, Einfachheit und Freiheit konkurrieren können.
Die Anfrage, über akuma.de zu schreiben kam daher wie gerufen. Ich will die Künstler ja bezahlen und bin auch gerne bereit etwas auszugeben, wenn ich dafür effizient zu meiner Musik komme.

Funktion und Angebot

Songs und Alben

AkumaLaut Selbstinformation hat es auf akuma eine Auswahl aus 600’000 Songs (und einigen Hörbüchern), Tendenz steigend. Ich kann bestätigen, dass man vieles findet, sowohl alte Klassiker wie auch neuere Bands. Die Preise beginnen bei 0,89 € (etwa 1,45 CHF) Song und bei 4,49 € (7,35 sFr.) für ein Album.
Alle Songs sind ohne DRM (wunderbar!) und im MP3 Format mit mindestens 192 kBit/s codiert (häufig mehr), was eine maximale Kompatibilität über die Betriebssystemgrenzen hinaus und eine gute Qualität garantiert.
Beim Kauf eines Albums kann man sich mit Hilfe eines Covergenerators ein CD-Inlay im PDF-Format zusammenklicken, inklusive original-Coverbild und Trackliste.

Ein Bisschen irritiert hat mich der Hinweis (inzwischen weg vom Netz), dass einige der mp3 Dateien mit einem digitalen Wasserzeichen versehen sind. Hm, ok, wahrscheinlich macht das Sinn in Deutschland, aber hier im der Schweiz dürfen die Dateien (eingeschränkt) weitergegeben werden und somit ist der Aufwand dieses Unterfangens bei den Eidgenossen sicher vergebens.

Man kann in alle Songs reinhören und ein Player im Browser spielt die ersten paar Sekunden. Das reicht normalerweise echt für entzücktes Quitschen oder unmütiges aber bestimmtes Klicken auf den Stop-Button.
Gefällt der Song, so kann er einer Merkliste hinzugefügt werden und man kann sich das Liedchen später nochmals zu Gemüte führen. Gefällt der Song sehr, so kann er direkt käuflich erworben werden (später dazu mehr).

Redownload

Gibt es einen Festplattencrash, möchte man die Musik trotzdem weiter hören können, schliesslich hat man sie ja bezahlt. Bei akuma gibt es zwei Lösungen dafür:

  • Die Lieder können ohne Einschränkung gebrannt und somit weggesichert werden.
  • Die gekauften Lieder können bei akuma neu gedownloaded werden.

Community

akuma ist auch mit Communityfunktionen ausgerüstet. Immerhin wurde gerade der 10’000ste, angemeldete Benutzer gefeiert! Sogenannte „Ticks“ identifizieren einem als Fan einer Gruppe oder eines Albums. Musik kann weiterempfohlen und bewertet werden, „Freunde“ wollen gemacht und eingeladen werden, es gibt ein Mailsystem und jeder besitzt ein Gästebuch. An diesen Funktionen wird auch noch gearbeitet.

Bedienung

Auf den Ersten Blick hat es sehr viel Text und Bildchen auf der Homepage und man ist auch als Technophiler fast etwas erschlagen. Das hält aber nicht lange an, denn die Bedienung ist erste Sahne. Etwas schräg in der Ergonomiewelt stehen die benutzten Piktogrämmchen. Sie sind nicht sprechend und bei mir zeigen sich auch keine Toolips. Hm, dann muss ich halt raten was ein Pinsel bedeutet: Löschen, Cover machen, mein Büro abstauben?
Bei der Darstellung ist mein Firefox 2.0.0.5 unter Linux sicher nicht die einfachste Zielplattform. Ich habe aber keinen einzigen Bug oder auch nur schon eine Unschönheit erkennen können.

Die akuma Page

Für Suche und und einige weitere Funktionen werden Ajax Features (dynamische Elemente ohne dass die Seite neu geladen wird) eingesetzt, die richtig funktionieren und auch Zeit sparen. So macht Web 2.0 Spass und es ist eine Freude den Suchergebnissen zuzusehen wie sie nacheinander aufpoppen.

Einkaufserlebnis

Grundsätzlich sehe ich zwei verschiedene Einkaufsszenarien (wobei Zweiteres sich auch in Ersteres wandeln kann während des Websitebesuchs 😉 ):

Ladenbummel

Beim „Ladenbummel“ hat man Zeit und Lust, neues kennen zu lernen. Alle 600’000 Songs kann man nicht anhören, also ist man auf Hilfsmittel angewiesen.
Es gibt eine Menüordnung nach Genre (Gothic ist wie bei vielen realen Musikläden auch nicht dabei) oder auch verschiedene „Charts“, welche die meistverkauften Musikstücke eines Genres auflisten.
Tags erlauben den Websitebesuchern ein Song oder Album mit irgendwelchen Worten zu versehen (gibts auch für dieses Blog, siehe Tagwolke in der Sidebar). Nundenn, entweder ist dieses Feature schwierig zu verstehen oder die Anwender haben etwas Mühe, denn Xavier Naidoo ist als Goth getaggt (autsch) und es existieren die Tags „goth“ und „gothic“. Sinnvoll wäre es, wenn man Tags kombinieren könnte, im Sinne von Alle Stücke mit den Tags ‚gothic, female voice, fast, electronic‘ aber ohne ‚industrial‘ und ohne ‚heulsuse‘. Nur ein Tag anzuklicken gibt bei Goth eine Liste von einer Zillion Alben die man beim besten Willen nicht durchhören kann. Deli.cio.us hat dabei ein einfaches Interface geprägt.Das System scheint die Tags von last.fm zu importieren. Das wiederum ist clever gemacht!
Akuma benutzt ebenfalls den Audioscrobbler von last.fm um verwandte Künstler anzuzeigen. Das heisst, es gibt interessante Empfehlungen und eine Musikgruppe die Gefällt kann als Ausgangspunkt dienen um neues kennenzulernen ohne sich ganz zu verrennen.

Gezieltes Suchen nach einem Song/Album

Sucht man ein ganz bestimmtes Lied, so gibt es eine Suchmaschine die direkt zum Ziel führt. Kurz und schmerzlos. Von jedem Album kann jeder einzelne Song gekauft werden. Das gibt die komische Situation, dass das eher kürzeres Intro gleichviel kostet wie die Ballade epischer Länge in der Mitte. Amputiert man aber das Intro um Geld zu sparen, geht unter Umständen viel Ambiente verloren…

Bezahlung und Download

Akonto

Wenn es dann ans Kohle abdrücken geht stellt akuma folgende Optionen zur Verfügung:

  • Click and Buy (Zahlen per Telefonrechnung/Kreditkarte)
  • PayPal (Kreditkarte)
  • Onlineüberweisung (aus der Schweiz nicht möglich)
  • Lastschrift (aus der Schweiz nicht möglich)

Das ganze funktioniert nach dem Aufladesystem: Man überweist Geld und kauft dann davon die Musik. Wenn man unter 20 € auflädt dann muss man die Gebühren (~ 0,50 €) selbst übernehmen.

Preise

Kaufen kann man einzelne Songs oder ganze Alben. Die Preise sind wirklich mehr als ok! Bei ein paar stichprobenartigen Vergleichen mit CD-Onlineversender schnitt akuma durchs Band besser ab. Etwas fremd fand ich, dass teilweise alle Songs eines Albums im Einzelkauf günstiger waren als das gesamte Album.

Download und Abspielen

Der Download geht zügig vonstatten und die mp3s sind wunderbar mit allen ID3-Metainformationen versehen.

Fazit

Negatives

Das Tagging ist noch nicht optimal: Die fehlenden Kombiniermöglichkeiten schränken den Nutzen etwas ein. Die falsch getaggten Stücke sind natürlich den Benutzern zuzuschreiben (böseböse 😉 ).

Positives

Akuma ist ein schöner Shop der sehr sympathisch rüberkommt. Die Communityfunktionen sind viel versprechend und an der Site wird noch gearbeitet. Die Auswahl und das Einkaufsvergnügen sind gegeben und darum werde ich die Website noch oft besuchen.

Zum Schluss

Musik online bestellen macht Spass und funktioniert..!

Nachtrag Juni 2009: Leider hat Akuma den Downloadbetrieb eingestellt 🙁 …

BlogCampSwitzerland 2.0

BlogCamp 2.0Am 20.10.2007 ist das BlogCampSwitzerland 2.0 an der ETH Zürich. Das könnte echt geekig werden:
Man trifft sich, es gibt Bier, Essen, einen Haufen Freaks und eine unAgenda: Slots und Präsentierzeux ist da, und wenn wer was zu sagen hat, dann trägt er sich ein und seine Weisheiten vor.

Lokale blogging Grössen wie Yoda, der Autor vom Metablog (Nachtrag März 2008: Metablog ging unter mysteriösen Umständen vom Netz) und Bloggingtom werden anwesend sein. Leicht grössenwahnsinnig werde ich mich klein und bescheiden einreihen 😀 .

Tote Links in einem Blog oder einer Website finden

Tote Links sind ärgerlich und unprofessionell. Sogar der Überblogger schlägt vor, seine Blogs ab und zu zu entrümpeln. Um sie zu vermeiden gibt es ein paar Lösungen, zum Beispiel keine Links machen 😀 . Oder Online, wie die Google Webmaster Tools und Ähnliche. Als Kontrollfreak habe ich es gerne unter Kontrolle und möchte die Geschichte lokal auf meinem Rechner betreiben.

Eigentlich hätte ich nichts gegen klickibunti gehabt, aber leider kann zum Beispiel http://klinkstatus.kdewebdev.org/ (den es mittlerweile nimmer gibt) keine Einstellungen speichern. Nundenn, dann muss halt die gute alto Kommandozeile ran. Ich habe mich für LinkChecker entschieden, weil er vielfältige Einstellungsmöglichkeiten und Ausgabeformate anbietet. Ausserdem ist er für Windows und Lunix erhältlch und die Entwicklung ist aktiv. Ebenso beachtet er robots.txt, was sehr hilfreich ist.

Ich kenne mich, ich kann mir die Kommandozeilenoptionen keine 18 Minuten merken und darum sei wohlgemut eine Konfigurationsdatei geschrieben und auf den Namen blogcheck.conf getauft. Es kann auch heruntergeladen werden: Beispielkonfiguration für linkchecker um ein Blog zu checken.

html Ausgabe von Linkchecker CSV Auswertung in Openoffice (Excel kann das auch)

Zuerst die Ausgabe. Ich hätte gerne html und zur besseren Auswertung noch in csv. Während des Durchgangs hätte ich gerne ein Bisschen was an Rückmeldungen (habe ich schon erwähnt das ich ein Kontrollfreak bin?). Bei voller Lautstärke pustet mich linkchecker zu mit Info, status reicht also.

[output]
# print status output
status=1
# turn on/off --verbose
verbose=0
# turn on/off --warnings
warnings=0
# additional file output
fileoutput=html,csv

Nun noch die Logger konfigurieren:

#
# Loggers
#
[csv]
filename=linkchecker-out.csv
separator=,
quotechar="
parts=all

[html]
filename=linkchecker-out.html
# colors for the various parts
colorbackground=#fff7e5
colorurl=#dcd5cf
colorborder=#000000
colorlink=#191c83
colorwarning=#e0954e
colorerror=#db4930
colorok=#3ba557
parts=all

Noch ein Bisschen das Checkverhalten beeinflussen:

[checking]
# number of threads
threads=5
# connection timeout in seconds
timeout=60
# check anchors?
anchors=1

Und nun wirds interessant. Wir wollen folgendes vermeiden:

  • Der Linkchecker soll keine Ads anklicken.
  • Der Linkchecker soll uns nicht bei Partnerprogrammen eintragen.
  • Der Linkchecker soll uns nicht bei Social Bookmarkingdiensten eintragen.
  • Er soll uns keine Kommentare posten und auch das Blog nicht administrieren.

Das kann einfach so und mit Regular Expressions erreicht werden. Interessant ist, das der Syntax der URLs trotzdem geprüft wird.

[filtering]
ignore=
ignore=
# ignore google ads
 googlesyndication.com
 google # Just to get sure!
#ignore affiliates
 amazon\.com
 trigami\.com
 linklift
 zanox\.com
# ignore social bookmarking
 technorati\.com
 del\.icio\.us
 mister-wong\.com
 digg\.com
 stumbleupon\.com
 blogmarks\.net
 de\.lirio\.us
 furl\.net
 simpy\.com
 spurl\.net
 yahoo\.com
# ignore administrative links
 wp-comments-post\.php

Und nun: Starten *froi*:

linkchecker --config=blogcheck.conf https://blog.oncode.info

Nach dem Durchlauf kann linkchecker-out.csv in eine Tabellenkalkulation importiert oder linkchecker-out.html im Browser geöffnet werden.
Viele weitere Ausgabeformate wie SQL oder XML lassen andersweitige Auswertungen zu.

LinuxUser hat einen sehr schönen, einführenden Artikel zu linkchecker.

Nachtrag:
Bei Fehlern wie: had no anchor support oder url-anchor-not-found kann die Suche nach Anchors in der Konfigurationsdatei ausgeschaltet werden:

[checking]
...
# check anchors?
anchors=0

Wenn der Server überfordert ist und Timeoutet kann beim Aufruf der Parameter -P1 übergeben werden, welcher zwischen den Aufrufen eine Sekunde einschiebt. Wahlweise kann auch das Timeout in der Abteilung [checking] nach oben geschraubt werden.

Wenn der Fehler WARNING Could not start a new thread. Check that the current user is allowed to start new threads. auftreten sollte, dann könnte es sein dass der Parameter timeout im Config zu gross gefwählt wurde.