Alexander Larsson wrote:
Supporting more filter types. As you know Tracker supports a vast array
of metadata (as per the freedesktop spec) which neither Beagle nor the
simple non-indexed search supports atm so I think we need some query
capability call in the backends. Tracker also supports operations
(equals, contains, <>, >, <, between) which are more relevant depending
on the metadata type being searched (ie a date would use between, =, <,
> as would an integer based one like filesize). AFAIK Beagle also
supports date ranges. Are you happy to support this if I create a patch?
The plan was always to support more filters. So, any sane ones that most
backends can support would be accepted. Of course, its a little
problematic if its not possible for the "simple" backend to support
them.
Well yes I take it the simple one would have problems with any metadata
like "document author". I was thinking of just having a function in the
backend which indicates what metadata it supports :
EG:
gboolean
nautilus_search_metadata_supports (const char *metadata_name);
which returns TRUE if the backend can filter on it.
In Nautilus we would then have more generic filter functions:
nautilus_search_metadata_equals (const char *metadata_name, const char
*metadata_value)
nautilus_search_metadata_greater_than (const char *metadata_name, const
char *metadata_value)
nautilus_search_metadata_less_than (const char *metadata_name, const
char *metadata_value)
nautilus_search_metadata_between (const char *metadata_name, const char
*lower_metadata_value, const char *upper_metadata_value)
(metadata_name would use the freedesktop spec name.)
Does the above sound okay?
--
Mr Jamie McCracken
http://www.advogato.org/person/jamiemcc/
--
nautilus-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/nautilus-list