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

Bug 308089

Summary: [Pulsar] SDK Discovery solution using P2 Discovery
Product: z_Archived Reporter: Daniel Drigo Pastore <kpqb38>
Component: SequoyahAssignee: Project Inbox <pulsar.sequoyah-inbox>
Status: CLOSED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: david.dubrow, kpqb38, nkvg64, wmg040
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: All   
Whiteboard:

Description Daniel Drigo Pastore CLA 2010-04-05 13:47:58 EDT
This is a first pass at a list of development tasks to implement the P2 discovery UI for the Pulsar SDK install view.

1. Metadata generator tool:

A very small change is required in metadata generator tool to allow us to use the very nice utility DiscoveryUi.install() to install catalog items returned from the catalog viewer directly rather than forcing the Pulsar code to gather the IUs from the items and install them. Basically, this utility expects IUs to have 2 aspects we currently don’t have in our generated metadata which is that the IUs need to be considered groups
 - the ids of the IUs must end with .feature.group and
 - the ‘org.eclipse.equinox.p2.type.group’ property must be true
The current metadata generator does not enforce this for Pulsar SDK features. I have tested with the metadata for the Nokia SDKs that this allows installation via the utility and is backward compatible with the Pulsar 1.0 SDK install view. Existing metadata can be hand modified and works in both environments.

2. The uninstall dialog:

As mentioned in the call and in my previous message, we need to migrate the uninstall functionality into a dialog. This probably could be very no-frills. We could use org.eclipse.ui.dialogs.ListDialog to present the list of installed SDKs and migrate the current uninstall code to uninstall the selected SDK. The action should not be enabled when there are no installed SDKs.

3. Replacing the current UI in the SDK install view with the P2 Discovery Catalog Viewer:

This task will replace much of the UI and core code with thin p2 discovery client code. We need to create a catalog with two discovery strategies. One will be a bundle discovery strategy to allow SDK vendors to test creating their discovery metadata plugin from an eclipse workspace without needing to deploy it to a server. The other will be a remote discovery strategy pointing to a discovery.xml file somewhere where it can be modified dynamically as needed with urls to SDK vendor metadata plugins. I have not tested whether we’ll need to filter by host OS or whether this is done by the catalog viewer. Some investigation will be needed to determine what if anything we may need to do to filter by host OS.

4. Testing... (including multiple OS testing – which does not apply to Nokia SDKs) :)

5. Documentation of requirements for SDK vendors and how to create the discovery metadata plugins and modify their existing content xml.

As discussed today on Sequoyah's meeting (http://wiki.eclipse.org/Sequoyah/PhoneMeetings/Agenda10Apr05), David Dubrow will work on itens 1, 3 and test on Windows XP 32 bit and Eldorado team will work on item 2 and test on other OSes.
Comment 1 David Dubrow CLA 2010-04-06 11:39:41 EDT
Hi Daniel,

I just got the branch and am starting work today. :)
Comment 2 David Dubrow CLA 2010-04-07 14:15:39 EDT
One more issue came up - the "details" action was added after I stopped work on Pulsar 1.0. It seems to work on installed SDKs. In any case, since the UI will not be showing installed SDKs, I propose we use the same technique as will uninistall. Basically, the action will bring up a list dialog with installed SDKs, and the user can choose which one to get details about.

Additionally, I am not sure what I need to see there because there is no details info in the Nokia SDKs.
Comment 3 Daniel Drigo Pastore CLA 2010-06-18 16:30:32 EDT
Moving the bug.
Comment 4 Daniel Drigo Pastore CLA 2010-07-02 12:26:30 EDT
Closing the bug.
Tested on Win, Linux and Mac.
Fixed for Pulsar 1.1, released with Helios 3.6.