This is an early draft and not yet ready for comment.
Mylar milestones are released 1 week after Eclipse milestones. Click to view open bugs.
- 2.0M1: February 16, 2007
- 2.0M2: March 30, 2007
- 2.0M3: May 11, 2007
- 2.0RC1: June 15, 2007
- 2.0: June 29, 2007
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.
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.
- Frameworks & APIs: Tasks Framework, Context Framework, Monitor Framework, headless use
- UI: Tasks List, Task Editor, Task-focused UI
- Connectors: Bugzilla (reference implementation), Trac (committer supported), JIRA (community supported)
- Eclipse 3.3: supported
- Eclipse 3.2: supported, post 2.0 maintenance builds only
- Requires Java 5 and later
Legend: in progress, completed, optional
- 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. (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. (Calendaring, privacy controls) (e.g. 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. (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.
- 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. (158921).
- 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. (135668).
- 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). (160780, 124224)
- Streamline task creation. Make it easier to create tasks, fork them, or promote local tasks to repository tasks. (154896, 152211)
- 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. (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. (165833)
- Improve synchronization control. (offline mode for repositories bug 165809, finer-grained control bug 165473)
- Provide standard XML for for tasks. We should create a canonical and extensible XML for for tasks that we use for retrieving task data. Connector providers returning this form would not need custom attribute mappings.
- 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. (12431)
- 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.
- 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. (164243)
- 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.
- 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).
- Hyperlinking everywhere. Wherever structured elements show up, we should be hyperlinking them (e.g. bug 165827)
- 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.