Hi again!

Am Mittwoch, 01. Oktober 2008 19:56:25 schrieb Jason Tackaberry:
> The database arranges objects in a parent/child relationship,
> corresponding to the filesystem hierarchy.  All objects have a media
> object as their top-most ancestor.

That's IMHO a logical, obvious structure and exactly the same one that I used 
in my home-grown filesystem indexing code.

> One of the design goals for kaa.db was to allow plugins to extend the
> database at runtime by adding custom attributes.  This is generally
> transparent to other plugins using the same database (except with
> respect to potential name collisions).

Thanks for summing that up, that's how I remembered it from your discussions 
but I never looked at the code (except recently, but that was unfortunately 
an older non-working SVN state and I was offline).

> beacon, which builds on kaa.db, exposes much[*] of this flexibility.
> Your requirements in 2) can be satisfied by extending the media object
> by allowing a user-editable label and disk number.  This can be
> accomplished by calling (on the client side):
>
>     # This can safely be called more than once.
>         kaa.beacon.register_file_type_attrs('media',
>            user_label = (unicode, ATTR_SEARCHABLE | ATTR_IGNORE_CASE |
> ATTR_INVERTED_INDEX, 'keywords') user_id = (int, ATTR_SIMPLE)
>         )

Thanks for the pointers/code, the name "user_label" is exactly what I had in 
mind; maybe this could be "the" standard attribute for this purpose (as I 
wrote, I'd use the disc's iso9660-label as fallback if this attribute has not 
been manually set).

> The above creates two new attributes for the media object.  user_label
> is a unicode and can be searched on directly (because it is a column in
> the media objects table), and as well gets mapped to the 'keywords'
> inverted index, which means that any keyword searches which match words
> in the user_label would include the media object.

That's really clever.  I did not expect such powerful features from the above 
LOC. :-)

> > Also, my impression of kaa.beacon is that it's a indexing and caching
> > system.
>
> I suppose that's a pretty simple description of it.  It also takes care
> of thumbnail generation.

Yes, but what I had in mind was the characterization of beacon as some 
component that only generates data that can be deleted and re-generated at 
any time.  AFAICS it makes sense to seperate such data from more expensive 
one (user-generated or user-selected web content), even though both would fit 
very well within the same DB structure.

My idea was to use something like the .fxd files to make the latter types of 
data more permanent (and Dischi thought along the same lines IIUC), which 
does not prevent kaa.beacon from duplicating their content in a better 
accessible way, i.e. through additional attributes in the DB.

Probably, cover images should not really be duplicated but referenced by 
appropriate filenames in the DB; for removable media, one would need a cover 
image cache directory though.  (That could be Freevo stuff at first, at least 
I would not expect that functionality to bee within kaa.beacon.)

That's what I had in mind when I wrote:
> > While it should be feasible to write export/import functionality to
> > backup its index (or maybe even import 3rd party indexes as wished by
> > Sylvain in the above thread), I thought about making user-generated data
> > more visible and permanent by writing it to .fxd files.  Would that make
> > sense?
> [...]
> I don't know if freevo 2 does away with fxds.  Dischi?  I suppose fxds
> could still be used as an overlay on top of beacon.  But they may
> overlap too much in function to make that ideal.

Maybe the overlap vanishes when kaa.beacon is declared to only cache and index 
data (IMHO thumbnails are very similar to a cache or index) and in fact both 
would complement each other quite well?!

Thanks for your answers,
  Hans

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Freevo-devel mailing list
Freevo-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freevo-devel

Reply via email to