Open Source im professionellen Einsatz
Linux-Magazin 05/2004

Ein Perl-Skript verwaltet überall verfügbare Bookmarks

Lesezeichen-Zentrale

Ob im Büro, zu Hause oder mit dem Laptop im Hotelzimmer: Wer oft durch das World Wide Web surft, will seine Bookmarks immer abrufbar haben. Sie auf allen Rechnern synchron halten ist sehr umständlich. Ein CGI-Skript hilft und macht die persönliche Bookmark-Liste überall verfügbar.

585

Das heute vorgestellte CGI-Skript nutze ich selbst seit einiger Zeit, um meine wichtigsten Bookmarks überall griffbereit zu haben. Für das Anwählen einer in der Liste gespeicherten Website genügt ein Klick auf den Eintrag »Bookmarks« in der Toolbar des Browsers. Daraufhin erscheint eine Seite wie in Abbildung 1 zu sehen. Hinter jedem Eintrag in diesem Screenshot steht eine Reihe von klickbaren Operatoren: »+« (nach oben), »-« (nach unten) und »x« (löschen). Mit ihnen lassen sich Ordner und Links in der Hierarchie herumschieben. So hält der Anwender seine Bookmark-Liste immer schön strukturiert und übersichtlich.

Abbildung 1: Eine weltweit verfügbare Bookmark-Liste mit Perl und CGI. Hier wird gerade ein neues Lesezeichen für die Perlmonks-Seite angelegt. Der Eintrag landet im Ordner »Perl«. Mit den Navigationselementen ist es möglich, Bookmarks zu verschieben und zu löschen.

Kein Abtippen dank Javascript

Mit dem Webformular, das sich unter der Bookmark-Liste befindet, fügt man in vorhandenen Ordnern neue URLs hinzu. Um eine gerade besuchte Webseite neu in die Bookmarkliste aufzunehmen, will natürlich niemand URLs von Hand abtippen. Vielmehr sollen der Titel der gerade dargestellten Webseite und ihre URL einfach per Mausklick in die Bookmark-Liste wandern.

Hierzu ist ein Griff in die Javascript-Trickkiste nötig. Moderne Browser erlauben in den definierbaren Bookmark-Einträgen der Toolbar nicht nur URLs, sondern auch Javascript-Code. Klickt der Benutzer auf einen Toolbar-Eintrag, der den folgenden Code enthält, extrahiert der Browser Titel und URL der gerade dargestellten Webseite. Dann öffnet er ein neues Fenster, ruft das Bookmark-CGI-Skript auf und füllt Titel und URL automatisch ins Webformular ein:

javascript:void(win=window.open('http://myserver.com/cgi/bm?a='+location.href+'&t='+document.title))


Der Benutzer wählt dann nur noch einen Ordner aus der vorhandenen Liste aus oder erstellt einen neuen und klickt auf »Submit«, um den Eintrag permanent zu speichern.

Die obige Javascript-URL gelangt im Mozilla- und Netscape-Browser über den Dialog »Lesezeichen | Lesezeichen bearbeiten« in die Toolbar-Leiste (Abbildung 2). Außer diesem Toolbar-Eintrag, der den Namen »Add« trägt, sollte auch noch der eingangs erwähnte »Bookmarks«-Eintrag in die Werkzeugleiste, er verweist einfach auf das CGI-Skript. Dann ist die weltweit verfügbare Bookmark-Liste nur noch einen Mausklick entfernt. Damit Anwender den etwas länglichen Javascript-Eintrag nicht auswendig lernen oder abtippen müssen, stellt das Skript ihn praktischerweise am unteren Ende des Formulars für ein einfaches Cut & Paste dar.

Abbildung 2: Mit Javascript lässt sich ein Toolbar-Shortcut definieren, der Titel und URL der gegenwärtig dargestellten Browserseite an das Bookmark-Skript übergibt.

Dieses System ist auf zwei Dateien verteilt: Ein Modul »Bookmarks.pm« (siehe Listing 1) implementiert die Funktionalität der Bookmark-Liste und das Skript »bm« (siehe Listing 2) kümmert sich um die Darstellung im Webbrowser und verarbeitet Benutzereingaben.

Ordnerbaum

Die Bookmark-Hierarchie legt »Bookmarks.pm« in einer Baumstruktur ab. Das Modul »Tree::DAG_Node« von Sean Burke erzeugt und manipuliert gerichtete azyklische Graphen. Es eignet sich hervorragend dafür, die in Ordnern liegenden Bookmarks zu implementieren. Sowohl Ordner als auch Bookmarks sind Knoten (Nodes) im Graphen, der an der Wurzel (Root) beginnt. Der Array »@ISA« in Zeile 11 von Listing 1 bestimmt, dass »Bookmarks« eine von »Tree::DAG_Node« abgeleitete Klasse ist. Ein Objekt vom Typ »Bookmarks« repräsentiert einfach den Wurzelknoten des Baums, der wiederum alle Ordner als Unterknoten enthält, die ihrerseits die Bookmarks mit URL und Text als Unterknoten enthalten (siehe Abbildung 3).

Abbildung 3: Das Perl-Modul »Tree::DAG_Node« speichert Objekte in einer Hierarchie ab. Das Bookmark-Skript nutzt diese Hierarchie, um Ordner und URLs zu speichern.

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Rettungsanker

    Die größte Stärke der Ajax-Technologie ist, dass sie das Aktualisieren einer Seite ohne störendes Neuladen erlaubt. Als Kehrseite folgt daraus allerdings, dass sich der Zurück-Button des Browsers und die Bookmark-Funktion nicht mehr wie gewohnt nutzen lassen.

  • Funktionen des Firefox 3 als Screencast

    Firefox-Mitarbeiter Mike Beltzner hat einen Screencast produziert, der einige der neuen Funktionen von Firefox 3 vorführt.

  • Jump: Bookmarks für die Bash

    Die Entwickler Flavio Castelli und Giuseppe Capizzi haben mit ihrer Software Jump einen Bookmark-Mechanismus für die Bash veröffentlicht.

  • Perl-Snapshot

    Streicht ein Besitzer von Amazons E-Book-Reader Textstellen auf dem Gerät an, legt sein Kindle diese persönlichen Markierungen in einer Datei ab. Steckt der Kindle im USB-Port des Linux-Rechners, saugt ein Perl-Skript die Daten ab, speichert sie in einer Datenbank und erlaubt später Volltext-Suchabfragen.

  • Linkchecker 6.4 prüft Chrome-Bookmarks

    Linkchecker, ein freies Tool zum Prüfen von Links im Web und andernorts, ist in Version 6.4 mit neuen Features erhältlich.

comments powered by Disqus

Ausgabe 04/2017

Digitale Ausgabe: Preis € 6,40
(inkl. 19% MwSt.)

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.