Bug 173772 - [api] New connection wizard needs to become totally influencable
Summary: [api] New connection wizard needs to become totally influencable
Status: CLOSED FIXED
Alias: None
Product: Target Management
Classification: Tools
Component: RSE (show other bugs)
Version: 1.0.1   Edit
Hardware: PC Windows XP
: P2 major (vote)
Target Milestone: 2.0   Edit
Assignee: Uwe Stieber CLA
QA Contact: Martin Oberhuber CLA
URL:
Whiteboard:
Keywords: api
Depends on:
Blocks: 170918
  Show dependency tree
 
Reported: 2007-02-11 03:17 EST by Uwe Stieber CLA
Modified: 2008-08-13 13:16 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Uwe Stieber CLA 2007-02-11 03:17:59 EST
RSENewConnectionWizrd must be totally influenceable in functionality. Absolute mandatory here is:

- The wizard open needs to be delayable as some system types must initialize backend tools before it is even possible to validate the enabled state of an system type. Before the wizard UI can be shown, the wizard needs to walk trough all registered system type and ask them if they are ready to open the New connection wizard.
- The wizard delegate interface needs to inherit from IWizard or even should be an ordinary IWizard. Most of the method of IRSENewConnectionWizardDelegate are copies of IWizard anyway. Absolutly everything from IWizard needs to be passed from RSENewConnectionWizard to the delegate!
- The user must have the possibility to come back to the system type selection page
- The system type selection change must be passed through to the wizard delegate
- One wizard delegate can serve multiple system types
Comment 1 Uwe Stieber CLA 2007-02-11 03:21:58 EST
Marked high prior as it affects directly if or if not we can release a product based on RSE.
Comment 2 Martin Oberhuber CLA 2007-02-12 12:00:37 EST
- delaying wizard open: The 1st wizard page needs to call 
  RSESystemTypeAdapter.isEnabled(). Could the delay be done in this call?

- delegate using IWizard: I discussed on E-Mail earlier with Kushal. JFace
  provides the WizardSelectionPage, which could be re-used in order to provide
  an RSE Wizard that uses delegates which are IWizard themselves.
  We liked that idea but did not get to implementing it due to lack of time.
  What specific pressing problems do you have with
  IRSENewConnectionWizardDelegate that would need to be fixed by M6?

- come back to selection page: this works fine for me

- pass selection changes:
- One wizard delegate to serve multiple system types:
  This sounds like new functionality that's not been tested so far. I'm not
  sure, though whether this would be achievable with a solution using IWizard
  and WizardSelectionPage (AFAIK that one thinks that all IWizards are at least
  different instances of the same class, such that they can maintain different
  data).
Comment 3 Uwe Stieber CLA 2007-02-20 10:57:42 EST
Extension point 'newConnectionWizardDelegate' has been removed and replaced by the 'newConnectionWizard' extension point. The new extension point is using ordinary IWizard classes as input, allows to categorize wizards and associate wizard to system types via wildcards.
Comment 4 Martin Oberhuber CLA 2007-02-20 11:36:18 EST
In order to be consistent with standard Eclipse namings for extension points,
the extension point should be named
   newConnectionWizards
and not
   newConnectionWizard
since there may be multiple elements inside the extension point, each of which is of type "newConnectionWizard".


Also, please update the references in org.eclipse.rse.doc.isv:
   index.html
   topics_Reference.xml
Comment 5 Uwe Stieber CLA 2007-02-20 12:00:04 EST
Renamed to newConnectionWizards and updated ISV docu
Comment 6 Martin Oberhuber CLA 2007-02-28 08:19:00 EST
Verified with I20070227-0820:
New extension point is there and properly documented, functionality restored as it was before, going back to the systemtype selection and forward with a different wizard works.
Comment 7 Martin Oberhuber CLA 2008-08-13 13:16:38 EDT
[target cleanup] 2.0 M5 was the original target milestone for this bug