Bazaar Explorer Roadmap
1.0 - Q1 2010
A release candidate is now available. Please test. A User Guide would be useful soon.
2.0 - Q3 2010
The core themes and some proposed features within them are outlined below. More ideas are welcome.
Basic tasks must be easier
Ignore dialog. A simple dialog for ignoring a file is long overdue.
Branch into workspace. I should be able to ask for a branch, be offered a workspace model, select colocated branches (say) and for "branch" to pull into the empty checkout. In other words, branching into a new workspace should Just Work. Maybe this needs to be handed at the bzr core level better?
Tighter diff-commit integration. poolie wants the core cycle (edit + review changes + commit those changes) to be smoother. That implies showing the diff instead of the status report. Maybe this functionality ought to be optionally enabled via a smart panel/report? (see below.)
Open Repository. When working on a branch or checkout, a simple way of opening the matching repository would be useful. File > Open repository perhaps?
Open Terminal. This ought to be a separate command instead of an alternative to launching qrun. File > Open Terminal perhaps?
Product as platform
Menu extensions. Users and plugins should be able to add items to context menus. Maybe the main menu as well.
Logical kinds. Users and plugins should be able to add logical kinds of locations, e.g. review branch, source package branch. Users should be able to mark locations as having a logical kind. If a toolbar is defined for a logical kind, it should be used instead of the default one. With these changes in place, Bazaar Explorer should be a really cool environment for working on a loom, pipes in a pipeline, source packages, etc.
Smarter integration with hosting services. Explorer should guess the hosting service and project from URLs when it can and allow users to set those otherwise. For each hosting site, if a matching (parameterised-by-project) toolset exists, those tools ought to magically appear in the toolbox. In other words, every time I'm working on any LP project, I ought to see tools like "Open Questions", "Merge Proposals" and "Bugs with Patches" in my toolbox (without needing to explicitly configure a hat to achieve that). Likewise, if I grab a branch from GNU Savannah, SourceForge, GitHub, BitBucket, Google Code, whatever, the toolbox should include useful links to the relevant bug trackers, support forums, etc for the matching project on that site.
Nicer argument & option entry for arbitrary commands. The current qrun text entry field is functional but ugly. Adding ordering suggestions and ui-style metadata to Command objects ought to be sufficient for this. See https://lists.ubuntu.com/archives/bazaar/2010q1/066492.html. Once available, a quick pass will be required across the popular plugins to add this metadata into them.
Reports. Plugins should be able to add smart panels into the lower half of the repository or status view. I expect these to be configured as xml files with various pre-defined widgets used for rendering tables, calling out to actions, etc. In their preferences, users ought to be able to decide which reports to shown on each view, e.g. if they want to have the Recent History report appear on the status view as well as the repository one, that should be as simple as toggling a checkbox. Ditto for the other reports currently hard-coded (Local Changes, Missing Revisions, Submit Preview) and any other reports provided by accessories.
Accessories dialog wrap-up. Some features are missing from this dialog still, e.g. add/delete/edit of hat selection rules.
Shelf support. Once they exist, integrate qshelve and qunshelve. Also, the Local Changes tab in the repository view should check the shelf (and optionally display it) so working trees with shelved changes aren't accidentally deleted.