Re: [Tracker] Tracker daemon/indexer responsibilities



Jamie McCracken wrote:
On Wed, 2008-06-25 at 19:31 +0100, Martyn Russell wrote:
Jamie McCracken wrote:
On Wed, 2008-06-25 at 16:46 +0100, Martyn Russell wrote:
Hi all,

Thinks are all going well on the indexer-split branch, however, it
occurred to me that daemon has its work duplicated in the indexer. We
need to resolve where the responsibility lies for the daemon and the
indexer.


The Modules
===========

First about the modules. So we have these modules, they all share a
common API. This API includes functions to:

- Index content
- Get directories
- Know if a file or directory should be ignored


actually this is wrong - only index content should be in the module and
only the indexe rneeds to access it

a desktop file should specify what directories and/or regex for files to
be indexed/ignored 

that way only the desktop file is shared
This isn't exactly what I mean.

Take the GAIM module, it should know:

- Where chat logs are
- How to index those chat logs.
- Know what files (in the directory where the chat log are) to ignore.
- Know what sub directories to ignore.

Consider these factors for a module which some 3rd party writes for
product foo. How will Tracker know how to do any of those things above?

the desktop/ini file will contain fields for :

directories to watch
recursive directories to watch
ignore directories regex
files to index regex
files to ignore regex
index executable
index module name
file mime types
service name

we may also need a user config file for each module/executable which the
index content will use

enabled
mod specific settings

Hmm, as we speak we are writing a GKeyFile type approach (similar to a
.desktop file) outside of the .desktop file for modules.

From what you have listed there are are you talking about extending the
desktop file format for Tracker?

Where you have "regex" there, do you mean using the GPatternSpec API
which we currently do or using a real regex? (Possibly the using GRegex)

My feeling at this point (so we can get on) is to just write the code to
get this information from another place (we have in mind
$prefix/share/tracker/modules) and use that for now, then perhaps we can
move over to .desktop files (with the GKeyFile the move should be faily
quick given the API won't change we will just point the code at
different files).

-- 
Regards,
Martyn



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]