Common spec/interface for file metadata

Jamie McCracken jamiemcc at blueyonder.co.uk
Mon Sep 5 20:10:33 EEST 2005


Benedikt Meurer wrote:

>>
>>I agree with you but I doubt we can persuade the established players
>>(especially Beagle which uses a ready built lucene backend - they would
>>find it tough to replace that).
> 
> 
> I'm aware of this fact. Sad but true. On the other hand, Beagle is far
> from stable (for example, the German "Linux Magazin" had a comparison of
> various desktop search engines and Beagle didn't look good there), so
> there's still room for improvement, and maybe while thinking about that,
> they could switch to a common metadata backend.

I had mention that to them a while ago telling them that they could 
store relational data more easily and efficiently using sqlite rather 
than the flat file lucene backend but they rebuffed my suggestion.

> 
> And even if the Beagle guys aren't going to adopt the standard backend,
> there are still a lot of other systems that would adopt it. For example,
> I read that KDE 4 should offer better integration of Kat, and for Xfce's
> new file manager, I'd also like to add search functionality based on
> metadata (and display metadata in the icon/detail view where applicable).

KDE4 will have tenor which is postgres based AFAIK and will incorporate 
Kat. I am writing my own indexer called tracker which utilises the 
embedded mysql library (which is much much smaller than the 
client/server mysql) rather than sqlite due to the fact sqlite is not 
guaranteed threadsafe and mysql also gives you full text indexing for 
free. XFCE might be interested in this too so I'll keep you posted.

> 
> 
>>In absence of agreement from them, the
>>common interface or common API is the only other way but bearing in mind
>>Beagle is managed code, you cannot call any functions in it in-process
>>from unmanaged code ergo we are back to IPC. Nautilus also forbids
>>synchronous access to files so it needs to be async access only so again
>>it would not be possible to use database in-process here too unless they
>>have async api (AFAIK neither sqlite/BDB do)
> 
> 
> Nautilus accesses configuration and metadata files synchronously, as do
> most other file managers. And even if this should ever turn into a
> problem, the file managers could simply do the metadata lookup in a
> separate thread w/o any RPC overhead.

Only Gconf access is synchronous in Nautilus. All other metadata is read 
asynchronously and the maintainer has already said he wont accept a 
synchronous solution nor one linked directly to a database.

-- 
Mr Jamie McCracken
http://www.advogato.org/person/jamiemcc/



More information about the xdg mailing list