We recommend that those interested in integrating Mylar email firstname.lastname@example.org regarding for pointers to examples and guidance on upcoming changes.
Following the Eclipse conventions, Mylar will not make any API guarantees until the 1.0 release. However, a driving goal of the Mylar project is to provide a task management and focused UI framework that can be easily extended by any Eclipse SDK and RCP based applications. The Mylar components are loosely coupled by preliminary extension points and APIs, and these will be stabilizing between the 0.5 and 1.0 releases.
Frameworks and APIs
Mylar provides the following Frameworks. See the EclipseCon 2006 presentation for more information.
- org.eclipse.mylar.tasks.core: task and task repository abstractions. Runs headless.
- org.eclipse.mylar.tasks.ui: task list and other facilities such as offline and synchronization support that make tasks a first class part of Eclipse. Runs in RCP.
- org.eclipse.mylar.context.core: context model and degree of interest abstractions. Runs headless.
- org.eclipse.mylar.context.ui: interest filters and other facilities for focusing workbench views and editors on context. Runs in RCP.
- org.eclipse.mylar.monitor: UI framework for monitoring user interactions with the workbench. Can be used independently of Tasks and Context frameworks. Runs in RCP.
- org.eclipse.mylar.monitor.usage: user study framework, requires Eclipse Platform.
Mylar also provides the following API:
- org.eclipse.mylar.bugzilla.core: Java API used for accessing Bugzilla reports on a server. Runs headless.
Task repository requirements
Mylar can be extended to any task/bug/issue/story repository or tracker by creating a Repository Connector that links Mylar's task management facilities with the repository. Connection to the task repository is handled by the connector (e.g. via HTTP for the Bugzilla Connector, via SOAP for the JIRA Connector). The following are required to support task list integration:
- Tasks must be uniquely identifiable by a per-repository integer or string handle (e.g. repository: https://bugs.eclipse.org/bugs, id 138144)
- Mechanism for executing a string-based query and returning task IDs (e.g. submit query via SOAP, retrieve matching task IDs)
- Mechanism for accessing all of the task attributes (e.g. description, priority, comment thread)
The following are optional:
- Notification of changes (e.g. RSS-based notification of an update made via that web UI)
- Retrieving a user's saved queries (e.g. searches or filters saved via the web UI)
The following additional mechanisms enable task authoring:
- Retrieving all of the operations possible on a task given login credentials (e.g. ability to reassign, change priority)
- Accessing all of the repository attributes (e.g. lists of products, components, versions)
- Setting any of the task's attributes (e.g. changing components, reassigning)
- Adding and retrieving attachments (e.g. adding screenshots)