Re: [Usability] About virtual folders



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]