maandag 17 augustus 2009

Creating a Mylyn connector - looking inside

Who uses Eclipse but isn't using Mylyn? Still a substantial number of people gathering from the 46 bug reports with request for connectors to various well known task and issue management systems.

In addition to the listed systems many SMB's in the IT industry will be using a home-grown system built many years ago. That system is based on central database and custom client or web interface. The shared corporate knowledge and history built up in this database is so big that changing to another commercial or OSS system is not an option because of cost of migration. So also in these companies many Eclipse users will not be using Mylyn to its full potential.

Number 47 on the list of connectors is the Industrial SQL connector on which I'm working.

In a series of blogs I will try and explain how to quickly connect to any issue tracker using an accessible SQL Database.
Before we can start we must first install Mylyn Developer Tools and the Industrial SQL connector sources.

The Industrial SQL connector can be installed from the update site following the instuctions provide here.

Mylyn Developer Tools

Mylyn Developer Tools is a set of actions and property source providers that allow you to see into the Mylyn internals.

You get the source when you retrieve all of the Mylyn sources from CVS as described here. But as a convenience I have included a ready built version on the Industrial SQL Connector update site.

With this plugin you can inspect properties for Repositories, Tasks, Queries and Categories. All of these descend from an abstract AttributeContainer allowing easy key-value pair storage by the connector.


Task properties show up as items in the task editor.


Query Properties are simple: a URL describes the selection criteria.



Repository properties describe for example legal values for various fields.

The major part of creating a connector is to get your task repository items in the right Mylyn properties with the right marking for read only etc. So this tool is fairly essential!