Re: [Deja-dup-hackers] Working on some additional S3 options



On 14 October 2010 03:56, Luis Arias <kaaloo gmail com> wrote:
> I wanted to be able to use reduced redundancy storage and european
> buckets on S3, so I started to work on that here:
>
> http://bazaar.launchpad.net/~kaaloo/deja-dup/additional_s3_options/revision/730

Fabulous!  I'd love to merge such support.  Some quick comments:
* I'd prefer a key like "region" rather than "european_bucket" that
could hold the value "us", "europe", and "asia" (since they now have
asian servers too).
* Terminology wise, it's not gconf anymore, but gsettings.  When
testing, use dconf-editor to check/fiddle with the values instead of
gconf-editor.
* Remember to add stanzas to data/org.gnome.DejaDup.gschema.xml.in for
each setting you add.  For "region" you should probably use an enum.

> I will need some help from you on the best way to test this.  I setup
> the new keys in my gconf but have no idea how to do that so I can test
> with ./interactive.  Once this is working, I would need to expose the
> settings through some UI elements in settings.

OK.  So I'm betting that you setting the keys in gconf wasn't done
correctly, because it's not obvious how to do so.

First, as above, you should be using dconf-editor and gsettings
instead of gconf-editor and gconftool-2 respectively.
Second, ./interactive sets up its own personal settings environment so
that your normal deja-dup settings are not changed while tests run or
you're screwing around.  So changing your own user's settings wouldn't
do anything we want.

Without UI, you are going to first want to set the values then run
Deja Dup, set it to backup to S3 and examine the duplicity command
line to see if your commands are there.

In my experience, dconf-editor is still pretty new and likes to crash
when descending multiple levels in the settings tree.  So I'd use the
gsettings command line tool for this.  Since this will require
multiple commands, I'd suggest going into a testing shell to do all
your tests.

Try the following commands:
./interactive shell

Now you'll be at a prompt that has lots of special things set up.  You
can tell by looking at $PATH.  I should probably adjust the shell
prompt at some point so it's easy to tell you're not in your normal
shell.

So from here, do the following:
gsettings set org.gnome.DejaDup.S3 region "'europe'" # (note the
double-quoted single-quotes)
deja-dup

And now test to your heart's content.


Now, for UI changes, we can talk more when you get there, but see
widgets/ConfigPeriod.vala for an example of how to create a special
widget for enum values.  And look at
preferences/PreferencesDialog.vala and how it treats the bucket widget
to add it to the S3-specific part of the dialog.

I worry about exposing too many subtle options to the user.  The
region one is great and should be there.  The RRS one is a subtle
trade-off though.  Not sure how best to explain that to the user.  And
even with the region, there should probably be some way of letting the
user know that changing regions means you lose access to the data in
the original region.

-mt




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