Bookmarks shared among desktop environments
Dave Cridland
dave at cridland.net
Tue Apr 19 11:57:47 EEST 2005
On Mon Apr 18 21:21:53 2005, Waldo Bastian wrote:
> On Monday 18 April 2005 20:39, Jamie McCracken wrote:
> > We dont need a solution to this for Dconf at this point. However I
> > suspect the keys will look something like :
> >
> > Key Value
> > org.freedesktop.bookmarks.web.1.uri http://www.slashdot.org
> > org.freedesktop.bookmarks.web.1.displayname Slashdot
> > org.freedesktop.bookmarks.web.2.uri http://linuxtoday.com
> > org.freedesktop.bookmarks.web.2.displayname Linux Today
> >
> > org.freedesktop.bookmarks.folder.1.uri /home/jamie/documents
> > org.freedesktop.bookmarks.folder.2.uri /home/jamie/hacking
>
>
> That's something that bothers me about key based configuration
> systems... what happens if I remove org.freedesktop.bookmarks.web.1
> ? Do my bookmarks then start at 2? Are 1 and 2 some sort of
> sequence numbers, or should they be seen as unique identifiers?
> Should the config system have a function for "give me a new id that
> isn't used yet" ?
Yes, this is why ACAP:
a) Stores bookmarks as structures, in effect - you can delete
individual attributes, but you "know" you're doing it. Deleting a
bookmark involves deleting the structure.
b) Sorts bookmarks according to a case-insensitive comparison of a
string, rather than a numeric identifier - so there's no implied
meaning that "2" means the second bookmark.
ACAP doesn't have a "Store unique", however, which is definitely
useful for this sort of work. (I put in an extension to handle it).
I implemented ACAP bookmarks a while ago. They work reasonably well,
although I did extend the sorting so it wasn't sorted by the entry
name (which is, in effect, an opaque id). I use them both for roaming
my web bookmarks (although it's not integrated into any of the
browsers I use), and for bookmarking other sorts of URIs, like
interesting emails.
See
http://www.ietf.org/proceedings/03mar/I-D/draft-ietf-acap-book-06.txt
IIRC, Randall Gellens is thinking of updating it slightly.
IMHO, if we're serious about wanting to store lightweight
database-like data in D-Conf, then we really ought to consider
replacing a key/value system with a key=>{collection of named
attributes} system. key/value pairs are easy to implement is such a
model, whereas emulating structures within a key/value model looks
like a nasty hack.
If we turn D-Conf into a lightweight database, then we can easily
store bookmark data, personal addressbooks, dictionary entries,
standardized structured email configuration, etc. In effect, we can
handle everything ACAP was designed to do.
Dave.
More information about the xdg
mailing list