Import von Lesezeichen (Bookmarks) aus altem Profil

  • Firefox-Version
    128
    Betriebssystem
    Windows

    Hallo zusammen,

    da ich gerade die Notwendigkeit hatte, aus einem alten Firefox-Profil Bookmarks zu importieren und nur Lösungen gefunden habe wie "tausche die places.sqlite aus" oder "erstelle ein neues Profil und kopiere die Datei dort" oder "verwende den Exporter in Firefox" (was nur beim aktiven Profil funktioniert), habe ich mir die Datenbank sowie die "favicons.sqlite" mal mit DB Browser näher angesehen und festgestellt, daß deren Aufbau sehr simpel und einfach zu verstehen ist.

    Darufhin habe ich Abfragen erstellt, um die Bookmarks auszulesen und diese in ein Python-Script gebaut, das die Daten in eine bookmark.html schreibt, so daß man sie einfach in Firefox in ein bestehendes Profil schreiben kann. Dabei werden alle in ein Untermenü "Import.001" geschrieben, so daß Links nicht in bestehende Menüs "eingemischt" werden oder etwas überschreiben. Von diesem Untermenü aus kann man dann alles, was man noch verwenden will, im Lesezeichen-Manager da hinschieben, wo man es haben will und den Rest löschen.

    Sollte auch mit deutlich älteren Firefox-Versionen und Profilen funktionieren, man benötigt nur die "places.sqlite" und "favicons.sqlite" aus dem alten Profil.

    Zum Export der Icons werden diese per Base64 in die HTML-Datei eingebaut (wie es Firefox selbst auch macht), so daß auch die Icons der Links danach wiederhergestellt werden, sofern vorhanden. Für das Kodieren in BASE64 habe ich die "crypto.dll" verwendet.

    Hier habe ich eine Github-Seite erstellt, da stehen alle Details dazu.

    Vielleicht ist es ja für jemanden hilfreich.

    Gruß

    Christian

  • Hallo,

    richtig, allerdings nur Export im Fall eines aktiven Profils. Ich habe z.B. Backups von Profilen von alten Rechnern und möchte nicht erst das ganze Profil lokal als paralleles Profil hinzufügen, aktivieren, exportieren, wieder auf das eigentliche umschalten, importieren....

    Ich wüßte nicht, daß Firefox einen Export direkt aus einer places.sqlite aus einem nicht aktivierten Profil anbietet.

    Mit dem Skript kann ich ganz simpel alte Lesezeichen in mein bestehendes Profil importieren, brauche dazu nur die beiden sqlite-Dateien.

    Gruß

    Christian

  • Dafür kann man sich ne Portable ziehen mit entsprechender Versionsnummer, kloppt das Profil da rein und exportiert den Rummel.

    Ich finde es gut, wenn sich jemand Gedanken macht und eine Lösung baut. Es ginge aber auch einfacher und schneller ;)

    Und ich kann zB mit Python gar nichts anfangen.

    Hier gibt es keine Probleme, nur Lösungen! Meine Glückszahl hier: 96.

  • richtig, allerdings nur Export im Fall eines aktiven Profils. Ich habe z.B. Backups von Profilen von alten Rechnern und möchte nicht erst das ganze Profil lokal als paralleles Profil hinzufügen, aktivieren, exportieren, wieder auf das eigentliche umschalten, importieren....

    Firefox legt automatisch Lesezeichen-Backups als komprimierte JSON-Dateien an. Auch in dem Fall musst du also kein neues Profil erstellen, sondern kannst einfach darauf zugreifen.

    Ich wüßte nicht, daß Firefox einen Export direkt aus einer places.sqlite aus einem nicht aktivierten Profil anbietet.

    Das sowieso nicht. Firefox hat mit dem Betrachten und Verwalten von SQLite-Datenbanken ja nichts zu tun. Aber wenn es dir nur um Lesezeichen geht, kannst du die Datenbank komplett außen vorlassen.

    Mit dem Skript kann ich ganz simpel alte Lesezeichen in mein bestehendes Profil importieren, brauche dazu nur die beiden sqlite-Dateien.

    Und mit dem Lesezeichen-Backup brauchst du nur eine einzige Datei und kein Python-Script. ;)

  • Hallo,

    natürlich, Firefox verwaltet seine Daten in den sqlite-Datenbanken. Alles Andere sind nur Backups/Exporte.

    Es bleibt Euch unbenommen, es so zu machen, wie Ihr möchtet. Ich stelle nur ein Tool zur Verfügung, daß ich persönlich deutlich einfacher und zweckmäßiger finde.

    Wenn Ihr lieber andere Methoden verwendet, bitte sehr. Die Foren sind allerdings überall voll von Nachfragen, wie man Bookmark-Merging durchführen soll und man hört nur solche Antworten wie, places komplett ersetzen und so - das ist keine Lösung. Ebenso nicht der Import von Lesezeichen aus Backup-HTMLs, denn dann werden alle alten Lesezeichen überall eingemischt. Einen Import in einen spezifischen Ordner kann Firefox nicht. Das Tool generiert aber die übergeordnete Ebene.

    Gruß

    Christian

  • natürlich, Firefox verwaltet seine Daten in den sqlite-Datenbanken.

    Dass Firefox seine Daten in SQLite-Datenbanken speichert, hat niemand in Frage gestellt. Es ging darum, dass Firefox selbstverständlich keinen „Export direkt aus einer places.sqlite“ bereitstellt, weil es ein Implementierungsdetail ist, wie die Daten gespeichert werden und die Anwender nicht direkt mit den Datenbanken arbeiten sollen.

    Ich stelle nur ein Tool zur Verfügung, daß ich persönlich deutlich einfacher und zweckmäßiger finde.

    Das ist auch sehr freundlich von dir. Du kannst aber davon ausgehen, dass es für schätzungsweise 99 Prozent der Anwender mit Sicherheit nicht „deutlich einfacher und und zweckmäßiger“ ist, einen Python-Interpreter zu installieren (der ist standardmäßig auf Windows nicht installiert!), Dateien zu suchen und an einen Ort zu verschieben, Pfade in einem Script anzupassen und das dann auszuführen, als einfach die Werkzeuge zu nutzen, die Firefox bereits hat. Bereits die Vorstellung, etwas installieren und ein Script ausführen zu müssen, ist in der Realität für sehr viele Nutzer, die einfach nur ihre Lesezeichen wiederherstellen wollen, abschreckend und kann pontenziell auch zu einer Überforderung führen. Die Werkzeuge, die Firefox bereitstellt, sind objektiv einfacher zu verwenden.

    wie man Bookmark-Merging durchführen soll

    Der HTML-Import von Firefox überschreibt auch nicht deine vorhandenen Lesezeichen.

    und man hört nur solche Antworten wie, places komplett ersetzen und so

    Ich bezweifle, dass man „nur“ solche Antworten hört. Ich weiß ja nicht, auf was für Foren du dich beziehst, aber in einem Firefox-Forum wie diesem würde man wohl den Hinweis bekommen, dass die Datei places.sqlite nur dann die Antwort sein kann, wenn es nicht nur um die Lesezeichen, sondern auch um die Chronik geht, und dass es noch andere Wege gibt, wenn es ausschließlich um die Lesezeichen geht.

    Einen Import in einen spezifischen Ordner kann Firefox nicht.

    Das ist richtig. Das ist aber halt ehrlicherweise auch ein Wunsch, an den ich mich nicht erinnern kann, dass er hier, im größten deutschsprachigen Support-Forum zu Firefox, in all den Jahren auch nur ein einziges Mal geäußert worden wäre. Wenn, dann war es in jedem Fall sehr selten.

    Ansonsten lässt sich das aber ja auch ganz einfach umsetzen. Dann schiebt man halt die vorhandenen Lesezeichen temporär in einen Ordner, macht den Import, verschiebt die neuen Lesezeichen in einen weiteren Ordner und holt dann die anderen Lesezeichen an ihren Ursprungsort zurück. Das ist über die Bibliothek schnell erledigt und für einen Anwendungsfall, den man normalerweise auch nicht viel häufiger als einmal alle paar Jahre haben sollte, immer noch wesentlich schneller und einfacher als ein Python-Setup.

    Am Einfachsten hat man es sowieso, wenn man einfach die Lesezeichen-Synchronisation nutzt. Das kümmert sich automatisch um den Anwendungsfall der Wiederherstellung und den „Merge“ von Lesezeichen.

    ===

    Ich will dein Script keinesfalls schlecht reden. Du hast da Arbeit hineingesteckt und wahrscheinlich erfüllt es auch seinen Zweck. Ich möchte dir nur erklären, wieso der Bedarf nicht ansatzweise so groß daran ist, wie du es zu denken scheinst, und dass man mit Firefox-Mitteln das gleiche Ziel einfacher und schneller erreicht. Dein Weg fällt halt doch irgendwie in die Kategorie Overengineering.

    Dennoch natürlich Respekt für die Implementierung und Danke fürs Bereitstellen.