Java Bookmark-Synchronizer
Eines der Projekte an denen ich derzeit arbeite ist ein Java Bookmark Synchronisierer auf Basis von Java (v1.4.x). Es war zunächst geplant das Projekt im Januar 2006 zu beginnen was sich aber insgesamt um ein Jahr verzögerte. Da ich mehrere Computer verwende auf denen mehr als nur ein Betriebssystem installiert ist (normalerweise eComStation (kurz eCS), WindowsXP und Debian Linux) ist dies für mich eine wichtige Funktion. Versuchen Sie einmal alle ihre Bookmarks auf jedem einzelnen der Computer und auf jedem der Installierten Betriebssysteme synchron zu halten. Sie werden auch dann scheitern, wenn auf jedem System der gleiche Webbrowser (z.B. Firefox v1.5.x.y oder Firefox 2.x) installiert ist.
Warum scheitert dieses Vorhaben? Nunja, das (auf einem USB-Stick gespeicherte) Profil kann zum Beispiel nicht unter jedem der installierten Betriebssysteme gelesen werden, Sie haben nicht die gleiche Version des Webbrowsers auf den Systemen installiert, die installierten Erweiterungen des Webbrowsers funktionieren nicht mit einer anderen Version von Firefox und so weiter. Wenn Sie auf den verschiedenen Systemen unterschiedliche Webbrowser verwenden wird es noch schlimmer.
Um dieses Problem zu umgehen, wird eine zentrale Stelle benötigt, die
von jedem der Betriebssysteme erreicht werden kann und ein eigener
Bookmark Standard, der die Speicherung der Obermenge aller Elemente
erlaubt, die von den verschiedenen Browsern unterstützt werden.
Es wäre auch möglich die XML Bookmark
Extension Language (XBEL) zu verwenden.
Das Problem das ich mit dieser Lösung habe ist folgendes (außer das es
XML ist):
Viele Anwendungen die XBEL verwenden speichern nur die Basisinformationen
(Titel, Beschreibung, URL).
XBEL selbst erlaubt auch die Speicherung von weiteren Informationen aber
die meisten Anwendungen beschränken sich auf die genannten Basis-Elemente
und weitere Informationen wie das FavIcon (Base64 kodiert) und
Datumsangaben (hinzugefügt, geändert, zuletzt besucht) werden
nicht unterstützt.
Ich möchte das mein Code wiederverwendbar ist, so daß die Basisinformationen in meiner eigenen Bookmark Datenstruktur abgebildet wird. Von diesem Punkt aus kann der Code in andere Anwendungen mit Hilfe von sogenanntem Glue Code eingebunden werden.
Ich habe bereits fertige Java Klassen für die Speicherung aller
Informationen aus den Bookmarks, die ich nicht verlieren möchte.
Außerdem habe ich Parser geschrieben mit denen ich das Netscape
(wird von Netscape, Firefox, Mozilla-Suite, Seamonkey,... genutzt)
und das Opera Bookmark Format lesen und in meiner Datenstruktur speichern
kann.
Ebenfalls abgeschlossen ist die Ausgabe bestehender Open-Xchange Lesezeichen im Netscape- (Mozilla, Firefox, Seamonkey) und Opera v2 Format. Sie können dabei den gewünschten Lesezeichen-Unterordner auswählen der dann exportiert wird.
Derzeit arbeite ich an einer Erweiterung für die Groupware
Open-Xchange (OX) um die Bookmark Daten zu speichern.
Da der Open-Xchange Quellcode leider nicht dokumentiert ist, hänge
ich gerade bei der Synchronisation fest. Die geänderten Daten müssen
schließlich auch wieder in der Datenbank gespeichert werden.
Der Upload der Bookmark Datei und die Verarbeitung funktioniert
ansonsten sehr gut und ist sehr schnell! Der Code wird
von mir veröffentlicht sobald ich endlich ein paar Tage am Stück
habe, um mir den OX-Code noch mal genauer anzusehen und mein
derzeitiges Problem gelöst ist, so daß die Bookmarks zumindest
in OX gespeichert werden.
JBMSync bookmarks.java und JBMSync-Klassen
Ein Ersatz (GPL) für die von Open-Xchange gelieferte WebDAV bookmarks
Klasse mit Atom v1.0 Unterstützung, einigen RSS 2.0 Ergänzungen
und erweiterten Abfragemöglichkeiten.
Eine detailierte Beschreibung ist in der im Archiv enthaltenen readme.txt
oder in den Neuigkeiten
(2007-04-17) zu finden!
Der aktuelle JBMSync Quellcode ist ebenfalls enthalten (die XBEL Ausgabe fehlt)!
Ersetzt: ./src/com/openexchange/webdav/bookmarks.java
Neu....: ./src/de/juergenulbts/jbookmarksync/*
Download der bookmarks.java Austauschklasse (Open-Xchange v0.8.2) und der JBMSync Komponenten [2007-04-17]
ZIP-Paket (75 kB) Download
Download der 91-seitigen JBMSync-Entwicklerdokumentation (Englisch; aus JavaDoc generiert) [2007-06-13]
PDF-Paket (377 kB) Download
Download der Ausarbeitung zum IP-Thema: [2007-06-13]
"Synchronisation von Lesezeichen mit dem Groupware-System Open-Xchange™"
PDF-Paket (1271 kB) Download