The goal of this [http://code.google.com/soc/ Summer of Code] project is to provide a [https://bugs.eclipse.org/bugs/show_bug.cgi?id=140512 Trac connector plug-in for Mylar]. [http://projects.edgewall.com/trac/ Trac] is a web-based issue tracking system with an integrated wiki.

+

[[Category:Mylyn]]

−

The Mylar API already supports multiple issue tracking systems, therefore the existing abstraction can be used to implement a Trac connector. Trac issues can be accessed remotely through an query script that outputs tab-delimited text as well as through an [http://trac-hacks.org/wiki/XmlRpcPlugin XML-RPC interface]. The XML-RPC interface has not yet been integrated into the main distribution of Trac but is available as a separate plug-in.

+

The goal of this [http://code.google.com/soc/ Google Summer of Code] project is to provide a [https://bugs.eclipse.org/bugs/show_bug.cgi?id=140512 Trac connector plug-in for Mylyn]. [http://trac.edgewall.com/ Trac] is a web-based issue tracking system with an integrated wiki.

−

The project will be accomplished in two iterations. This goal of the first iteration to make the connector work with existing Trac deployments through the [https://oss.steffenpingel.de/mylar-trac-connector/query custom query script]. The output is available in multiple formats including tab-delimited text ([http://projects.edgewall.com/trac/query?status=new&status=assigned&status=reopened&format=tab&milestone=0.9.6&order=priority sample output]). This information will be used for read-only display in Mylar. A web-browser will be used for editing of tickets.

+

The Mylyn API already supports multiple issue tracking systems, therefore the existing abstraction is used to implement a Trac connector. Trac issues are accessed remotely through a query script that outputs tab-delimited text as well as through a [http://trac-hacks.org/wiki/XmlRpcPlugin XML-RPC interface]. The XML-RPC interface has not yet been integrated into the main distribution of Trac but is available as a separate plug-in.

−

The second iteration will focus on enhancing the support for Trac's XML-RPC interface. The XML-RPC interface allows full featured access to all ticket information and allows manipulation of tickets. The editing of tickets will be done through Eclipse forms.

+

The project has been accomplished in two iterations. The goal of the first iteration was to make the connector work with existing Trac deployments through Trac's web interface. This retrieved ticket information is used for read-only display in Mylar. Tickets can be edited through a web-browser.

+

+

The second iteration focused on enhancing the support for Trac's XML-RPC interface. The XML-RPC interface allows full featured access to all ticket information and allows manipulation of tickets. The editing of tickets is done through Eclipse forms based editor.

+

+

The Trac connector is now maintained in the Mylyn CVS and is shipped with the regular releases.

Latest revision as of 14:43, 4 December 2007

The Mylyn API already supports multiple issue tracking systems, therefore the existing abstraction is used to implement a Trac connector. Trac issues are accessed remotely through a query script that outputs tab-delimited text as well as through a XML-RPC interface. The XML-RPC interface has not yet been integrated into the main distribution of Trac but is available as a separate plug-in.

The project has been accomplished in two iterations. The goal of the first iteration was to make the connector work with existing Trac deployments through Trac's web interface. This retrieved ticket information is used for read-only display in Mylar. Tickets can be edited through a web-browser.

The second iteration focused on enhancing the support for Trac's XML-RPC interface. The XML-RPC interface allows full featured access to all ticket information and allows manipulation of tickets. The editing of tickets is done through Eclipse forms based editor.

The Trac connector is now maintained in the Mylyn CVS and is shipped with the regular releases.

Tickets

The Trac connector has three different ways to represent tasks:

- TracTicket: this is the representations retrieved from the Trac
repository. It is either created from the data received through XML-RPC or
from the web interface. This is part of a generic API for accessing Trac
repositories that does not depend on Mylyn (except for
org.eclipse.mylyn.web.core).

- TracTask: represents the task information in the task list. This is kept
in memory at all times and contains information needed by Mylyn to
represent the task in the UI. TracTasks are updated from TracTickets or
from RepositoryTaskData (see TracRepositoryConnector.updateFrom*()).

- RepositoryTaskData: used for offline editing and offline storage. Task
data stores all information about a task in RepositoryTaskAttribute
objects. These are used by the editor to create widgets for editing,
determine incoming changes etc. RepositoryTaskData is created in
TracTaskDataHandler from TracTickets.

Attribute factories are used to map Mylyn's data model to a repository connector
specific model. For example Mylyn uses the
RepositoryTaskAttribute.USER_REPORTER key as the id for the attribute that
specifies the reporter of a task which is mapped to the Trac specific key
TracTicket.Key.REPORTER by TracAttributeFactory.