Download
View the (NEW) bookmark scrubber Python script
and the implementation document here.
Download the (OLD) bookmark scrubber Javascript project.
This project originally started out as a backup and restore utility.
Some may ask why is something like this needed when there are already
some that exists out there.
FEBE
(Firefox Environment Backup Extension) is one such utility and
is my most favorite of these types.
Xmarks (formerly FoxMarks) is
also an interesting one.
But all of these didn't solve a few problems I was having.
Issue #1: sync
On my day to day operations, I work on a lot of different computers.
A few at the office, a few at my home, portables, etc.
Every now and then, my bookmarks on one computer doesn't match those on my
other ones. And it gets to be a real pain in the @$$ to try and re-sync
them. The bookmarks, either in the HTML format or the JSON file (that's smashed
in to one line), contains extra data that I don't really need.
These make the diff proggy fill up the screen with a pile of cruft.
- ADD_DATE="..."
- LAST_MODIFIED="..."
- ICON_URI="..."
- ICON="..."
However, there is something I do need that's inlined with the bookmark
entry in addition to the description data that's kept on a separate line:
Diff with false postive changes (in red) with interested valid ones (in blue).
Issue #2: scrub
Storing the bookmarks online sounded fun, but I wanted to do it with one
caveat. Xmarks has private features as well as hosting bookmarks on your
own servers. But, there are entries that I do not want published anywhere.
Say I would like to use the social features available there, and I work
with a pile of clients and accumulate a lot of
internal links that shouldn't
just be seen by outsiders. Private features or not, a shared remote
hosting site is still a non-trusted location.
Intranet links describes network architectures that are very useful for
hackers or others with nefarious purposes.
Therefore, I needed a way to scrub my bookmarks. One way is to allow bookmark
item be tagged within the Bookmark Organizer and a public-friendly version
can be exported. Some items I filter out includes:
- internal corporate/contracting networks
- intranet at home
- banking/investing accounts
- bill pay accounts
- health insurance
- benefits info
- stuff I keep track for my folks (you know you're the IT person for them...)
- etc.
Bookmarks with personal folders that I do not wish to be made public.
In a nutt shell
The ability to sync bookmark data a little less painful meant sticking with
a human readable JSON data format. This allows for rapid backup and restoration
features to be still used. As well as having the option to use basic revision
control systems to control which bookmarks were deleted, moved or edited.
Diff of human readable streamlined JSON dataset.
A project using the Bookmark Scrubber
An example of using the generated bookmark scrubber output would be
my bookmarks available online.
Releases
version 1.0
-
Python Script
Contains the functions jsonbkmks()
and json2html() all written in
Python. The code can be compared against the JavaScript version for
reference. The Python script runs much faster than the JavaScript
version.
versions pre-1.0
Note: these are the JavaScript versions
-
jsonbkmks
Extracting the bare essential JSON entries needed for the Bookmark
Organizer's restore feature
to still work.
The streamlined data is formated to be diff-edit-merge friendly.
-
json2html
This generates the public (scrubbed) and private (unscrubbed)
HTML bookmark versions.
-
crypto
Encryption and decryption examples. Useful when archiving
private (unscrubbed) data to a shared hosted site.
Change List
- v 1.0
Python version of the bookmark scrubber project
- v 0.4
JSONBKMKS: generate the scrubbed version of the streamlined JSON format
- v 0.3
JSONBKMKS: generate bookmarks in a streamlined JSON format that is diff-edit-merge friendly
- v 0.2
CRYPTO examples
- v 0.1
JSON2HTML: generate public + private bookmarks in the HTML format
Copyright © 2009-2010 by
ESTSS. All Rights Reserved.