Mylyn Connector Discovery

by Mik Kersten, June 16th, 2009

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.

connector-discovery-small

Mylyn connectors can now be installed with a few clicks, for both Eclipse.org 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.

connector-details

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 eclipse.org/mylyn/discovery/directory.xml 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=“org.eclipse.mylyn.discovery.site.categories.connector
      CategoryEclipseOrg”

    id=“org.eclipse.mylyn.bugzilla_feature”
    license=“EPL”
    name=“Mozilla Bugzilla”
    provider=“Eclipse Mylyn”
    siteUrl=“http://download.eclipse.org/tools/mylyn/update/weekly/e3.4″
    …>
    <icon
      image32=“images/bugzilla32.png”
      image64=“images/bugzilla48.png”>
    </icon>
    <overview
      screenshot=“images/bugzilla-screenshot-320×240.png”
      summary=“%connectorDescriptor.overview.summary.bugzilla”
      url=“http://eclipse.org/mylyn/”>
    </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.

Watch Tasktop webinars

About Mik Kersten

Dr. Mik Kersten is the CEO of Tasktop Technologies, creator of the Eclipse Mylyn open source project and inventor of the task-focused interface. At Tasktop, Mik sets the strategic direction of the company as well as drives many of Tasktop's key partnerships and key customers accounts. He created Mylyn and the task-focused interface during his PhD in Computer Science at the University of British Columbia. Mik has been an Eclipse committer since 2002, is a 3-time elected member of the Eclipse Board of Directors and serves on the Eclipse Architecture Council. Mik's thought leadership on task-focused collaboration and improving the software economy makes him a popular speaker at software conferences, and he was voted a JavaOne Rock Star speaker in 2008 and 2009.

16 Responses to “Mylyn Connector Discovery”

  1. andig Says:

    Hi Mik,

    _please_ add discovery for the Web Connector to the default Mylyn distro. It’s still painful to install it (with weekly update site dependencies) and quality has for years been good enough for my purposes…

    Best regards,
    Andreas

  2. Mik Kersten Says:

    Andreas, I have created a bug for us to review that connector. Please chime in with your justification and vote on: bug 280610: review Web Templates for connector discovery listing

  3. Scott Lewis Says:

    Hi Mik,

    I understand that your connector discovery is not the same thing as network-based repo discovery, but you or others at tasktop might be interested in

    https://bugs.eclipse.org/bugs/show_bug.cgi?id=218534
    https://bugs.eclipse.org/bugs/show_bug.cgi?id=258340

    And WRT Google Wave: https://bugs.eclipse.org/bugs/show_bug.cgi?id=280347

    Perhaps Tasktop would be interested in working on/contributing to such a provider?

  4. Mik Kersten Says:

    Scott, thanks for the heads-up, there’s some interesting overlap there. While we focused most of our effort on the Mylyn connector-specific UI, I can imagine having that UI work for more generic install scenarios that could leverage some of the discovery stuff that ECF has done. In the case of both discovery and Google Wave, I think that there’s an opportunity for us to collaborate at least around the protocol portions of these web services, since there’s starting to be some good overlap there.

  5. Konstantin Komissarchik Says:

    Mik,

    This is some great stuff. Haven’t tried it myself, but the screen shots look pretty slick.

    One of the things that I have been trying to organize for a while without much success is a creation of a common discovery / installation framework that can be used by variety of projects at Eclipse. WTP server tools has such a framework, now you have a more modern version and I’d really like to see the same thing in DTP.

    Any chance of being able to generalize this framework by pushing it to p2/platform or a separate project? I’d love a chance to contribute to that effort, if you decide to go in that direction. Easy add-on discovery at various integration points in Eclipse is a key aspect of improving Eclipse usability.

  6. Mik Kersten Says:

    Thanks for the kind words Konstantin.

    I agree that there is a common need here. We first tried to build directly on the WTP implementation, but it was too closely tied to Server Adapters. In doing this implementation we kept in mind that it would make sense to generalize it, but did not want to do that without having the input of another API client, so everything is currently internal. We reached out to WTP to see if it would make sense to collaborate on this for Galileo, and will ping them again. If there is enough interest in generalizing this, it would be great to start planning that soon. Could you file a bug, probably against Mylyn for now, state the requirements that you have specific to WTP, and we’ll go from there in terms of figuring out the scope and the best home for evolving the implementation?

  7. Zviki Says:

    First of all, nicely done. I found the feature while fiddling around with Mylyn in RC4, so it was a nice surprise.

    I think that having a plugin-plugin mechanism has a general benefit for sure. The WTP is one example. I have a need for that as well in my software. It is a bit redundant, though. In a perfect situation, such a service would be provided by the standard plugin installation mechanism. After all, what you are discovering are plugins, they’re just plugins of a very specific type. Plus, this would give you a chance to open the installation box for external use (e.g. I use a Redmine connector which I have to install from some obscure location).

    I think a broad discussion is in order towards the next release (I assume the plugin installation dialog will be rewritten yet again as it happened in the last 3 major releases :-) .

    Again, kudos for a nice implementation.

  8. Konstantin Komissarchik Says:

    Opened the bug to track generalizing this feature. I wrote a bunch of stuff there and copied a few interested parties. Let’s move this discussion there.

    https://bugs.eclipse.org/bugs/show_bug.cgi?id=280726

  9. Mik Kersten Says:

    Zviki, thanks, glad you like it and good to hear that it was easy enough to find on your own, since we only added an entry point to the “New Task” and “Add Task Repository” dialogs. We wanted to be careful not to provide the same facility as the P2 UI, which is still the best way to manage your configuration and to get new plug-ins. Instead, we made a UI tailored to connector install. But what this thread is making very clear is that this simplified install approach does have additional uses. Also, I like your point about opening it up for external use. We partially support that right now, since any plug-in that’s installed can contribute to the discovery listing. But we could also allow additional discovery directories to be added to the user’s workspace, or look for compatible listings on update sites that have been added. Figuring out how we do that will depend on user and integrator demand. It would be great if you could file a bug specifying how you would like to see the Redmine connector install streamlined.

    Konstantin, thanks for the great summary on the bug! Let’s brainstorm there on how to go about generalizing the discovery mechanism.

  10. People Over Process » Links for June 19th Says:

    [...] Mylyn Connector DiscoveryPreview of some upcoming Mylyn/TaskTop stuff. Share This This entry was written by linkposter and posted on June 19, 2009 at 6:00 pm and filed under Links. Bookmark the permalink. Follow any comments here with the RSS feed for this post. Post a comment or leave a trackback: Trackback URL. « Numbers, Volume 16 [...]

  11. Mylyn-Mantis connector quick install in Mylyn 3.2 « I don’t byte Says:

    [...] the connector discovery mechanism, which allows easy installation of connectors. Mik Kersten has blogged about this already, so I won’t spent too much time praising [...]

  12. Daniel Says:

    Dude, that is a lame copy of Pulse

  13. r4i kort Says:

    I also have high hopes for new Mylyn Connector Discovery feature. I was testing various eclipse/mylyn versions today and found that it doesn’t work on Ganymede with mylyn 3.2 installed … probably because it relies on latest P2 features… but it’s cool feature anyway. Congrats on having Mantis connector included.

  14. Wesley Coelho Says:

    That’s right, the Mylyn Connector Discovery is only available for 3.5 Galileo (and later) releases of Eclipse even if Mylyn 3.2 is installed.

  15. click to the web site Says:

    …A Friend recommended your blog…

    precisely what are some really good along with common sites pertaining to websites???…

  16. games Says:

    I like what you guys are up too. Such smart work and reporting! Keep up the excellent works guys Iˇ¦ve incorporated you guys to my blogroll. I think it will improve the value of my web site :)

Leave a Reply

Notify me of followup comments via e-mail. You can also subscribe without commenting.