GTG

Graphical interface for backends

Bug #336623 reported by Lionel Dricot
28
This bug affects 4 people
Affects Status Importance Assigned to Milestone
GTG
Fix Released
High
Luca Invernizzi

Bug Description

Allow the user to configure/choose its backend

We should have a window to handle different task source (just like accounts are handled in empathy). It will require to refactor all that project stuff into tasksource objects.

Related branches

Changed in gtg:
importance: Undecided → High
milestone: none → 0.2
status: New → Confirmed
description: updated
Revision history for this message
Paul Natsuo Kishimoto (khaeru) wrote :

Should this eventually allow multiple backends to be operating simultaneously?

If so, then all the task-related GUI stuff will have to be changed to show what backend a task is associated with, so the user can control which tasks go where.

Maybe at first it is better to choose just one backend at a time?

Changed in gtg:
milestone: 0.2 → 0.3
Revision history for this message
Luca Invernizzi (invernizzi) wrote :

What do you think of this mockup (backend_manger_mockup.png)?
It's very similar to the plugins one (<in a Steve Ballmer voice> consistency,consistency,consistency), except that the preference button has been moved up, as in the plugin manager I find it not immediate to understand that the preference is for the plugin, due to its position.

It should have everything Ploum said in the backends email.

Revision history for this message
Lionel Dricot (ploum-deactivatedaccount) wrote :

Luca > That's exactly how I imagine it but it misses :
- an "default backend (catch remaining tasks)" option
- backend specific option (for twitter/launchpad, it would be login/pass for instance)

Revision history for this message
Luca Invernizzi (invernizzi) wrote :

Backend specific options should be handled by the backend via the "preferences" button.

I don't catch why we need a "default backend". If a backend catches all tasks, it's a default backend (and surely need at least one backend that catches every task).

Right now I'm thinking that you mean that a backend has exclusive possession of the tasks tagged with his tag. But that doesn't make much sense, since a user could want to give multiple tags to a task that are saved in different backends.

Revision history for this message
Lionel Dricot (ploum-deactivatedaccount) wrote :

Luca > that's indeed what I've written in my mail. A task could be part of differents backends. But you don't necessarily want all your tasks in one backend. So I believe that there should be a way to just "catch all tasks that do not belong to a backend yet".

Revision history for this message
Luca Invernizzi (invernizzi) wrote :

thanks. That makes sense.

Revision history for this message
Paul Natsuo Kishimoto (khaeru) wrote :

Attached is a sketch of an alternate idea I described in a list to the GTG-users list. It is a GTKTreeView with one row per tag and one column per backend. [R], [W] and [RW] are icons with obvious meanings...the user can click on some of them to change them. Others are disabled/empty.

A side note: some things, like Hamster integration and notification area features, are "plugins" and can never really be considered "backends". Therefore there will always be a need for a UI to enable/disable plugins and do some configuration of simple options for each plugin. This is also a common (familiar to users) pattern from other software.

I think all backends (besides the default one) should be provided by "plugins" that the user can enable and disable in the same way. If there are options *specific to one backend only* (e.g. the URL(s) of Bugzilla instance(s) from which to pull bugs), then those should be configured in the same way as plugin options.

On the other hand, the user should not have to view many tabs/pages with identical controls to set options *common to all backends*. Hence an interface that gives the user a complete overview.

tags: added: prefs-dialog
Revision history for this message
Paul Natsuo Kishimoto (khaeru) wrote :

(waiting on #336605)

Changed in gtg:
assignee: nobody → Paul Kishimoto (khaeru)
status: Confirmed → In Progress
Changed in gtg:
status: In Progress → Confirmed
Revision history for this message
Lionel Dricot (ploum-deactivatedaccount) wrote :

I believe that the "classical" approach would be more consistent :

http://static.arstechnica.com/ubuntu1004a3/account-manager.png

But I like the idea of exploring new way of interaction too.

Changed in gtg:
assignee: Paul Kishimoto (khaeru) → Luca Invernizzi (invernizzi)
Changed in gtg:
status: Confirmed → In Progress
Revision history for this message
Luca Invernizzi (invernizzi) wrote :

merge requested.

Changed in gtg:
status: In Progress → Fix Committed
Changed in gtg:
milestone: 0.3 → 0.2.9
Izidor Matušov (izidor)
Changed in gtg:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.