Hi!

On 12 August 2013 11:08, Martyn Russell <mar...@lanedo.com> wrote:
> On 12/08/13 07:43, Jonatan Pålsson wrote:
>>
>> Hi!
>>
>> On 9 August 2013 16:29, Martyn Russell <mar...@lanedo.com> wrote:
>>>
>>> On 08/08/13 14:42, Jonatan Pålsson wrote:
>>>>
>>>>
>>>> Hi list,
>>>
>>>
>>>
>>> Hello Jonatan,
>>>
>>>
>>>> I would like to re-locate the user data directory and user cache.
>>>> Currently these directories are retrieved using g_get_user_data_dir ()
>>>> and g_get_user_cache_dir (), which in turn may be affected by the user
>>>> by setting appropriate XDG_* variables. I would however like a more
>>>> persistent setting, so I added the user-cache-dir and user-data-dir
>>>> keys to the org.freedesktop.Tracker.DB namespace in DConf.
>>>>
>>>> The behavior of the two keys is similar. If the key is set, it takes
>>>> precedence over g_get_user_*_dir () and the supplied path is used for
>>>> storing the files. If the key is empty (the default setting), the old
>>>> behavior is preserved.
>>>>
>>>> Please see the following patch:
>>>>
>>>>
>>>> https://github.com/Pelagicore/tracker-ivi/commit/213456024d686305d0f6a30b09fa81f04e601fdd
>>>>
>>>> I also have a patch for setting the path to the ontology directory. I
>>>> will submit it in a different thread to keep the discussion separate.
>>>
>>>
>>>
>>> Can I ask why do you need this sort of patch?
>>>
>>> You can accomplish everything the patch achieves AFAICS by just setting
>>> the
>>> $XDG_CACHE_HOME, $XDG_CONFIG_HOME and $XDG_DATA_HOME environment
>>> variables
>>> before running any one of the Tracker binaries. In fact, this is what I
>>> do
>>> in the script I wrote to have localised Tracker DBs for different
>>> datasets.
>>>
>>> I would like to avoid adding more config and maintenance burden to
>>> specify
>>> locations. We already have a lot of that.
>>>
>>> Is there some reason the env vars are not enough?
>>>
>>
>> Yes, the same functionality can be accomplished by using the
>> environment variables already in place. I think the configuration
>> options make it clearer for the user that these values can be changed
>> however. By having the options available in the config, they are
>
>
> The user shouldn't be changing these sort of things though.
> This is really an option for packagers and people who are integrating
> Tracker into their environment.
>
>
>> easier (in my opinion) to set for users. Previously, with the
>> environment variables, a wrapper script had to be written to
>> accomplish the same thing.
>
>
> I guess that depends how launch things.
>
> If the environment is set in your ~/.bashrc (for example), then there is no
> wrapper script needed).
>
> It sounds like you need a unique solution here for "a" user, not all users.
> Consider that adding an option like this and setting up the config per user
> is much more involved than using a wrapper script or the correct .bashrc /
> skeleton.
>
>
>> Ideally, I would like all available options not set at compile time to
>
>
> This isn't a compile-time thing. It's a run-time thing.
>

Yes, poor choice of words from my side. I would like all values, which
are not decided on compile time, to be in the config.

>
>> be in the config. This would make the config a centralized place for
>> all configuration, and users could inspect it (and also get valuable
>> descriptions for each option if using a graphical configuration tool).
>
>
>> Settings can be exported using "dconf dump" and loaded using "dconf
>> load" - which would allow a user to save all settings and restore them
>> at a later point. This only makes sense if all settings are stored in
>> dconf however.
>
>
> Do you have a real use case for this?
> Most users, in fact, I would wager a great deal of them don't know where the
> databases are or really care. Again, I see this more as a packaging /
> systems integrator issue than a user issue - and the config is primarily for
> user configurable options.
>

Yes, this is probably the core issue. I view the config as a general
purpose store for configuration options. I understand the opposition
for these sorts of changes if this is not correct usage of the config
in Tracker.

>
>> We probably have different visions for the config, mine is to make it
>> a central repo for *all* configuration. What is the official stance on
>> what goes in the config and what goes elsewhere?
>
>
> There is no official stance really.
>
> With each configuration option you add maintenance burden. If users aren't
> interested in changing an option we generally remove it. We do use
> environment variables to override a lot of stuff, see:
>
>
> https://developer.gnome.org/libtracker-sparql/unstable/tracker-overview-environment-variables.html
>
> These are not what we would generally expect a user to be playing with
> though. They are more debugging / operational changes which systems
> architects may choose to use for whatever integration purposes they're
> considering.
>
>
>> Also, Philip: I have a new set of patches which should fix the issues
>> you showed. I will wait with submitting them until I know whether this
>> idea is at all interesting! :)
>
>
> Which issues?
>

There were quality issues with the patches I submitted, the new
patches are on the usual GitHub.

Thanks for discussing the placement of configuration options, it is
very interesting. I can see the point of separating integrator / user
options in different "systems" (env. variables / dconf), since this
allows Tracker to make it harder for users to change sensitive
options. I don't have any argument other than that it would be nice to
centralize all config options. I still think this would be nice, but I
won't submit more patches of this sort ;-)

>
>> Thanks to both of you for reviewing the idea & patch!
>
>
> Thanks Jonatan ;)
>
>
> --
> Regards,
> Martyn
>
> Founder & Director @ Lanedo GmbH.
> http://www.linkedin.com/in/martynrussell



-- 
Regards,
Jonatan Pålsson

Pelagicore AB
Ekelundsgatan 4, 6th floor, SE-411 18 Gothenburg, Sweden
_______________________________________________
tracker-list mailing list
tracker-list@gnome.org
https://mail.gnome.org/mailman/listinfo/tracker-list

Reply via email to