Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 339467

Summary: [discovery] inform users when new versions or connectors are available
Product: z_Archived Reporter: Steffen Pingel <steffen.pingel>
Component: MylynAssignee: Steffen Pingel <steffen.pingel>
Status: RESOLVED FIXED QA Contact:
Severity: enhancement    
Priority: P1 CC: mik.kersten
Version: unspecifiedKeywords: plan
Target Milestone: 3.6   
Hardware: PC   
OS: Linux   
Whiteboard:
Bug Depends on: 339459, 349621    
Bug Blocks:    
Attachments:
Description Flags
discovery wizard
none
update notification
none
patch
none
mylyn/context/zip none

Description Steffen Pingel CLA 2011-03-10 01:56:02 EST
The Mylyn project provides maintenance and feature releases several times a year. In addition, connectors are frequently updated independently from the main project and made available through discovery. Many users consume Mylyn through EPP packages which are only released once a year and updated twice with maintenance versions. That means most users are running out dated Mylyn versions and may not be aware of available connectors.

To make it easier for users to consume Mylyn updates we have discussed the following enhancements:

* Show check boxes in the repository dialog and connector discovery to:
** Receive notifications if new connectors are available (opt-in) 
** Receive notifications when a new Mylyn version is available (opt-in)
* An RSS feed is provided on eclipse.org/mylyn/feed/ that is polled on a regular interval, e.g. every two weeks
* Feed entries are displayed as service messages in the task list
* Each message can be filtered by: 
** os
** arch
** nl
** mylyn version
** product
** buildId
** platform version
** installed features
** Java version
* Messages may have associated actions: 
** Update Mylyn  (only shown if the p2 update operation could be validated previously)
** Open discovery
** Open website
Comment 1 Mik Kersten CLA 2011-05-20 16:54:06 EDT
Two features of this are key:
* Display notification when an updated version of Mylyn is available
* Display notification when a new connector is available
Comment 2 Steffen Pingel CLA 2011-05-28 21:24:03 EDT
Created attachment 196838 [details]
discovery wizard
Comment 3 Steffen Pingel CLA 2011-05-28 21:30:45 EDT
Created attachment 196839 [details]
update notification
Comment 4 Steffen Pingel CLA 2011-05-29 10:38:40 EDT
Created attachment 196847 [details]
patch
Comment 5 Steffen Pingel CLA 2011-05-29 10:38:42 EDT
Created attachment 196848 [details]
mylyn/context/zip
Comment 6 Steffen Pingel CLA 2011-05-29 11:01:57 EDT
I have commited the patch to head. The behavior is as follows:

* The discovery wizard has a new check box to opt-in to receiving notifications about new connectors. This can also be enabled in the preferences.
* If a user has opted-in http://eclipse.org/mylyn/updates.xml is polled every 14 days for updates (using an ETag header)
* The feed entry with the highest ID that matches all filters is displayed as a service message in the task list

The updates.xml file is a standard RSS feed. The notification mechanism uses the title, description and guid. In addition filters may be specified using <dc:subject/> elements. 

The following filters are supported:

* runtimeVersion=[0.0.0,1.6.0) - a version range to match against the JVM version
* platformVersion=[0.0.0,3.6.0) - a version range to match against the version of org.eclipse.platform
* frameworkVersion=[0.0.0,3.6.0) - a version range to match against the version of org.eclipse.mylyn
* conflicts=org.eclipse.mylyn - notification is filtered if the specified feature is installed, element can be specified multiple times
* requires=org.eclipse.mylyn - notification is filtered if the specified feature is not installed, element can be specified multiple times
* filter=(osgi.ws=gtk) - RFC 1960-based filter that is evaluated against the system environment

The description of a message may contain links that are rendered in the task list. Links may specify actions using the query part of the URL, e.g. http://eclipse.org/mylyn/new/?action=discovery. The following actions are supported:

* create-local-task - creates a local task
* connect - opens the add repository dialog
* discovery - opens connector discovery

URLs that do not specify a supported action are opened in the browser. The idea is that the updates.xml feed is consumable in a standard RSS reader as well as by the tooling.