On Mon, 2005-03-07 at 22:58 +0100, Kristian Berg wrote: > I'm adding a > F-SpotQueryable in beagled who (in theory) will open f-spot's photo > database using Mono.Data.SqliteClient and get all tags and all photos > with those tags. The idea is that you can search for "birthday 2005" and > all photos who have been tagged with birthday 2005 in f-spot will show > up.
As an enthusiastic user of f-spot, I would love to see better beagle/f-spot integration. I don't know if a separate FSpotQueryable is the right way to go. Since f-spot stores photos on the file system, they will already get indexed by the FileSystemQueryable. Thus the FileSystemQueryable seems like the reasonable point of integration. At one point I did a crude hack to index f-spot data, but it is currently disabled. (The code is still in beagled/FilteredIndexable.cs, but it is #if false/#endif-ed out.) It seems to me that there are two reasonable ways to approach this problem, but both have problems: The first approach is the one I used: basically attaching the f-spot metadata to the file when it is indexed. That let's you search the f-spot metadata for free, but there would have to be a way to keep the lucene index up-to-date if the f-spot db is changed. If you can get fine-grained notification of f-spot db changes, this would probably be the way to go. If not, it might be hard. The second approach would be to do a separate search of the f-spot metadata at query-time, and then both adding the matching files to the list of hits that comes out of the lucene index and attaching the necessary metadata to the hits before the are passed on to the client. Some of the infrastructure to do stuff like this is already written, and should land in CVS soon. But it also requires us to search the f-spot database ourselves, which could introduce other problems. One option would be for f-spot to maintain a small lucene index for its tags, but Larry might not like that idea. And getting notification of changes is still a problem. > Hope I'm not wasting your time with these questions... Definitely not. I hope the above helps. Good luck, -J _______________________________________________ Dashboard-hackers mailing list [email protected] http://mail.gnome.org/mailman/listinfo/dashboard-hackers
