Differences between revisions 5 and 6
Revision 5 as of 2012-08-02 07:44:25
Size: 6123
Editor: mpt
Comment: + Future work: regression tests
Revision 6 as of 2012-08-08 12:40:53
Size: 6246
Editor: mpt
Comment: + how to test proxy connections
Deletions are marked like this. Additions are marked like this.
Line 111: Line 111:
 * a proxy network connection  * a [[|proxy network connection]]


The Contributor Console is a utility to help Ubuntu contributors in making code changes, reporting bugs, improving translations, and testing updates. But … it doesn’t exist yet. Maybe you’d like to implement it?

Use cases

  • Testing a pre-release Ubuntu version, you want to report a bug on a particular error message. You don't know which package is providing the error alert.
  • You see a string that isn't yet translated into your chosen language. You easily find the right place in Launchpad to suggest your own translation.
  • You see some other code problem that you think you could fix. You easily get the code for the appropriate package.
  • Having reported a critical bug in the release version, you are instructed by a developer to test a particular -proposed update.

  • Being on the release team, you want to install all SRUs immediately, not on the normal phased schedule.

Main window

The Contributor Console should be a normal window, non-resizable, but resizing appropriately whenever you switch panels.

  Close   Ctrl W

  Undo        Ctrl Z
  Redo  Shift Ctrl Z
  Cut         Ctrl X
  Copy        Ctrl C
  Paste       Ctrl V
  Select All  Ctrl A

* Code                          Ctrl 1
  Bugs                          Ctrl 2
  Translations                  Ctrl 3
  Updates                       Ctrl 4
/ Contributor Menu in Menu Bar

  About This Version

Common components

The “Code”, “Bugs”, and “Translations” panels should all have an “Identify Package by Clicking…” button, and a “Package name:” field with a “Check” button.

Choosing “Identify Package by Clicking…” should disable the button and turn the pointer into a cross-hair. If you press Esc before your next click anywhere, the pointer should revert and the button should become sensitive again. Otherwise, your next click, anywhere on the screen, should do nothing except re-enabling the button and filling in the “Package name:” field with the name of the package that produced the window or element you clicked on.

“Check” should be sensitive whenever you have manually edited the “Package name:” field since it was last empty or filled in by click-selection. Choosing it should desensitize the button and display a spinner (where?), while contacting Launchpad to verify that the name is a package published in the version of Ubuntu you are using. If it is not, the text in the field should become the error color.

“Code” panel


“Get Package Code…” and “Get Project Code…” should be sensitive whenever the current package has package code or linked project code, respectively, available in Launchpad. Choosing either of them should open a file dialog for you to specify the name and location of your branch. (The location should default to alongside wherever you last made a branch of that package.) If you choose a name and location, the button should be insensitive and a spinner displayed (where?) while the code is branched from Launchpad.

“Bugs” panel


“Show Bug Reports” and “Report a Bug…” should be sensitive whenever the current package name is valid. Choosing “Show Bug Reports” should open your default browser to Launchpad’s Bugs page for the package. Choosing “Report a Bug…” should invoke ubuntu-bug for the package.

“Translations” panel


“Add/Fix Translations…” should be sensitive whenever the current package name is valid. Choosing it should open your default browser to Launchpad’s Translations page for the package.

“Updates” panel


Switching from “On schedule (phased)”, the default, to “Immediately (best for testing)” should opt out of phased updates.

If you check “Check for updates being tested (-proposed)” (unchecked by default), the console should display a spinner (where?) while Ubuntu immmediately checks -proposed for available updates. The same should happen whenever you navigate to this panel at least an hour after Ubuntu last checked for -proposed updates.

For each -proposed update, its checkbox should be checked by default if it is currently installed. “Apply Changes” should be sensitive whenever you have made any changes from the current installed state, and on the opposite side should be a summary of these changes: for example, “2 to install”, “1 to remove”, or “1 to install, 4 to remove”.

Choosing “Apply Changes” should replace the summary and button with “Applying changes…” text and a progress bar and “Cancel” button, exactly the same as in the “Additional Drivers” panel of System Settings.

Quick-access menu


Whenever “View” > “Contributor Menu in Menu Bar” is checked (which it should not be by default), an indicator menu should be visible, even when the Console itself is not open.

“Report a Bug About…” should identify a package by clicking, and then immediately invoke ubuntu-bug for that package.

Similarly, “Add/Fix Translations In…” should identify a package by clicking, and then immediately open Launchpad’s Translations page for that package.

“Open Contributor Console” should focus the console window, opening it first if necessary.

Future work

Quick access to rarely-tested scenarios:

Integration of manual regression tests.

ContributorConsole (last edited 2014-02-07 09:27:48 by mpt)