Mylyn Connector Discovery

The goal of the Eclipse Mylyn project and its ecosystem of connectors is to make the productivity benefits of the task-focused interface available to everyone. Mylyn enables a broad range of change management and collaboration technologies to be integrated with Eclipse. The result is a task-based inbox with a consistent rich client experience for managing all your projects and tasks in one place.

Today Mylyn supports issue trackers, version control, email protocols, code review tools, build systems, wikis and more. In the future, we can expect the reach of Mylyn connectors to extend to additional domains like social networking as well as new collaboration protocols such as Google Wave. Across the Mylyn and Tasktop channels we have seen over a thousand votes for sixty different change management and collaboration tools. Three dozen Mylyn connectors are now available, from a wide variety of vendors.

But the mere availability of connectors is not enough. The success of Firefox’s add-ins and Apple’s App Store are great examples of how important ease of installation is to broad adoption. Having fielded countless installation support requests and hearing from numerous users unaware of available connectors, we realized that the process of finding and installing connectors was a limiting factor in the adoption of Mylyn. We looked to the Web Tools Platform for leadership in linking a similar sort of installable extension, its Server Adapters. At EclipseCon we announced our plans to leverage the same mechanisms for Mylyn and sought input from our integrator community in order to incorporate their needs (bug 272621) and established a selection process for listing connectors. The screenshot below shows the result.


Mylyn connectors can now be installed with a few clicks, for both based ones as well as those from other portals, such as the Tasktop Certified portion of the commercial ecosystem and other parts of the open source community. Note that the listing in the screenshot is a draft and subject to change.


Leveraging P2

In attempting to reduce our support overhead for connector install, we realized that the Eclipse P2 update mechanism was both the cause of and solution to all of our problems. P2 provides a very nice framework for validating and automating installs, and has seen some major improvements in Eclipse 3.5, so we built the Mylyn Connector Discovery entirely on P2. With our usual less is more design philosophy, an additional constraint we imposed is that beyond accepting a license agreement, the interaction should only require the user to view a single discovery page. To avoid the need for sophisticated error messages, we also eagerly validate update sites and disable install for those that are not available. For more advanced configurations options the user can always drop back into the P2 UI.

Building on PDE

Since we’re all spoiled by the quality of Eclipse’s tools for working with plug-ins, we wanted a similar experience for authoring connector discovery listings. We also wanted a convenient way of testing and debugging the listings. To support that, we used the plug-in extension mechanism in an interesting way. Each discovery entry is a bundle, with its contents defined via extension point. The discovery UI downloads and reads all the discovery extensions listed on the listing, in addition to those contributed by running bundles. We’ve been very pleased with the resulting ease of authoring, testing and deploying the bundles. Here’s an example of the extension point in use.

<extension     point=“org.eclipse.mylyn.discovery.core.connectorDiscovery”>   <connectorDescriptor     categoryId=“       CategoryEclipseOrg”     id=“org.eclipse.mylyn.bugzilla_feature”     license=“EPL”     name=“Mozilla Bugzilla”     provider=“Eclipse Mylyn”     siteUrl=“”     …>     <icon       image32=“images/bugzilla32.png”       image64=“images/bugzilla48.png”>     </icon>     <overview       screenshot=“images/bugzilla-screenshot-320×240.png”       summary=“%connectorDescriptor.overview.summary.bugzilla”       url=“”>     </overview>   </connectorDescriptor> </extension>

We have high hopes for the discovery technology bringing the benefits of Mylyn and Eclipse to even more users. The next time that you’re curious about whether your change management solution is integrated with Eclipse, you’ll only be a couple clicks away from finding that out and having it installed. Stay tuned for more news of what’s coming in Mylyn 3.2.