Jump to: navigation, search

Difference between revisions of "Mylyn/SOC/2006/Trac Connector"

< Mylyn‎ | SOC
(added ticket links)
(Update)
Line 3: Line 3:
 
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 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 project will be accomplished in two iterations:
+
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.
  
'''[https://bugs.eclipse.org/bugs/show_bug.cgi?id=146334 1. Iteration]:''' ''Web linking only repository integration''
+
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.
  
* Access through Trac's query script or through the Trac XML-RPC plug-in
+
= Project =
* Support for repository queries in task list view
+
  
This will 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]). It contains id, summary, status, owner, type, priority and component of tickets.
+
== ChangeLog ==
This information will be used for read-only display in Mylar. A web-browser will be used for editing of tickets.
+
  
'''2. Iteration:''' ''Full integration based on the Trac XML-RPC plug-in''
+
=== '''[https://bugs.eclipse.org/bugs/show_bug.cgi?id=146334 M1 (completed)]:''' ''Web linking only repository integration'' ===
  
 +
* Create and edit Trac repositories ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=147817 #147817], [https://bugs.eclipse.org/bugs/show_bug.cgi?id=148378 #148378])
 +
** Templates for common repository locations ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=150677 #150677])
 +
* Data model for repository access ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=147816 #147816])
 +
** Access through Trac's query script ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=148090 #148090])
 +
** Access through the Trac XML-RPC plug-in ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=148089 #148089])
 +
* Create new tasks through web-browser ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=150699 #150699])
 +
* Add exiting tasks to task list ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=149385 #149385])
 +
* Query repository in task list view through Bugzilla like query dialog ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=149386 #149386])
 +
 +
=== '''M2 (in progress):''' ''Full integration based on the Trac XML-RPC plug-in'' ===
 +
 +
* Attachment support
 
* Authoring of reports within native Eclipse editor
 
* Authoring of reports within native Eclipse editor
 
* Offline editing
 
* Offline editing
  
In the second iteration support for Trac's XML-RPC interface will be
+
== Download ==
implemented. The XML-RPC interface is distributed as a separate Trac plug-in and requires a Trac build from the subversion repository. 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.
+
Releases are available at the [http://www.eclipse.org/mylar/dl.php Mylar dev update site] (Eclipse 3.2 only):
 +
 +
download.eclipse.org/technology/mylar/update-site/dev
 +
 
 +
== Source ==
  
=== Project ===
+
The source  is available in the Mylar CVS:
  
The project is hosted [https://oss.steffenpingel.de/mylar-trac-connector/ here].
+
[http://dev.eclipse.org/viewcvs/indextech.cgi/org.eclipse.mylar/sandbox/ http://dev.eclipse.org/viewcvs/indextech.cgi/org.eclipse.mylar/sandbox/]
  
== Proposed Architecture ==
+
== Architecture ==
  
* Core and Model ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=147816 #147816]): Provides Java abstraction for repository access
+
* Core and Model: Provides Java abstraction for repository access
** Abstraction for query script ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=148090 #148090]) and XML-RPC ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=148089 #148089]) access
+
** Abstraction for query script and XML-RPC access
 
** (Eclipse independent) model classes that represent Trac data
 
** (Eclipse independent) model classes that represent Trac data
 
* UI: Tasklist classes
 
* UI: Tasklist classes

Revision as of 16:57, 20 July 2006

The goal of this Summer of Code project is to provide a Trac connector plug-in for Mylar. Trac is a web-based issue tracking system with an integrated wiki.

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 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 will be accomplished in two iterations. This goal of the first iteration to make the connector work with existing Trac deployments through the custom query script. The output is available in multiple formats including tab-delimited text (sample output). This information will be used for read-only display in Mylar. A web-browser will be used for editing of tickets.

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.

Project

ChangeLog

M1 (completed): Web linking only repository integration

  • Create and edit Trac repositories (#147817, #148378)
    • Templates for common repository locations (#150677)
  • Data model for repository access (#147816)
    • Access through Trac's query script (#148090)
    • Access through the Trac XML-RPC plug-in (#148089)
  • Create new tasks through web-browser (#150699)
  • Add exiting tasks to task list (#149385)
  • Query repository in task list view through Bugzilla like query dialog (#149386)

M2 (in progress): Full integration based on the Trac XML-RPC plug-in

  • Attachment support
  • Authoring of reports within native Eclipse editor
  • Offline editing

Download

Releases are available at the Mylar dev update site (Eclipse 3.2 only):

download.eclipse.org/technology/mylar/update-site/dev

Source

The source is available in the Mylar CVS:

http://dev.eclipse.org/viewcvs/indextech.cgi/org.eclipse.mylar/sandbox/

Architecture

  • Core and Model: Provides Java abstraction for repository access
    • Abstraction for query script and XML-RPC access
    • (Eclipse independent) model classes that represent Trac data
  • UI: Tasklist classes
  • Tests: Test for Core and UI

Since Core and Model is only used by UI both are combined in a single plug-in.

For the XML-RPC calls Apache XML-RPC is used.