platform-ui-home/R3_1/dynamic_teams/dynamic_teams.html

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.22 - (download) (as text) (annotate)
Tue Dec 7 23:05:49 2004 UTC (4 years, 11 months ago) by mvanmeek
Branch: MAIN
Changes since 1.21: +92 -28 lines
M4 update
<html>
<head>
<title>Platform UI 3.1</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="http://dev.eclipse.org/default_style.css" type="text/css">
 
<style type="text/css">
<!--
.style1 {
	color: #FF3333;
	font-weight: bold;
}
-->
</style>
</head>

<body bgcolor="#FFFFFF" text="#000000">
<table border=0 cellspacing=5 cellpadding=2 width="100%" >
  <tr> 
    <td align=left width="72%"> <font class=indextop>&nbsp; </font>
    <font class=indexsub> platform user Interface</font></td>
    <td width="28%">
    	<img src="http://dev.eclipse.org/images/Idea.jpg" height=86 width=120
    	alt="Eclipse documentation banner"
    	></td>
  </tr>
</table>
<h3 align="left">Dynamic Teams</h3>
<ul>
  <li><a href="dynamic_teams.html#preferences">Preferences</a></li>
  <li><a href="dynamic_teams.html#actionContributions">Action Contributions</a></li>
  <li><a href="dynamic_teams.html#navigatorFramework">Navigator Framework</a></li>
</ul>
<table border=0 cellspacing=5 cellpadding=2 width="100%" >
  <tr> <a NAME="preferences"> </a> 
    <td width="96%" height="25" colspan="2" align=LEFT valign=TOP bgcolor="#0080C0"><strong><a name="team1"><font color="#FFFFFF" face="Arial,Helvetica">Preference</font></a><font color="#FFFFFF" face="Arial,Helvetica">s</font><font color="#FFFFFF"></font></strong></td>
    </tr>
  <tr> 
    <td><p><strong>Team Goals in no particular order:</strong></p>
      <ol>
        <li>Simplify the preferences UI</li>
        <li>Establish the approach for adopting the R3.0 Core support for preferences 
          <ol>
            <li>define the compatibility story for both UI and Core existing API 
            </li>
            <li>document a model that plug-ins should use when using preference 
              scopes</li>
            <li>Import/Export - define strategy to be used for import and export 
              re: scopes </li>
          </ol>
        </li>
        <li>Support better ways to make preferences available throughout the UI</li>
      </ol>
      <p><strong>Team:</strong></p>
      <ul>
        <li>Tod Creasey</li>
        <li>DJ Houghten</li>
        <li>Tom Eicher</li>
        <li>Martin Aeschlimann</li>
        <li>Michael Van Meekeren </li>
      </ul>
      <p><strong>Planned Work for M4 (committed items): </strong></p>
      <ol>
        <li> <img src="../../images/progress.gif" nosave="" height="5" width="14" border="0"> 
          Preference page sharing/navigation: 
          <ol>
            <li>editing multiple preference pages simultaneously /preference page 
              dependancies 
              <ol>
                <li>Oct 19 - 26 Martin to investigate this as well as details 
                  related to how to keep information that is shared accross pages 
                  in sync</li>
                <li><strong>Oct 26 - Nov 2 </strong> 
                  <ol>
                    <li><a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/jdt-ui-home/r3_1/proposals/preferences/usability-improvement-suggestions.html">See 
                      Tom and Martins documentation on overall preference navigation/usability/sharing</a> 
                      <ol>
                        <li>linking style is supported but can be different per 
                          page</li>
                        <li>will take up less space, need some guidelines for 
                          commonly used links like &quot;advanced&quot;</li>
                        <li>need history controls to move back and forth</li>
                        <li>what about jumping around in the lists when the selection 
                          changes </li>
                        <li>how do you open a linked page on specific information</li>
                        <li>searching, need to have a prototype</li>
                        <li>working copy, need to have a prototype</li>
                      </ol>
                    </li>
                    <li>Example 1. Java build path affects other applications 
                      build path</li>
                    <li>Example 2. pages show a preview but preview is affected 
                      by other pages</li>
                    <li>Example 3. project options inherits from instance settings</li>
                    <li>pages don't share information 
                      <ol>
                        <li>force apply when page left?</li>
                        <li>working copy which is a copy of preferences that all 
                          pages are working on?</li>
                        <li>pages should be organized better, combine pages via 
                          links or combining the</li>
                      </ol>
                    </li>
                    <li>Important to list the scenarios</li>
                  </ol>
                </li>
                <li><strong>Nov 9 - 16</strong> 
                  <ol>
                    <li>prototype/patch implementation</li>
                    <li>first pass for linking between pages behaviour is the 
                      same as R3.0</li>
                    <li>ability to browse back and forward in response to this.</li>
                  </ol>
                </li>
                <li><img src="../../images/ok.gif" nosave="" height="20" width="20" border="0"> 
                  <strong>Nov 18</strong> 
                  <ol>
                    <li>committed to JDT UI</li>
                    <li>looking at forms code</li>
                    <li>submitted a patch to <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=78878">bug 
                      78878</a> 
                      <ol>
                        <li>TC or MVM to look at the patch</li>
                      </ol>
                    </li>
                  </ol>
                </li>
                <li><strong>Nov 23</strong> 
                  <ol>
                    <li>TC - establish a story for the link widget</li>
                    <li>make an example use case for this in the UI</li>
                    <li>Non-internal version of preference page opening 
                      <ol>
                        <li>i.e. API to open on a page or switch to a page</li>
                        <li>take an Object argument as well</li>
                        <li>experimental for now</li>
                        <li>wait to see what the solution is for filtering/highlighting 
                          pages to see what to do here</li>
                      </ol>
                    </li>
                  </ol>
                </li>
                <li> Owner: MA (ZRH) </li>
              </ol>
            </li>
            <li>preference sharing (teams contribute similar prefs to a common 
              page) 
              <ol>
                <li>Owner: None</li>
              </ol>
            </li>
            <li>Tree support in the Project Properties view bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=54128">54128</a></li>
          </ol>
        </li>
        <li> <img src="../../images/progress.gif" nosave="" height="5" width="14" border="0"> 
          Re-catagorize preferences to see if this solves the problems with finding 
          the preferences 
          <ol>
            <li><img src="../../images/ok.gif" nosave="" height="20" width="20" border="0"> 
              Investigate links between pages 
              <ol>
                <li>searching and linking are usefull for managing lots of data 
                  but also good if someone tends to prefer it over reading the 
                  pages etc...</li>
                <li>Alternatives 
                  <ol>
                    <li>suggest that we provide examples/API to support links 
                      but not add to pref ext. pt. schema or bottom of a pref 
                      page by default</li>
                  </ol>
                </li>
              </ol>
            </li>
            <li>Investigate combining pages that have common information 
              <ol>
                <li><strong>Nov 9 - 16</strong> 
                  <ol>
                    <li>Seems like our three examples (label decorations, colors 
                      and fonts, editor properties) are very different</li>
                    <li>suggest linking should solve this</li>
                    <li>need back&lt;-&gt;forward navigation support in the Preference 
                      Dialog so the user is not lost</li>
                  </ol>
                </li>
                <li>Owner: TC,MVM (OTT)</li>
              </ol>
            </li>
            <li><img src="../../images/ok.gif" nosave="" height="20" width="20" border="0"><strong>Nov 
              23</strong> 
              <ol>
                <li>UI to review <a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/jdt-ui-home/r3_1/proposals/preferences/page-regrouping.html">suggestions 
                  on page regrouping </a>by TE and MA on pref pages 
                  <ol>
                    <li>DJ, TC and MVM to review the JDT team pref pages</li>
                  </ol>
                </li>
                <li>MA to fabricate some screen shots on hiding advanced pages</li>
              </ol>
            </li>
          </ol>
        </li>
      </ol>
      <p><strong>M5 finishing work:</strong></p>
      <p>After M4 there are a few items that we would like to revisit and work 
        on independantly to 'complete' and polish what was done in M4, they are: 
      </p>
      <ul>
        <li>Catagories and Components 
          <ul>
            <li> how can we keep things simple for parenting of pages</li>
          </ul>
        </li>
        <li> import/export 
          <ul>
            <li>add support for pluggable import/export wizards instead of import/export 
              on the pref dialog</li>
          </ul>
        </li>
        <li> what do we do with advanced topics? 
          <ul>
            <li>hide advanced pages</li>
            <li>advanced sections on individual pages</li>
            <li>advanced category (i.e. group in the toolbar)</li>
            <li>groups in the pref dialog map directly to capabilities aside from 
              perhaps always having a &quot;General&quot; group</li>
          </ul>
        </li>
        <li> M5 PreferenceService lookup order and support for listening on all 
          scopes 
          <ul>
            <li>need to re-visit API here</li>
            <li>build something on top of the existing &quot;too-powerful&quot; 
              core support to make a simpler programming model</li>
          </ul>
        </li>
        <li>working copy 
          <ul>
            <li>use Colors and Fonts and Editors use of the same prefs to show 
              colors as a case to prototype a working model API where preferences 
              saved go to an intermediate pref. store so that pages can query 
              this and get live information for preferences that have been changed 
              in one page and not applied to the underlying store yet</li>
          </ul>
        </li>
        <li> View settings 
          <ul>
            <li>add a simple view (much like properties) so a view can open a 
              dialog on its own preferences and not have them show up in the global 
              prefs if not necessary</li>
          </ul>
        </li>
        <li>View instance data persistance
          <ul>
            <li>currently two instances of the same view can not persist their 
              setting which causes lots of strange behaviour when opening multiple 
              Workbench windows for example and trying to set various options 
              on views</li>
          </ul>
        </li>
      </ul>
      <p>&nbsp; </p>
      <h2><strong>Completed</strong></h2>
      <ol>
        <li><img src="../../images/ok.gif" nosave="" height="20" width="20" border="0"> 
          Core API backwards compatibility <strong>(Goal #2) </strong> 
          <ol>
            <li> Document a plan with respect to the new API based on dyn. team 
              input, document what that story is, publish to mailing lists for 
              added visibility</li>
            <li>Oct 19 - 26 (THREE issues) <a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-core-home/documents/user_settings/pref_apis.html"> 
              See DJs doc on this </a> 
              <ol>
                <li>ONE typed events </li>
                <li>TWO - some CORE API for setting prefs. (putValue) does not 
                  send prop. change events which ends up not updating the caches 
                  as the caches is changed as a result of an event, what should 
                  we do for cases where prefs are cached for example and no event 
                  is sent to update the value 
                  <ol>
                    <li>can not back out as this is API</li>
                    <li>log bug reports checking uses of putValue as no event 
                      is sent </li>
                    <li>update doc with hint that only non-API prefs should be 
                      used in this way if at all</li>
                  </ol>
                </li>
                <li>THREE 
                  <ol>
                    <li>plug-ins in RCP should be aware of the no data (no workspace) 
                      case.</li>
                    <li>need to put some changes in workbench</li>
                  </ol>
                </li>
              </ol>
            </li>
            <li><strong>Oct 26 - Nov 2</strong> 
              <ol>
                <li>DJ to send note to mailing lists with potential problem areas</li>
                <li>porting guide</li>
              </ol>
            </li>
            <li>Owner: DJ (OTT Core) </li>
          </ol>
        </li>
        <li><img src="../../images/ok.gif" nosave="" height="20" width="20" border="0"> 
          In-line opening of preference pages <strong>(Goal #3)</strong> 
          <ol>
            <li> Produce a patch to prototype version of direct preference page 
              opening, Platform UI to evaluate agree on final version and implement 
            </li>
            <li>Oct 19 - 26 
              <ol>
                <li>DP to cleanup a few issues around this work. Some API public 
                  yet, need to get Tom to try</li>
              </ol>
            </li>
            <li> Owner: Tom (ZRH), Doug Pollock (OTT) </li>
          </ol>
        </li>
        <li><img src="../../images/ok.gif" nosave="" height="20" width="20" border="0"> 
          Pass through the preferences to see which ones should be view only preferences 
          <ol>
            <li>need some guidelines for views (MA - ZRH)</li>
            <li><strong>Nov 18</strong> 
              <ol>
                <li>TE to check with MA to see if this really is what he was working 
                  on.</li>
              </ol>
            </li>
            <li><strong>Nov 26</strong> 
              <ol>
                <li>Search is an example here, how do we deal with view instance 
                  settings</li>
                <li>MA - to investigate</li>
              </ol>
            </li>
          </ol>
        </li>
        <li><img src="../../images/ok.gif" nosave="" height="20" width="13" border="0"> 
          Functional high level category view in preference dialog <strong>(Goal 
          #1)</strong> </li>
        <ol>
          <ol>
            <ol>
              <li> Iterate over a <strong>Prototype </strong> new Preferences 
                Dialog/Demo to dynamic team, to have something new in M3 with 
                regards to functional top level preference categories </li>
              <li>Simplified presentation for preferences and preference catagories</li>
              <li>Easier navigation of the preference pages </li>
              <li>Oct 19 - 26 - think of issues with high vs wide pref pages. 
                Can we use the width better 
                <ol>
                  <li>move icons along the top </li>
                  <li>how do we deal with pref pages of the same name (e.g. Editors) 
                  </li>
                </ol>
              </li>
              <li><strong>Oct 26 - Nov 2 </strong> Prototype #2 with list with 
                large icons on left and expandable list on right 
                <ol>
                  <li>need a design review</li>
                </ol>
              </li>
              <li><strong>Nov 9</strong> 
                <ol>
                  <li>sent <a href="prefs4.gif">samples snapshot to designers</a></li>
                  <li>*** TC and MVM - how will catagorization work, how will 
                    it be flexible from the product level</li>
                  <li>what about advanced being a dumping grounds for all other 
                    options?</li>
                  <li>what about having an advanced button on each group so you 
                    can get all options?</li>
                  <li>should not introduce another scope here (i.e. advanced).</li>
                  <li>plan to finish for M4</li>
                </ol>
              </li>
              <li><strong>Nov 18</strong> 
                <ol>
                  <li>waiting on designers </li>
                </ol>
              </li>
              <li>Owner: TC (OTT Platform UI)</li>
            </ol>
          </ol>
        </ol>
        <li><img src="../../images/ok.gif" nosave="" height="20" width="13" border="0"> 
          Initiate instrumentation work to help provide data for preference cleanup, 
          goal is to have information by beginning of M4<strong> (Goal #1) </strong> 
        </li>
        <ol>
          <ol>
            <ol>
              <ol>
                <li>Oct 19 - instrumentation plugins working on R3.0 and R3.0 
                  M2</li>
                <li>Oct 19 - 22 - decide on date when information can be obtained 
                  if possible </li>
                <li><strong>Oct 26 - Nov 2 </strong> 
                  <ol>
                    <li>Instrumentation is under way</li>
                  </ol>
                </li>
                <li><strong>Nov 18 - </strong>Pilot instrumentation survey to 
                  be run this coming week</li>
                <li><img src="../../images/ok.gif" nosave="" height="20" width="20" border="0"><strong>Dec 
                  1</strong>, began survey</li>
                <li>Owner: Michael (OTT Platform UI) </li>
              </ol>
              <li></li>
            </ol>
          </ol>
        </ol>
      </ol>
      <p>&nbsp;</p>
      <p><strong>Full list of issues that were discussed (note: these are not 
        all committed items):</strong></p>
      <p>* low priority<br>
        ** medium priority<br>
        *** high priority<br>
      </p>
      <ol>
        <li>*** Make the UI simpler, current solution does not scale well, encourages 
          too many categories 
          <ol>
            <li> UI model with leaning towards few logical/functional groupings 
              at the top level</li>
            <li>The Import/Export support should only talk about being able to 
              export things to the same extent that it can provide a human readable 
              string for the items</li>
            <li>Currently categorized by plug-in</li>
            <li>Is there any way to enforce/restrict these categories on downstream 
              products?</li>
          </ol>
        </li>
        <li> *** Clean up 
          <ol>
            <li>Remove legacy, unneeded, confusing preferences, advanced</li>
            <li>Use instrumentation tools to found out unused preferences vs frequently 
              used</li>
          </ol>
        </li>
        <li>*** Backwards Compatibility 
          <ol>
            <li>Need to clearly define what we do/do not support in terms of backward 
              compatibility for the Core API</li>
            <li>Write more tests?</li>
            <li>Scoped preference store tests</li>
            <li>Are we allowed to break APIs?</li>
          </ol>
        </li>
        <li>*** Sharing 
          <ol>
            <li>Other teams contribute &quot;pages&quot; to a shared page</li>
            <li>Decorators on three pages </li>
            <li>E.g. workbench contributes a category and other teams contribute 
              (e.g. appearance) 
              <ol>
                <li>Not a hardcoded list</li>
              </ol>
            </li>
            <li>Sharing an individual preference 
              <ol>
                <li>e.g. print margin is shared for all editors 
                  <ol>
                    <li> text font, overriding inherited prefs in some cases</li>
                  </ol>
                </li>
              </ol>
            </li>
          </ol>
        </li>
        <li>** Support to directly open a preference page (or open all prefs. 
          but to a specific page) 
          <ol>
            <li>On a specific page</li>
            <li>Page might switch to a specific tab or group (i.e. don't talk 
              in terms of the UI, but rather what is to be shown and the page 
              figures it out)</li>
            <li>Option to show all pages, one page, or a part of the page</li>
            <li>Opening a single page or portion of the preferences 
              <ol>
                <li>ZRH has a prototype</li>
              </ol>
            </li>
          </ol>
        </li>
        <li>** Scalable 
          <ol>
            <li>Enable search for preferences</li>
            <li>Enable highlighting of 
              <ol>
                <li> pages in the tree</li>
                <li>controls (checkboxes...) on a page</li>
                <li>enable different navigation controls on the LHS of the preference 
                  dialog (see screenshots)</li>
                <li>ability to have a different view on the preferences</li>
                <li>should we keep the existing structure?</li>
                <li>How do we contribute this information? XML?</li>
                <li>Does the extension point mechanism scale that well?</li>
                <li>Don't want to aggressively activate plug-ins. (when searching)</li>
              </ol>
            </li>
          </ol>
        </li>
        <li>* Locking/Access Control 
          <ol>
            <li>Requirements? 
              <ol>
                <li>Locking = remove from the UI? At the granularity of a page?</li>
                <li>Preferences that are not displayed in the UI</li>
              </ol>
            </li>
          </ol>
        </li>
        <li>*Ability to apply preferences between page switch to help with inconsistent 
          preferences 
          <ol>
            <li>Need a working copy of the preferences root</li>
          </ol>
        </li>
        <li>* API 
          <ol>
            <li> Do we need new API for associating human readable strings with 
              preferences, or categories?</li>
            <li>Can we simplify the current API?</li>
            <li> Does this live in Core? UI? Could be at the Preference Page level 
            </li>
          </ol>
        </li>
        <li>* Running background operations from a preference dialog<span class="style1"> 
          (NEW ON OCT 19)</span> 
          <ol>
            <li>E.g. ask for a build twice</li>
          </ol>
        </li>
        <li> Theme support on various levels 
          <ol>
            <li>(e.g. syntax highlighting themes, formatting themes, overall themes</li>
          </ol>
        </li>
        <li>Allow Export to export random preferences, not all preferences are 
          stored in core</li>
        <li>non-exportable preference/non sharable preferences</li>
        <li>Need to deal with the three core layers that we have? Project, configuration...</li>
        <li>Batched property change events</li>
        <li>Bug 54392 </li>
      </ol>
      <p><strong>Other Future Ideas: </strong></p>
      <ul>
        <li>Auto-page generation based on preference types and predifined behaviour 
          (e.g. boolean pref gets a check box and a label)</li>
        <li>Metadata for preferences? Store: user-readable name, groupings/dependencies, 
          category, exportable flag, sharable flag </li>
        <li> When you export, it might not be exporting what you think you are 
          since preference pages aren't explicitly linked to the preference store. 
        </li>
        <li> Movement between tabs in preference pages -&gt; marked as dirty until 
          OK or APPLY is hit. Everyone implements their own ?working copy? strategy 
          <ul>
            <li>Maybe work with a preference tree and then apply it to the real 
              preferences? (note: the import/export mechanism at the Core level 
              allows manipulation of a preferences tree and then apply it to the 
              real tree) </li>
          </ul>
        </li>
        <li> Displaying scopes in the UI </li>
        <li>Import/Export of project preferences -&gt; When you import, you really 
          want to apply these preferences to a specific group of projects in your 
          workspace (underlying mechanism doesn't allow for this right now) </li>
      </ul></td>
    <td>&nbsp;</td>
  </tr>
</table>

<table border="0" cellspacing="5" cellpadding="2" width="100%">
  <tbody>
    <tr> 
      <td width="96%" height="23" colspan="2" align="left" valign="top" bgcolor="#0080c0"><b><font face="Arial,Helvetica"><font color="#ffffff"> 
	    <a name="actionContributions"></a>
        Action Contributions</font></font></b></td>
    </tr>
    <tr>
      <td height="232" colspan="2" valign="top">
	    <p><strong>Team Goals:</strong></p>
		<ul>
		<li>P1: Simplify the programming model for contributing menu and toolbar items to the workbench (and their corresponding appearance and behaviour).</li>
		<li>P1: Improved control over menu definition and item ordering. Scenario: Search and Run menus.</li>
		<li>P1: Allow the selected object in a view to override an action, e.g. Rename in Navigator on Java element yields refactoring rename</li>
		<li>P1: Maintain a strong separation between a command, its handler(s) and its placement(s) in the UI</li>
		<li>P2: Address difficulty in determining keybindings to show for context menu items.</li>
		<li>P2: Support dynamic entries in (top-level) menus, e.g. File > New submenu, window list, recent file list, Run > Run As..., QuickDiffToggleAction </li>
		<li>P2: Keybindings for object contributions</li>
		<li>P2: Ability to define a default command handler</li>
		<li>P2: Provide a localized command service for parts to use (generalize IKeyBindingService), and support nesting of parts.</li>
		<li>P2: Improve support for contributing items to nested parts/pages (e.g. console view scenario, bug 75737).</li>
		<li>P2: Resolve problems with object contributions in editors (new and experimental in 3.1).  See bug 75273.</li>
		<li>P3: Allow the same item to be placed in the UI in multiple places, while minimizing duplication (e.g. of XML enablement expressions).</li>
		<li>P3: Look up and execute existing behaviour in the interface by identifier, e.g. to support welcome, cheat sheets, macros, scripting</li>
		<li>P3: Address JFace impedence mismatch: no notion of commands or keybindings at JFace layer</li>
		<li>P4: Make workbench actions available for others to place elsewhere in IDE.&nbsp; Bug 71028.</li>
		</ul>
        <p><strong>Team:</strong></p>
        <ul>
          <li>Nick Edgar</li>
          <li>Kai-Uwe Maetzel</li>
          <li>Douglas Pollock</li>
          <li>Michael Van Meekeren </li>
        </ul>
		<p><strong>Principles:</strong></p>
		The work on simplifying the programming model will follow these principles:
		<ul>
		<li>Model/UI separation.  Commands and command handlers/actions are specified independently of their placement in the UI.</li>
		<li>Universal extensibility.  Every menu and toolbar can be extended - structurally and content wise.  Explicit sealing of menus may be an option.</li>
		<li>Universal keybindings.  From user's point of view, every menu item and tool item can have a user defined keybinding.  From the system's perspective, every command can be triggered by a key binding.</li>
		<li>Separation of structure content.  The structure of menus (i.e. which groups they contain) is defined independently from the content of the menus (i.e. the concrete items).
Everything must be explicitly defined (e.g., there is no implicit definition of new groups in menus).</li>
		<li>Fine-grained control over visibility.  Items can specify their visibility based on a context and its properties (think of  core expressions).</li>
		<li>Container-managed enablement.  Allow the container for an item to choose whether enablement of the item is computed eagerly or on-demand.  E.g. menus items can be done on demand, but tool items will need to be done more eagerly.  Items determine their enablement based on the associated command handler.  This may also apply to visibility.</li>
		</ul>

        <p><strong>Documents:</strong></p>
		<ul>
		<li><a href="../contributions-proposal/scenarios.html">Scenarios for contributing menu items and toolbar items in the Workbench</a>.</li>
		<li>Actions in the Navigator view (presentation, applicability, etc): <a href="../contributions-proposal/NavigatorActions.html">HTML</a>, <a href="../contributions-proposal/NavigatorActions.xls">Excel spreadsheet</a>.</li>
		<li><a href="../contributions-proposal/design.xml">Sketch of proposed changes to commands schema, with examples.</a></li>
		<li><a href="../contributions-proposal/nick_navigator.xml">Sketch of changes to Navigator view's extensions (does not correspond exactly with schema above).</a></li>
		<li><a href="../contributions-proposal/old-style.xml">Collecton of old XML for some plug-ins' contributions</a></li>
		<li><a href="../contributions-proposal/porting.xml">Port of the contributions to the proposed schema</a></li>
		<li>On ottcvs1 (IBM internal), there is a plug-in called "org.eclipse.commands".  Looks there for continuing development.</li>
		</ul>

        <p><strong>Planned Work for M5:</strong></p>
        <ul>
          <li>Investigate pushing down refactoring participants mechanism to workbench and generalizing it to a general operation participants model.(db/ne/jml)
          </li>
        </ul>

        <p><strong>Planned Work for M4:</strong></p>
        <ul>
          <li> <img src="../../images/progress.gif" nosave="" height="5" width="14" border="0"> 
            Prototype sample API designed to unify/simplify and clarify (see bug 
            36968) the current set of contribution API's 
            <ul>
              <li><img src="../../images/progress.gif" nosave="" height="5" width="14" border="0"> 
                API should fix the following among others: 
                <ul>
                  <li><img src="../../images/progress.gif" nosave="" height="5" width="14" border="0"> 
                    difficulty determining keybindings to show for context menu 
                    items.</li>
                  <li><img src="../../images/progress.gif" nosave="" height="5" width="14" border="0"> 
                    understand and plan for support of ordering of items (eg. action 
                    sets)</li>
                  <li><img src="../../images/progress.gif" nosave="" height="5" width="14" border="0"> 
                    ability to declare a command and handler once, and support 
                    placement of the command separately. 
                    <ul>
                      <li>Enablement is defined by the handler</li>
                    </ul>
                  </li>
                  <li><img src="../../images/progress.gif" nosave="" height="5" width="14" border="0"> 
                    see proposal coming soon</li>
                </ul>
              </li>
              <li><img src="../../images/progress.gif" nosave="" height="5" width="14" border="0"> 
                write regression tests</li>
              <li><img src="../../images/progress.gif" nosave="" height="5" width="14" border="0"> 
                build sample/example test plug-ins</li>
              <li><img src="../../images/progress.gif" nosave="" height="5" width="14" border="0"> 
                investigate lower level (e.g. JFace) related existing API to ensure 
                consistancy</li>
              <li><img src="../../images/progress.gif" nosave="" height="5" width="14" border="0"> 
                minimally support new API based on the existing code 
                <ul>
                  <li>time permitting enhance or re-write portions of the existing 
                    code for the following reasons: 
                    <ul>
                      <li>does not support lazy updating in the UI</li>
                      <li>poor performance</li>
                      <li>complex submenu manager code</li>
                    </ul>
                  </li>
                </ul>
              </li>
              <li><img src="../../images/progress.gif" nosave="" height="5" width="14" border="0"> 
                ISV doc showing migration steps and introducing the new API (ac, 
                dp) </li>
            </ul>
          </li>
        </ul>
        <p><strong>Completed Work for M3:</strong></p>
        <ul>
          <li><img src="../../images/ok.gif" nosave="" height="12" width="12" border="0"> Document scenarios for use cases for Actions (ne)</li>
        </ul>
      <p>&nbsp;</p></td>
    </tr>
    <tr>
 	<td width="96%" height="23" colspan="2" align="left" valign="top" bgcolor="#0080c0"><b><font face="Arial,Helvetica"><font color="#ffffff"> 
   	  <a name="navigatorFramework"></a>Navigator Framework</font></font></b></td>
    </tr>
    <tr> 
      <td height="232" colspan="2" valign="top"><p><strong>Team Goals in no particular order:</strong></p>
        <ol>
          <li>Provide a general framework for developing navigator views in the context of RCP or the Workbench </li>
          <li>Framework should act as a test bed for new support for: 
            <ol>
              <li>retargetable actions</li>
              <li>operations framework</li>
              <li>working set enhancements for large workspaces</li>
              <li> </li>
            </ol>
          non-resource based navigator support </li>
        </ol>
        <p><strong>Team:</strong></p>
        <ul>
          <li>Billy Biggs</li>
          <li>Nick Edgar</li>
          <li>Dirk Baeumer</li>
          <li>Michael Van Meekeren </li>
        </ul>
      <p><strong>Planned Work for M3:</strong></p>
      <ul>
        <li><img src="../../images/progress.gif" nosave="" height="5" width="14" border="0"> Implement prototype generic navigator framework based on original <a href="../../navigator-proposal/general_purpose_navigator_proposal.html">&quot;Generic Navigator&quot; proposal</a>          <ul>
            <li>Owner BB (OTT) </li>
          </ul>
        </li>
        <li><img src="../../images/progress.gif" nosave="" height="5" width="14" border="0"> Investigate supporting working groups and filters (namely M3 additions in Package Explorer for managing large workspaces) in generic layer
          <ul>
            <li>Owner BB (OTT,  DB to send pointers to code)</li>
            </ul>
        </li>
        <li>   <img src="../../images/ok.gif" nosave="" height="20" width="20" border="0"> Move re-targetable action work to Action Contributions dyn. team
          <ul>
            <li>Owner MVM (OTT) </li>
            </ul>
        </li>
        <li>OTHER ITEMS 
          <ul>
            <li><img src="../../images/progress.gif" nosave="" height="5" width="14" border="0"> Operations (side note, not officially part of this work but recorded here)
                <ul>
                  <li>NOTE JM (OTT) and DB (ZRH) to investigate a prototype for this then to come back in M4 with requirements for UI </li>
                  <li>Generalize Operations and push code down from LTK DB (ZRH) </li>
                </ul>
            </li>
            <li><img src="../../images/progress.gif" nosave="" height="5" width="14" border="0"> Work on removing needed for LegacyResourceSupport class JM (OTT) </li>
          </ul>
        </li>
        </ul>      
      <blockquote>
        <p>&nbsp;</p>
      </blockquote>      <p><strong>Ideas/Possible future work:</strong></p>
      <p>- </p></td>
    </tr>
    <tr> 
      <td width="96%">          </tr>
  </tbody>
</table>
</body>
</html>