Jump to: navigation, search

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

< Mylyn‎ | SOC
(update)
(completed M2)
Line 1: Line 1:
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.
+
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 Mylar]. [http://projects.edgewall.com/trac/ 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 [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. 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 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 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 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 Mylar CVS and is shipped with the regular releases.
  
 
== ChangeLog ==
 
== ChangeLog ==
Line 20: Line 22:
 
* Query repository in task list view through Bugzilla like query dialog ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=149386 #149386])
 
* 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'' ===
+
This milestone is available as part of the Mylar 0.6.1 release.
 +
 
 +
=== '''M2 (completed):''' ''Full integration based on the Trac XML-RPC plug-in'' ===
  
 
* Digest authentication ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=151077 #151077])
 
* Digest authentication ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=151077 #151077])
Line 31: Line 35:
 
* Attachment support and context uploading and retrieving ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=151900 #151900], [https://bugs.eclipse.org/bugs/show_bug.cgi?id=154441 #154441], [https://bugs.eclipse.org/bugs/show_bug.cgi?id=154372 #154372])
 
* Attachment support and context uploading and retrieving ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=151900 #151900], [https://bugs.eclipse.org/bugs/show_bug.cgi?id=154441 #154441], [https://bugs.eclipse.org/bugs/show_bug.cgi?id=154372 #154372])
 
* Change query urls accordingly when repository url is changed ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=154798 #154798])
 
* Change query urls accordingly when repository url is changed ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=154798 #154798])
* ''Authoring of reports within native Eclipse editor ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=151899 #151899], [https://bugs.eclipse.org/bugs/show_bug.cgi?id=146334 #146334], [https://bugs.eclipse.org/bugs/show_bug.cgi?id=154377 #154377] )''
+
* Authoring of reports within native Eclipse editor ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=151899 #151899], [https://bugs.eclipse.org/bugs/show_bug.cgi?id=146334 #146334], [https://bugs.eclipse.org/bugs/show_bug.cgi?id=154377 #154377] )
* ''Offline editing''
+
 
* ''Improve query speed''
+
This milestone is available as part of the Mylar 0.6.2 release.
 +
 
 +
=== '''Future planning''' ===
 +
 
 +
Please refer to the [https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&classification=Technology&product=Mylar&component=Trac&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&status_whiteboard_type=allwordssubstr&status_whiteboard=&keywords_type=allwords&keywords=&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&emailtype1=substring&email1=&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0= Eclipse Bugzilla] for bug reports and feature requests.
  
 
== Download ==
 
== Download ==
Line 42: Line 50:
  
 
== Source ==
 
== Source ==
 +
 +
Please refer to the [wiki:Mylar_Contributor_Reference] for information about how to obtain and build Mylar and its connectors.
  
 
The source  is available in the Mylar CVS:
 
The source  is available in the Mylar CVS:
Line 49: Line 59:
 
Plug-ins:
 
Plug-ins:
  
 +
* [http://dev.eclipse.org/viewcvs/indextech.cgi/org.eclipse.mylar/org.eclipse.mylar.trac.ui/ org.eclipse.mylar.trac.core]
 
* [http://dev.eclipse.org/viewcvs/indextech.cgi/org.eclipse.mylar/org.eclipse.mylar.trac-feature/ org.eclipse.mylar.trac-feature]
 
* [http://dev.eclipse.org/viewcvs/indextech.cgi/org.eclipse.mylar/org.eclipse.mylar.trac-feature/ org.eclipse.mylar.trac-feature]
 
* [http://dev.eclipse.org/viewcvs/indextech.cgi/org.eclipse.mylar/org.eclipse.mylar.trac.tests/ org.eclipse.mylar.trac.tests]
 
* [http://dev.eclipse.org/viewcvs/indextech.cgi/org.eclipse.mylar/org.eclipse.mylar.trac.tests/ org.eclipse.mylar.trac.tests]
 
* [http://dev.eclipse.org/viewcvs/indextech.cgi/org.eclipse.mylar/org.eclipse.mylar.trac.ui/ org.eclipse.mylar.trac.ui]
 
* [http://dev.eclipse.org/viewcvs/indextech.cgi/org.eclipse.mylar/org.eclipse.mylar.trac.ui/ org.eclipse.mylar.trac.ui]
 +
 +
Project Team Set:
 +
 +
* [http://www.eclipse.org/mylar/doc/dev/projects-trac.psf http://www.eclipse.org/mylar/doc/dev/projects-trac.psf]
  
 
== Architecture ==
 
== Architecture ==

Revision as of 18:01, 24 August 2006

The goal of this Google 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 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 Mylar CVS and is shipped with the regular releases.

ChangeLog

M1 (completed): Web linking only repository integration (#148378)

  • 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)

This milestone is available as part of the Mylar 0.6.1 release.

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

  • Digest authentication (#151077)
  • Handle trailing slashes in repository urls (#150890)
  • Update repository attributes from task repository context menu (#152325)
  • Unescape HTML entities when updating repository attributes (#153496, #154098)
  • Query repositories from Eclipse search (#153539, #154772)
  • Remember repository attributes (#150670)
  • Update repository attributes when query dialog is opened (#154347)
  • Attachment support and context uploading and retrieving (#151900, #154441, #154372)
  • Change query urls accordingly when repository url is changed (#154798)
  • Authoring of reports within native Eclipse editor (#151899, #146334, #154377 )

This milestone is available as part of the Mylar 0.6.2 release.

Future planning

Please refer to the Eclipse Bugzilla for bug reports and feature requests.

Download

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

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

Source

Please refer to the [wiki:Mylar_Contributor_Reference] for information about how to obtain and build Mylar and its connectors.

The source is available in the Mylar CVS:

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

Plug-ins:

Project Team Set:

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.