Re: [Usability] About virtual folders
- From: Eric Larson <elarson novell com>
- To: Jamie McCracken <jamiemcc blueyonder co uk>
- Cc: usability gnome org
- Subject: Re: [Usability] About virtual folders
- Date: Sat, 01 Oct 2005 12:46:51 -0400
On Sat, 2005-10-01 at 12:03 +0100, Jamie McCracken wrote:
> Eric Larson wrote:
> > On Fri, 2005-09-30 at 18:37 +0100, Jamie McCracken wrote:
> >
> >>Maurizio Colucci wrote:
> >>
> >>>Hello,
> >>>
> >>>I haven't read any discussion, or concrete plan, about virtual folders
> >>>a-la Vista. Or labels a-la gmail. Do you like the feature?
> >>>
> >>
> >>Yes I am working on this :
> >>
> >>http://freedesktop.org/wiki/Software/Tracker
> >>
> >>which if/when integrated in Nautilus or Gnome-VFS will give you VFolder
> >>ability as well as metadata/indexing/thumbnailing on the fly. Tracker is
> >>intended to be a replacement for the defunct Medusa (which was supposed
> >>to give Nautilus vfolder capability).
> >>
> >
> >
> > It might be worthwhile to consider using beagle.
>
> By all means. I wrote the freedesktop spec for file metadata(1) to
> encourage both Kat and Beagle to adopt it too. (you really dont wanna
> have two indexers running at the same time!)
>
> The main technical hitch for Beagle is Lucene's single table DB which is
> not scalable for storing hundreds of different metadata (the more
> indexes on a table the slower it becomes to insert stuff and it will
> increase memory consumption dramatically too if lucene keeps its indexes
> in RAM). As a result, I urge Beagle to use Sqlite to store their
> metadata for searching using multiple tables to avoid the "too many
> indexes on a table" problem (though they turned down my suggestion to do
> this a while ago).
>
> THe following table structure for sqlite can store an infinite amount of
> metadata per file whilst only needing 4 indexes (two are primary keys)
> for fast searches:
>
> Create Table Files (
> FileID integer not null,
> FilePath varchar not null,
> FileName varchar not null,
> Primary Key (FileID)
> );
>
> CREATE UNIQUE INDEX IndexFiles ON Files (FilePath, FileName);
>
> CREATE TABLE FileMetaData (
> FileID INTEGER Not NULL,
> MetaDataID INTEGER Not NULL,
> MetaDataValue Varchar Not Null,
> Primary Key (FileID,MetaDataID)
> );
>
> CREATE INDEX IndexFileMetaData ON FileMetaData (MetaDataID, FileID);
>
> Please encourage Beagle to consider this. Tracker's emphasis is on being
> a replacement for Medusa rather than Beagle as such and for providing a
> memory efficient non-bloated search engine/metadata framework for
> systems unable to run mono/beagle (think desktops with only 256MM RAM or
> less or embedded platforms like Maemo) and for those unwilling
> politically/legally to use mono.
>
> (1) http://freedesktop.org/wiki/Standards/shared-filemetadata-spec
>
While I do not work on beagle, I was under the impression it does use
SQlite. Also, from a design perspective, I agree that there is more
flexibility in multiple tables, but joins are very expensive to a
database so it is possible that the costs to do joins in this type of
application may out weigh the benefits of using multiple tables. With
that said, I have no clue if that is the case :) I would suggest
bringing up tracker to the beagle project if you haven't already.
Beyond all this, I really think vfolders are a great idea for nautilus,
especially if they can be dynamic as well as working like tags.
Eric
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]