[Tracker] REVIEW: api-cleanup branch
- From: Martyn Russell <martyn lanedo com>
- To: Tracker mailing list <tracker-list gnome org>
- Subject: [Tracker] REVIEW: api-cleanup branch
- Date: Thu, 13 Feb 2014 18:25:46 +0000
Hello all,
So Carlos recently finished the api-cleanup branch¹. I am reviewing it 
here because it is important people understand the changes going on AND 
to give some feedback before merging.
¹ https://git.gnome.org/browse/tracker/log/?h=api-cleanup
So comments:
1. First, thank you Carlos for clearing up the documentation aspect of 
libtracker-miner. There was some left over crap which we've moved out to 
libmediaart and now we should have less warnings when compiling AFAICS :)
2. The tracker-accumulators.h has:
+#ifndef __LIBTRACKER_MINER_UTILS_H__
+#define __LIBTRACKER_MINER_UTILS_H__
...
+#endif /* __LIBTRACKER_MINER_UTILS_H__ */
Which seems wrong, given it's in libtracker-common? :)
3. The tracker-crawler.[ch] looks like a lift and shift to 
libtracker-common, but I wonder why it's moved out of libtracker-miner. 
It seems certainly to be a feature you would use from libtracker-miner? 
What I don't understand is why the Makefile.am on master shows the 
crawler sources as a separate variable to the other sources. Maybe 
that's why you moved it? I would think it makes more sense to keep it in 
libtracker-miner even if it was private and just keep the header 
internal to that library? Logically, those functions are not useful 
anywhere else in the code base and I would rather not bloat 
libtracker-common.
4. The tracker-storage.[ch] move made me laugh. This poor bastard has 
been moved about, copied and pasted a bunch of times and there is even a 
copy of it in libmediaart :) I think it was in libtracker-miner because 
we need to know about storage for file system based miners and it makes 
sense logically. Just wondering why you moved it out of 
libtracker-miner? Saying that it looks like it was private anyway in 
libtracker-miner. So moving it makes little sense and logically it 
should be in libtracker-miner, given it's used for mining. No other 
modules use that code IIRC, that's why we moved it out of 
libtracker-common some years back.
5. I like the rename to tracker-miner-online.[ch] from 
tracker-miner-web.[ch]. One concern I have is that it makes things 
simpler (which is good), but also seems to remove any capability for 
online services. Previously with miners like the Flickr miner, we needed 
a way to authenticate and get an OK from the end user to index that 
data. What we have in master currently is a basic version of the GOA 
stuff that has come on leaps and bounds AFAICS. So are you assuming 
those miners using the old API will need to figure all that out 
themselves now? I should add, I think the use of this API is pretty 
limited to one miner right now, maybe 2?
6. I think moving tracker-miner-manager.h is possibly a mistake. It's 
used by tracker-control and I have a feeling that others are making use 
of that API (outside the community).
7. Nice catch with tracker-writeback/ if we really were getting the 
MinerManager and doing nothing with it :)
****
So in general, I like the changes, I think some of the removals (like 
password provider and some of the authentication web miner stuff) really 
only affect one miner or so, most don't need that framework.
However, the miner-manager removal does concern me because there is no 
way for people interested in the indexing processes to get an overall 
state or idea of what is going on now without checking each miner. Also, 
there is no way to control ALL miners collectively which is quite 
important for some systems (IIRC Nokia paused all miners when a call 
came in or was made). It seems there is no way to do this now easily.
Other than that, great work Carlos! :)
--
Regards,
Martyn
Founder & Director @ Lanedo GmbH.
http://www.linkedin.com/in/martynrussell
[
Date Prev][
Date Next]   [
Thread Prev][
Thread Next]   
[
Thread Index]
[
Date Index]
[
Author Index]