Du bist hier:Start»Javascript»Greasemonkey»Bewertungen

Online-Bewertungen in andere Webseiten einbauen

15.05.2015

Thumbs Up

Die Nachrichten-Website heise.de veröffentlicht Online-Artikel aus dem Bereich der Informations- und Telekommunikationstechnik. Da Heise-Online eine große Anzahl Meldungen pro Tag veröffentlicht, kann eine Bewertung der Relevanz einer Meldung hilfreich sein um interessante Meldungen herauszufiltern. Wie können Bewertungen "von außen" auf eine Nachrichten-Website eingefügt werden ? Mit der Erweiterung Greasemonkey für den Firefox-Webbrowser und dem Userscript heise.user.js lassen sich Bewertungen zu den Artikeln anzeigen und abgeben.

Vergleich mit und ohne Greasemonkey

ohne Greasemonkey
heise.de ohne Greasemonkey
mit Greasemonkey
heise.de mit Greasemonkey

heise.user.js installieren

Ein grüner Balken unter einem Artikel deutet auf einen interessanten Bericht hin, ein roter auf einen inhaltsarmen Bericht und ein Artikel mit einem gelben Balken wurde noch nicht bewertet. Bei den Bewertungen soll die Relevanz der Artikel im Vordergrund stehen. Eine eigene Bewertung kann auf der entsprechenden Artikelseite unterhalb der Meldung abgegeben werden.

Meldung bewerten

Meldung bewerten

Die Bewertungsabfrage wird durch das Greasemonkey-Skript nach der Meldung und über dem Link zu den Kommentaren eingefügt. Um potentiellen Spam etwas einzuschränken, habe ich ein CAPTCHA von Google eingebaut. Nach der Auswahl, ob die Meldung relevant ist, und nach Eingabe des CAPTCHAs wird die Bewertung gezählt. Die Bewertung wird an meinen Server übertragen und in einer Datei zusammen mit den bisherigen Bewertungen gespeichert. Diese Datei wird später für die Darstellung der farbigen Balken unterhalb der Meldungen geladen.

Download

Das Userscript kann auf der folgenden Seite heruntergeladen und als Quellcode betrachtet werden.

Ausblick

Das Konzept mit Greasemonkey und den externen Bewertungen könnte auch auf andere Nachrichten-Websites wie zum Beispiel spiegel.de angewendet werden. Denkbar sind außerdem Websites, die nichts mit Nachrichten zu tun haben und eine Bewertung benötigen könnten. Das Bewertungskonzept ist im Augenblick ein Experiment mit offenem Ausgang. Ich werde erst einmal abwarten, ob das Konzept angenommen wird und ob mein Website-Hoster für die Bewertungsabfragen gewappnet ist.

Technische Details

Das folgende Sequenzdiagramm gibt einen Überblick, wie das Greasemonkey-Skript funktioniert:

Sequenzdiagramm für Bewertungen mit Greasemonkey

Sequenzdiagramm für Bewertungen mit Greasemonkey

Die URLs der Meldungen bei heise.de enden mit einer eindeutigen Meldungs-Nummer. Diese Nummer wird vom Greasemonkey-Skript benutzt um die Bewertung von einem Bewertungsserver zu laden. Damit nicht jede Bewertung einzeln vom Bewertungsserver geladen werden muss, wird eine bestimmte Anzahl an Bewertungen in einem Bündel geladen. Das soll die Belastung des Bewertungsservers reduzieren. Eine Bewertungsdatei sieht zum Beispiel folgendermaßen aus:

2650145 2 0
2650152 1 14
2650156 0 1

Für jede Meldung wird in die Bewertungsdatei eine Zeile eingetragen. In der Zeile steht zunächst die eindeutige Meldungs-Nummer gefolgt von den positiven und negativen Bewertungen. Das Greasemonkey-Skript erzeugt aus den Werten einen farbigen Balken und fügt ihn unterhalb der Meldung in die Webseite ein.

Wird eine Bewertung abgegeben, dann wird zunächst das CAPTCHA überprüft. Ist das CAPTCHA gültig, dann wird die Bewertung in der entsprechenden Bewertungsdatei gespeichert. Um die Bewertungsdatei konsistent zu halten, benutzt ein PHP-Skript auf dem Server den Befehl "flock" um gleichzeitige Dateizugriffe zu synchronisieren.

Viel Spaß beim Ausprobieren des Skripts ! Falls noch etwas unklar sein sollte, dann kannst du die Kommentar-Funktion benutzen.
Patches sind willkommen.

Kommentar schreiben