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

Bug 63158

Summary: [RCP] [Preferences] [ActionSets] Should decouple preference pages and actions from their location in the UI
Product: [Eclipse Project] Platform Reporter: Nick Edgar <n.a.edgar>
Component: UIAssignee: Platform-UI-Inbox <Platform-UI-Inbox>
Status: RESOLVED WONTFIX QA Contact:
Severity: normal    
Priority: P3 CC: birsan, douglas.pollock
Version: 3.0   
Target Milestone: ---   
Hardware: PC   
OS: Windows 2000   
Whiteboard:

Description Nick Edgar CLA 2004-05-19 22:23:48 EDT
build I20040519

Several clients want to use optional RCP components like the Update Manager.
However, these components often include workbench contributions that make
assumptions about where the contribution appears in the UI. 
Fairly often the app may want to avoid showing a particular contribution in the
UI at all.

For example, LWP wants to invoke the update manager programmatically, or via
their own actions.  They do not want Update UI's action set(s) or preference
page(s) to appear at all.  Other apps like Rational CTRC are in the same boat.

We should separate the declaration of preference pages, actions, etc. from
whether they appear in the UI, and where they appear if wanted.
This should be done in such a way that the implementing class can still be kept
internal.

Current workarounds include:

- using activities to hide contributions
  - this may have downsides, e.g. the activity itself showing up in the UI

- leaving the code in the generic component but moving the extension XML to an
application-specific plugin (e.g. some preference page classes are defined in
org.eclipse.ui.workbench but their XML is in org.eclipse.ui.ide)
  - this typically means referring to an internal class across API boundaries
Comment 1 Nick Edgar CLA 2004-05-19 22:24:05 EDT
Not for 3.0.
Comment 2 Denis Roy CLA 2009-08-30 02:18:53 EDT
As of now 'LATER' and 'REMIND' resolutions are no longer supported.
Please reopen this bug if it is still valid for you.