ContributorConsole

console.png

The Contributor Console is a utility being developed to help Ubuntu contributors in making code changes, reporting bugs, improving translations, and testing updates. You can help!

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.

File
----
  Close   Ctrl W

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

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

Help
----
  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

panel-code.png

“Open in Bazaar Explorer” should be present only when Bazaar Explorer is installed (bug 1086870).

“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

panel-bugs.png

“All Bug Reports”, “Reports Involving Me”, and “Report a Bug…” should be sensitive whenever the current package name is valid. “All Bug Reports” should open your default browser to Launchpad’s Bugs page for the package. “Reports Involving Me” should open the page displaying the subset of those bug reports that involve you (bug 1086825). And “Report a Bug…” should invoke ubuntu-bug for the package.

“Send _ Pending Reports” should be sensitive whenever Apport has at least one bug report queued for sending (bug 657275).

“Translations” panel

panel-translations.png

“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

panel-updates.png

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

“Check for updates being tested (-proposed)” should be unchecked by default. Whenever it is unchecked, the updates listbox should be insensitive. If you check it, a spinner should appear centered inside the listbox 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

menu.png

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)