Jump to: navigation, search

Mylyn/Plan/2.0

< Mylyn
Revision as of 20:49, 30 April 2007 by Eu.md.pp.ru (Talk | contribs)

Edit this document for corrections or clarifications. To discuss adding or removing items please use bug 173121.

Milestones

Mylar milestones are released 1 week after Eclipse milestones. Click to view open bugs.

Scope

The first goal of Mylar is to make task and context management seamlessly integrated with the Eclipse Platform by providing rich and extensible frameworks for task repository connectors, structure bridges and team support. The second goal is to provide a reference implementation of the Task-Focused UI for the Eclipse SDK. This includes structure bridges for the artifacts supported by the SDK which include Java, PDE, Ant and generic files. It also includes the Bugzilla Connector as the reference task repository implementation, and CVS integration as the reference team support. Additional features can be considered based on the availability community contributions and resources.

Priorities

In addition to using the planned themes listed below, we need to continue prioritizing the ongoing input of our growing user community. Committers should prioritize bugs in the following order. This order need not be used if a bug contains a community contribution of a patch, in which case the quality of the patch determines the priority.

  1. Frameworks & APIs: Tasks, Context, Team, Monitor, headless use
  2. UI: Tasks List, Task Editor, Task-focused UI
  3. Connectors: Bugzilla (reference implementation), Trac (committer supported), JIRA (community supported)

Platforms

  • Eclipse 3.3: supported
  • Eclipse 3.2: supported, post 2.0 maintenance builds only
  • Java 5 or later required

Themes

Legend: in progress, completed, optional

Task List

  • Support date view in Task List. A common way of organizing tasks to work on in the current week is by day. We should support this by integrating the Task Activity view's date range container presentation with the Task List. (bug 147084)
  • Support integration with planning and calendaring tools. Many task repositories have facilities for task planning in the form of milestones, due dates, and other organizations of tasks. The Task List and Task Editor should support such extensions, for example, allowing the Task List to be organized by milestone. (e.g. bug 152490).
  • Support task dependencies. Many tasks are related to other tasks, whether it's because they should be worked on in sequence or are subtasks. We should make these dependencies explicit in the Task List and Task Editor. (bug 137543)
  • Support working set groupings. A Task List that includes projects from multiple "working spheres" (e.g. Project A, Project B, Personal) can become unwieldy and distracting. Integration of top-level working sets could address this. (bug 153573)

Task Editing

  • Improve task activity timing. We currently have a task activity mechanism, but it is not explicit enough, and does not capture time spent outside of the workbench. It should also be extensible to OS-specific monitoring. (bug 135668).
  • Increase Task Editor information density. The task editor is a very frequent target of interaction, and we need to continue streamlining it. When opened it should show the user the most relevant information with minimal clicking and scrolling required. (bug 158921).
  • Provide task workflow mechanism. There are many common workflows, such as commit/complete/deactivate. We should provide a mechanism for specifying and executing task-related workflows. This requires direct editing of task data (i.e., without editor submission). (bug 160780, bug 124224)
  • Streamline task creation. Make it easier to create tasks, fork them, or promote local tasks to repository tasks. (bug 154896, bug 152211)

Task Repositories

  • Make offline cache faster and more robust. The offline cache is currently one large serialized file. We should make it more robust so that changes to connectors and the framework do not cause the offline data to be cleared. This should make it possible to put a repository into offline mode permanently, and never lose the task data. (bug 165809)
  • Streamline task searching. It is currently impossible to search through local and cached task data. We could improve the search experience by providing Google-style syntax in the Task List find box, e.g. severity=critical. (bug 163341)
  • Improve connectivity problem and performance handling. Lack of or degraded connectivity should be transparent, and jobs should be cancellable. (bug 165833)
  • Improve synchronization control. Consider allowing synchronization to be controlled per repository (bug 165473), and allowing repositories to be put into offline mode (bug 165809).
  • Improve consistency between local and repository tasks. Need to consider how to promote task between local and repository, and whether local tasks should be a kind of repository. (bug 12431)
  • Provide standard XML for for tasks. To make creating connectors easier, we could provide a canonical and extensible XML for for tasks that we use for retrieving task data.

Task-Focused UI

  • Provide preview and editing of task context. For submitting and retrieving contexts, or wanting to inspect a context for a non-active task, we should provide a preview pane. This should also support operations such as merge and element deletion. (bug 107259)
  • Support debugging views. This includes improved filtering of the thread tree, and automatic toggling/loading of breakpoints with task context. (e.g. bug 155333)
  • Provide task context relation navigation. The Active Search that we deprecated provided relationship navigation. This facility could be re-introduced with an in-place view of relations between elements, e.g. calls, implements. (bug 104052)
  • Preserve element identity through refactoring. Currently only the active context participates in refactoring. We either need to maintain a dependency map to update the element handles of inactive contexts, or migrate them when they are activated, via the refactoring history. (bug 164243)

General

  • Hyperlinking everywhere. Wherever structured elements show up, we should be hyperlinking them (e.g. bug 165827)
  • Improve error handling and resolution. When an error happens, we should do automatic duplicate detection, and if no duplicate is found prompt to submit a bug to the failing plug-in.
  • Generalize task and context storage mechanisms. Our API currently specifies files and paths as the storage mechanism, but it should be general, to allow for alternate mechanisms such as server-based storage. (bug 171346)
  • Improve representation of people. Support real names, selecting CCs, content assist for fields with people. The user's identity should be represented in the UI (e.g. different icon when user appears in the CC list).
  • Personal monitoring and usage sharing. We require data from the Mylar monitor to inform our UI design. We should also make this data available to others, since it will include general Eclipse usage statistics. In order to provide users with an incentive to share their (anonymous) usage data we should include personal interaction monitoring facilities.