The SRESI bookmarks manager

Table of Contents


  1. Quick Description
  2. Interface and Warnings
  3. Development Journal
  4. Contact Points
  5. Thanks
  6. References



User Manual

Bookmarks Import

Technical Notes

Possible Evolutions

XBEL Formatting




Quick Description

SRESI is a smart bookmarks manager: it was written as a bridge between the good, old hierarchical representation and the more modern tag-based social bookmarking.

I find the hierarchical view too-rigid, but easy to use. On the other hand, tags are more flexible, but do not allow the same simple viewing experience as the good old tree.

SRESI can switch from a list of tagged bookmarks to a tree or portal view, with directory names and tags seen as equivalent.

Going from tree to tagged list is easy enough. For the other way, SRESI can take a tagged list and generate an exhaustive tree or a portal, where each bookmark is at every place in the hierarchy you can expect to find it. Tag parentage is infered and absurd branches absorbed back in their saner versions.

An import function is provided for the most common formats (Delicious, Mozilla, Opera, XBEL).

Oh, by the way, SRESI stands for Stockage, Recherche et Export de Signets Internet (Storage, Search and Export of Internet Bookmarks). Not great, but the few good ideas I managed to scrounge up were already taken.

Interface and Warnings

SRESI's main interface is command-line based, but a set of PHP scripts now gives an easier access to most functions. They even allow the good old staple of Web 2.0: the tag cloud.

Be aware, however, that these scripts are not safe enough for a public server, as I have no PHP experience to speak of.

If, despite all warnings, you are still interested, be welcome.

Development journal

The current stable branch is now the 0.19.14.x series of bugfixes. The latest is, released 2007/12/02.

The current development release is 0.19.19, released 2008/01/13.

Release Notes

The latest version is yet another clean-up release. For a change, I did not stop at the tag library, but also worked on the Makefile and the program itself. The one feature is, counted tags are now listed in alphabetical order.

One last-minute problem: I changed my configuration, and checkinstall does not work like it used to. I have no time to find out why right now, so the RPM will be late.


First of all, I am changing jobs: it is a great opportunity, but also a challenge, taking me out of my usual skill range. I will have to devote most of my energies to this, and SRESI should go on the back-burner. This comes at a good time, as a lot of heavy work has been done, and the finer details can drift in slowly. Let's say I will try and keep at least a monthly schedule, barring urgent bug-fixes.

I have to improve the Makefile: this is disgraceful and bothersome.

I will add the unbalancing optimisations back in, with a sliding scale rather than a simple yes/no. I will also finish the library/application split. Both of these open the way to a new stable branch.

Once Tag.mli is clean and documented, I will need to mooch comments off the OCaml mailing lists to try and make it somewhat elegant, though anyone is welcome to participate (this is a heavy-handed hint).

Longer term, I have yet another idea for an optional parameter to hold whatever elements changed during a set edition (it would allow me to edit a hierarchy more efficiently). And I will have another go at taking the tag database out of the bookmarks collection, plus some interface clean-up, and later the AJAX tree output.

For the longer term, the TODO in the source distribution files is mostly up-to-date.

I have talked with some friends about documentation management: maybe I will try and port SRESI to this. It would change my mind, get me a few more interested parties (and maybe some comments and/or help), and also help me get a better grasp of what can be generic and what cannot.

Maybe also some cleaned-up portal outputs, though that would mean design, HTML and CSS, which are not exactly my cup of tea (this is a hint).

Request For Help

Do not hesitate to report bugs, I breathe SRESI programming so much I can barely stand to really use the thing anymore. Meaning I do not ever test enough and regularly miss things I should not.

Feature requests are also welcome: they can show me what users are actually interested in. I can not guarantee that I will always work on them, whether it is a matter of interest, time or skill, but I will always at least think and talk about them.

It may have come to the attention of the more observant among you that my web design skills are even worse than my coding skills: if looking at my PHP scripts, HTML pages or mangled CSS hurts your eyes, please do not hesitate to send me your suggestions, or better yet your code and templates.

One last point: about any character can be used in tags, except for the comma ','. Since I guess nobody uses the semicolon ';' in tags, as it would clash with the tag-separating commas, I thought I could change the tag-separating character to the semicolon. The problem is, it would mess all DSV and SRESI adapted bookmarks files (mine included).

What do you think of it? I'm perfectly willing to do a transition application to do the switch on any format supported by SRESI (Mozilla, Opera, XBEL and the native formats, of course), but I would like some feedback.

Thank you in advance.

Contact Points

Contact the webmaster or SRESI's author.

To be honest, both are redirections to my mailbox: I just want an easy way to filter my inbox, should it ever receive SRESI-related mail.

In case it was not clear, I welcome all constructive criticism, advice or even code: I have worked alone on this for a very long time, and developed quite a few blind spots: even simply telling me where the crap is would help.


First, my apologies to all the friends and acquaintances I bored with my program and tried to badger into testing: there are too many of them to count.

Second, my thanks to those few who actually tested and commented (you know who you are).

And last, thanks to my only contributor, Andrey Bondarenko.


Valid XHTML 1.0 Strict The Caml Language