platform-ui-home/dynamic-ui/index.html

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.17 - (download) (as text) (annotate)
Wed May 25 13:30:43 2005 UTC (4 years, 6 months ago) by khorne
Branch: MAIN
CVS Tags: HEAD
Changes since 1.16: +11 -11 lines
DAMNIT!
<h1>Dynamic Plugin Support</h1>
<p><em>Updated May 25, 2005</em><br>
<author><a href="mailto:kim_horne@ca.ibm.com">Kimberly Horne</a></author>
</p>
<h2>Goals</h2>
<p>
There are two goals for 3.1 with regard to dynamic plugin support.  The first goal is to 
ensure that all extension points provided 
by the Workbench respect the dynamic plugin loading and unloading provided by the Runtime layers.  The second goal is to provide a mechanism and guidelines that other 
extension point providers can use to ensure that their own points respect dynamic 
plugin loading.
</p>
<h2>How To</h2>
<p>TBD
</p>
<h2>Current Workbench Support</h2>

<p>
For each extension point, we describe two levels of support.  The first is registry 
support and the second is effective support.  The first implies that our internal 
cache of the extension point (if there is one) is dynamic aware.  The second implies 
the workbench as a whole is capable of responding to changes to the given extension 
point.  Ie: if a perspective that is currently opened is removed then the perspective 
is closed.</p>
<p>
<table border="1" width="100%">
<tr>
<th>Extension Point</th>
<th>Registry<br>Addition</th>
<th>Effective<br>Addition</th>
<th>Registry<br>Removal</th>
<th>Effective<br>Removal</th>
<th>Notes</th>
</tr>

<tr>
<th colspan="6">Workbench</th>
</tr>

<tr>
<td>actionSetPartAssociations</td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center">&nbsp;</td>
<td style="text-align: center">&nbsp;</td>
<td style="text-align: center">&nbsp;</td>
<td>&nbsp;</td>
</tr>

<tr>
<td>actionSets</td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center">&nbsp;</td>
<td style="text-align: center">&nbsp;</td>
<td style="text-align: center">&nbsp;</td>
<td>This needs to be verified.</td>
</tr>

<tr>
<td>activities</td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td>&nbsp;</td>
</tr>

<tr>
<td>browserSupport</td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td>&nbsp;</td>
</tr>

<tr>
<td>commands</td>
<td style="text-align: center"></td>
<td style="text-align: center"></td>
<td style="text-align: center"></td>
<td style="text-align: center"></td>
<td>This extension point is no longer dynamic because of changes made to accomodate the operations work for 3.1.</td>
</tr>

<tr>
<td>contexts</td>
<td style="text-align: center"></td>
<td style="text-align: center"></td>
<td style="text-align: center"></td>
<td style="text-align: center"></td>
<td>This extension point is no longer dynamic because of changes made to accomodate the operations work for 3.1.</td>
</tr>

<tr>
<td>decorators</td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td>&nbsp;</td>
</tr>

<tr>
<td>editorActions</td>
<td style="text-align: center">&nbsp;</td>
<td style="text-align: center">&nbsp;</td>
<td style="text-align: center">&nbsp;</td>
<td style="text-align: center">&nbsp;</td>
<td>&nbsp;</td>
</tr>

<tr>
<td>editors</td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td>&nbsp;</td>
</tr>

<tr>
<td>elementFactories</td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td>This one is interesting.  The factories are dynamic (the registry is parsed for every request) and we arne't caching them in our code.  However, we're only considering these factories on startup.  If a factory comes into existance after startup should we make some effort to restore the workbench state again?</td>
</tr>

<tr>
<td>encodings</td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td>&nbsp;</td>
</tr>

<tr>
<td>exportWizards</td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td>This needs to be verified.</td>
</tr>

<tr>
<td>helpSupport</td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td>&nbsp;</td>
</tr>

<tr>
<td>importWizards</td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td>This needs to be verified.</td>
</tr>


<tr>
<td>intro</td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td>&nbsp;</td>
</tr>

<td>keywords</td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td>&nbsp;</td>
</tr>

<tr>
<td>newWizards</td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td>&nbsp;</td>
</tr>

<tr>
<td>perspectiveExtensions</td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td>The implementation for this is tricky and could be better.  We currently have to reset the perspectve being modified.  Making this automatic will require a significant amount of time.</td>
</tr>

<tr>
<td>perspective</td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td>&nbsp;</td>
</tr>

<tr>
<td>popupMenus</td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td>&nbsp;</td>
</tr>

<tr>
<td>preferencePages</td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td>&nbsp;</td>
</tr>

<tr>
<td>presentationFactories</td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center">&nbsp;</td>
<td>When a plugin that contributes a presentation goes away I'm not sure what we should do.  We shouldn't just pick an arbitrary presentation to replace it with.  Even if we do, we cant effectivly change presentations while the workbench is running.  Perhaps we should prompt for a restart in this case?</td>
</tr>

<tr>
<td>propertyPages</td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td>&nbsp;</td>
</tr>

<tr>
<td>startup</td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center">N/A</td>
<td style="text-align: center">N/A</td>
<td>When startup extensions are added the earlyStartup method is called.  Nothing occurs on removal.</td>
</tr>

<tr>
<td>systemSummarySections</td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td>The implementation of this is dynamic but there are no test cases to verify at this time.</td>
</tr>

<tr>
<td>themes</td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center">&nbsp;</td>
<td style="text-align: center">&nbsp;</td>
<td>&nbsp;</td>
</tr>

<tr>
<td>viewActions</td>
<td style="text-align: center">&nbsp;</td>
<td style="text-align: center">&nbsp;</td>
<td style="text-align: center">&nbsp;</td>
<td style="text-align: center">&nbsp;</td>
<td>&nbsp;</td>
</tr>

<tr>
<td>views</td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/progress.gif" width="14" height="5"></td>
<td>Removal only hides views in visible perspectives.  Fully implementing removal will require <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57841">Bug 57841</a> to be closed.</td>
</tr>

<tr>
<td>workingSets</td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td>
<td style="text-align: center">&nbsp;</td>
<td style="text-align: center">&nbsp;</td>
<td>&nbsp;</td>
</tr>

<tr>
<th colspan="6">IDE</th>
</tr>

<tr>
<td>markerHelp</td>
<td style="text-align: center">&nbsp;</td>
<td style="text-align: center">&nbsp;</td>
<td style="text-align: center">&nbsp;</td>
<td style="text-align: center">&nbsp;</td>
<td>&nbsp;</td>
</tr>

<tr>
<td>markerImageProviders</td>
<td style="text-align: center">&nbsp;</td>
<td style="text-align: center">&nbsp;</td>
<td style="text-align: center">&nbsp;</td>
<td style="text-align: center">&nbsp;</td>
<td>&nbsp;</td>
</tr>

<tr>
<td>markerResolution</td>
<td style="text-align: center">&nbsp;</td>
<td style="text-align: center">&nbsp;</td>
<td style="text-align: center">&nbsp;</td>
<td style="text-align: center">&nbsp;</td>
<td>&nbsp;</td>
</tr>

<tr>
<td>projectNatureImages</td>
<td style="text-align: center">&nbsp;</td>
<td style="text-align: center">&nbsp;</td>
<td style="text-align: center">&nbsp;</td>
<td style="text-align: center">&nbsp;</td>
<td>&nbsp;</td>
</tr>

<tr>
<td>resourceFilters</td>
<td style="text-align: center">&nbsp;</td>
<td style="text-align: center">&nbsp;</td>
<td style="text-align: center">&nbsp;</td>
<td style="text-align: center">&nbsp;</td>
<td>&nbsp;</td>
</tr>
</table>
</p>

<p>Legend:
<table>
<tr>
<td>Finished: <img src="../images/ok.gif" width="14" height="14"></td>
<td>Underway: <img src="../images/progress.gif" width="14" height="5"></td>
</tr>
</table>
</p>