← Back to team overview

genesis-devs team mailing list archive

The (non-existant) state of Genesis 0.5

 

Hi!

Since we have an empty 0.5 branch around for some time, I thought it
could be about time for thinking what to put in it. It’s probably good
to coordinate efforts, so that we don’t break stuff that others rely on.

We once had a vague feature list for Genesis development, so I thought
we could use this to discuss what to put into 0.5 and what to postpone
for later releases.

1. Account management support.

As far as I see, this is one of the biggest changes, meaning that a)
Genesis will get some sort of “main window” where it used to live solely
in the sys tray. And b) editing existing accounts will finally be
possible.

David, you had some working code, so I just wanted to ask: Is this ready
to be merged into 0.5? If not, what is missing? Can I help with
anything?

2. Support for Gnome keyring passwords.

Important, should be done together with 3.

3. Investigate the new D-Bus based configuration API in SyncEvolution.

Since SE 1.0b2 is out, I decided to install it on my developer machine.
So I’ll start working on it again, since we now have a stable API to
implement. But: This interferes with other relevant parts, e.g. Account
Management, so we should carefully coordinate our efforts.

4. Support for synchronize more than an account at once.

If I understand it correctly, this is a side-effect of the account
management? Is this already implemented?

5. Refine the UI, make it Gnome HIG compliant (low priority).

Account Management should be designed HIG compliant from the start,
other relevant changes should be noted (i.e., reported on LP). Probably
won’t interfere with other parts, so low-risk.

6. Improve disabled origins handling (very low priority).

Implemented (if I remember correctly).

7. Improved notification area icons.

Implemented.

8. Create a new action system.

Mostly done. I am currently working on the last missing icons (I’m not a
designer, though …). Some rough edges might have to be smoothed out, but
I think it could be merged into a 0.5 branch soon for alpha testing.

Additionally, another point came to my mind, which is related but might
be discussed separately:

9. Refactoring.

You split the rather monolithic genesis.py in smaller pieces, especially
creating separate files for dialogs etc. This is very reasonable and
important to do it rather sooner than later. But I think these changes
should be merged as soon as possible, because otherwise merging other
changes on the moved parts will be rather difficult.

10. Improved error handling, log display

Error handling is hardly present, except for the possibilty to display
(parts of) the console output. This should be improved, e.g. with adding
the possibility to restore backups. But I guess this should be done
after D-Bus integration (and possibly in 0.6).

So, im my eyes there are only few, related tasks for a possible Genesis
0.5:

1) Account Management (includes Refactoring, concurrent syncs)
2) New action/messaging system (almost done)
3) D-Bus API (includes password handling, is required for error
handling)

2) is not a big issue and rather independent. But 1) and 3) rely on each
other, since the D-Bus API changes the way configurations are handled,
which will change some aspects of the way account management works.

So I think there are several ways to go:

     1. Wait with merging the account management until the D-Bus API is
        in shape. But since some refactoring has taken place in the
        account management branch, these parts would make later merges
        difficult. 
     2. Merge account management with the current SE interface, and
        adopt it to the new SE interface while implementing the D-Bus
        API.

I personally think that the second way is preferable, but I don’t know
if you think that account management is in a state that it can be merged
in the nearer future. So if you need any help with that, or if I should
pick up some parts, please just drop me a note.

If you have any other comments, or other ideas, don’t hesitate to say
so.

Cheers,
Frederik