Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Mylyn/Integrator Reference"

(Using the context.core API)
Line 36: Line 36:
 
== Using the context.core API ==
 
== Using the context.core API ==
  
To come...
+
When Mylar is running within the full eclipse platform, the org.eclipse.mylar.tasks.ui plugin specifies where the contexts should be stored.  When running without the org.eclipse.mylar.tasks.ui plugin, you must specify this location yourself.
 +
 
 +
In plugin.xml for your plugin:
 +
    <extension point="org.eclipse.mylar.context.core.bridges">
 +
    <contextStore class="com.example.HardCodedContextStore"/>
 +
    </extension>
 +
 
 +
com.example.HardCodedContextStore must extend org.eclipse.mylar.context.core.AbstractContextStore and implement  getRootDirectory().

Revision as of 17:48, 27 July 2006

We recommend that those interested in integrating Mylar email mylar-dev@eclipse.org regarding for pointers to examples and guidance on upcoming changes. Also see: Mylar Architecture

Extensibility overview

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.

Creating Repository Connectors

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)

Headless frameworks and APIs

Using the bugzilla.core API

The provisional Bugzilla API can be used independently of the Mylar UI facilities as a Java API to Bugzilla. Also see the Mylar Architecture document.

  • Check out the org.eclipse.mylar.tasks.core and org.eclipse.mylar.bugzilla.core projects as described in the Mylar Contributor Reference
  • Run the org.eclipse.mylar.bugzilla.tests.headless.BugzillaQueryTest unit test as an exmaple of using the API.
  • If a facility you need is not available in bugzilla.core file a bug report. Chances are that it is in bugzilla.ui and can be extracted.

Using the context.core API

When Mylar is running within the full eclipse platform, the org.eclipse.mylar.tasks.ui plugin specifies where the contexts should be stored. When running without the org.eclipse.mylar.tasks.ui plugin, you must specify this location yourself.

In plugin.xml for your plugin:

   <extension point="org.eclipse.mylar.context.core.bridges">
  	  	<contextStore class="com.example.HardCodedContextStore"/>
   </extension>

com.example.HardCodedContextStore must extend org.eclipse.mylar.context.core.AbstractContextStore and implement getRootDirectory().

Back to the top