platform-ui-home/dynamic-ui/index.html
Parent Directory
|
Revision Log
Revision 1.15 - (view) (download) (as text)
| 1 : | khorne | 1.1 | <h1>Dynamic Plugin Support</h1> |
| 2 : | khorne | 1.15 | <p><em>Updated February 4, 2005</em><br> |
| 3 : | khorne | 1.1 | <author><a href="mailto:kim_horne@ca.ibm.com">Kimberly Horne</a></author> |
| 4 : | </p> | ||
| 5 : | <h2>Goals</h2> | ||
| 6 : | <p> | ||
| 7 : | There are two goals for 3.1 with regard to dynamic plugin support. The first goal is to | ||
| 8 : | ensure that all extension points provided | ||
| 9 : | 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 | ||
| 10 : | extension point providers can use to ensure that their own points respect dynamic | ||
| 11 : | plugin loading. | ||
| 12 : | </p> | ||
| 13 : | <h2>How To</h2> | ||
| 14 : | <p>TBD | ||
| 15 : | </p> | ||
| 16 : | <h2>Current Workbench Support</h2> | ||
| 17 : | |||
| 18 : | <p> | ||
| 19 : | For each extension point, we describe two levels of support. The first is registry | ||
| 20 : | support and the second is effective support. The first implies that our internal | ||
| 21 : | cache of the extension point (if there is one) is dynamic aware. The second implies | ||
| 22 : | the workbench as a whole is capable of responding to changes to the given extension | ||
| 23 : | point. Ie: if a perspective that is currently opened is removed then the perspective | ||
| 24 : | is closed.</p> | ||
| 25 : | khorne | 1.2 | <p> |
| 26 : | khorne | 1.1 | <table border="1" width="100%"> |
| 27 : | <tr> | ||
| 28 : | <th>Extension Point</th> | ||
| 29 : | <th>Registry<br>Addition</th> | ||
| 30 : | <th>Effective<br>Addition</th> | ||
| 31 : | <th>Registry<br>Removal</th> | ||
| 32 : | <th>Effective<br>Removal</th> | ||
| 33 : | <th>Notes</th> | ||
| 34 : | </tr> | ||
| 35 : | |||
| 36 : | <tr> | ||
| 37 : | <th colspan="6">Workbench</th> | ||
| 38 : | </tr> | ||
| 39 : | |||
| 40 : | <tr> | ||
| 41 : | <td>actionSetPartAssociations</td> | ||
| 42 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 43 : | <td style="text-align: center"> </td> | ||
| 44 : | <td style="text-align: center"> </td> | ||
| 45 : | <td style="text-align: center"> </td> | ||
| 46 : | <td> </td> | ||
| 47 : | </tr> | ||
| 48 : | |||
| 49 : | <tr> | ||
| 50 : | <td>actionSets</td> | ||
| 51 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 52 : | <td style="text-align: center"> </td> | ||
| 53 : | <td style="text-align: center"> </td> | ||
| 54 : | <td style="text-align: center"> </td> | ||
| 55 : | <td>This needs to be verified.</td> | ||
| 56 : | </tr> | ||
| 57 : | |||
| 58 : | <tr> | ||
| 59 : | <td>activities</td> | ||
| 60 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 61 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 62 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 63 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 64 : | <td> </td> | ||
| 65 : | </tr> | ||
| 66 : | |||
| 67 : | <tr> | ||
| 68 : | <td>commands</td> | ||
| 69 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 70 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 71 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 72 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 73 : | <td>This needs to be verified.</td> | ||
| 74 : | </tr> | ||
| 75 : | |||
| 76 : | <tr> | ||
| 77 : | <td>contexts</td> | ||
| 78 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 79 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 80 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 81 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 82 : | <td>This needs to be verified.</td> | ||
| 83 : | </tr> | ||
| 84 : | |||
| 85 : | <tr> | ||
| 86 : | <td>decorators</td> | ||
| 87 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 88 : | khorne | 1.9 | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> |
| 89 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 90 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 91 : | khorne | 1.1 | <td> </td> |
| 92 : | </tr> | ||
| 93 : | |||
| 94 : | <tr> | ||
| 95 : | <td>editorActions</td> | ||
| 96 : | <td style="text-align: center"> </td> | ||
| 97 : | <td style="text-align: center"> </td> | ||
| 98 : | <td style="text-align: center"> </td> | ||
| 99 : | <td style="text-align: center"> </td> | ||
| 100 : | <td> </td> | ||
| 101 : | </tr> | ||
| 102 : | |||
| 103 : | <tr> | ||
| 104 : | <td>editors</td> | ||
| 105 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 106 : | khorne | 1.2 | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> |
| 107 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 108 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 109 : | khorne | 1.1 | <td> </td> |
| 110 : | </tr> | ||
| 111 : | |||
| 112 : | <tr> | ||
| 113 : | <td>elementFactories</td> | ||
| 114 : | khorne | 1.3 | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> |
| 115 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 116 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 117 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 118 : | <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> | ||
| 119 : | khorne | 1.1 | </tr> |
| 120 : | |||
| 121 : | <tr> | ||
| 122 : | <td>encodings</td> | ||
| 123 : | khorne | 1.10 | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> |
| 124 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 125 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 126 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 127 : | khorne | 1.1 | <td> </td> |
| 128 : | </tr> | ||
| 129 : | |||
| 130 : | <tr> | ||
| 131 : | <td>exportWizards</td> | ||
| 132 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 133 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 134 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 135 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 136 : | <td>This needs to be verified.</td> | ||
| 137 : | </tr> | ||
| 138 : | |||
| 139 : | <tr> | ||
| 140 : | <td>helpSupport</td> | ||
| 141 : | khorne | 1.11 | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> |
| 142 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 143 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 144 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 145 : | khorne | 1.1 | <td> </td> |
| 146 : | </tr> | ||
| 147 : | |||
| 148 : | <tr> | ||
| 149 : | <td>importWizards</td> | ||
| 150 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 151 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 152 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 153 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 154 : | <td>This needs to be verified.</td> | ||
| 155 : | </tr> | ||
| 156 : | |||
| 157 : | |||
| 158 : | <tr> | ||
| 159 : | <td>intro</td> | ||
| 160 : | khorne | 1.2 | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> |
| 161 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 162 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 163 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 164 : | khorne | 1.1 | <td> </td> |
| 165 : | </tr> | ||
| 166 : | |||
| 167 : | khorne | 1.15 | <td>keywords</td> |
| 168 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 169 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 170 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 171 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 172 : | <td> </td> | ||
| 173 : | </tr> | ||
| 174 : | |||
| 175 : | khorne | 1.1 | <tr> |
| 176 : | <td>newWizards</td> | ||
| 177 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 178 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 179 : | khorne | 1.2 | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> |
| 180 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 181 : | khorne | 1.1 | <td> </td> |
| 182 : | </tr> | ||
| 183 : | |||
| 184 : | <tr> | ||
| 185 : | <td>perspectiveExtensions</td> | ||
| 186 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 187 : | khorne | 1.14 | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> |
| 188 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 189 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 190 : | <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> | ||
| 191 : | khorne | 1.1 | </tr> |
| 192 : | |||
| 193 : | <tr> | ||
| 194 : | <td>perspective</td> | ||
| 195 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 196 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 197 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 198 : | khorne | 1.6 | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> |
| 199 : | khorne | 1.1 | <td> </td> |
| 200 : | </tr> | ||
| 201 : | |||
| 202 : | <tr> | ||
| 203 : | <td>popupMenus</td> | ||
| 204 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 205 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 206 : | khorne | 1.4 | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> |
| 207 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 208 : | khorne | 1.1 | <td> </td> |
| 209 : | </tr> | ||
| 210 : | |||
| 211 : | <tr> | ||
| 212 : | <td>preferencePages</td> | ||
| 213 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 214 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 215 : | khorne | 1.15 | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> |
| 216 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 217 : | khorne | 1.1 | <td> </td> |
| 218 : | </tr> | ||
| 219 : | |||
| 220 : | <tr> | ||
| 221 : | <td>presentationFactories</td> | ||
| 222 : | khorne | 1.8 | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> |
| 223 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 224 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 225 : | khorne | 1.1 | <td style="text-align: center"> </td> |
| 226 : | khorne | 1.8 | <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> |
| 227 : | khorne | 1.1 | </tr> |
| 228 : | |||
| 229 : | <tr> | ||
| 230 : | <td>propertyPages</td> | ||
| 231 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 232 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 233 : | khorne | 1.13 | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> |
| 234 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 235 : | khorne | 1.1 | <td> </td> |
| 236 : | </tr> | ||
| 237 : | |||
| 238 : | <tr> | ||
| 239 : | <td>startup</td> | ||
| 240 : | khorne | 1.7 | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> |
| 241 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 242 : | <td style="text-align: center">N/A</td> | ||
| 243 : | <td style="text-align: center">N/A</td> | ||
| 244 : | <td>When startup extensions are added the earlyStartup method is called. Nothing occurs on removal.</td> | ||
| 245 : | khorne | 1.1 | </tr> |
| 246 : | |||
| 247 : | <tr> | ||
| 248 : | <td>systemSummarySections</td> | ||
| 249 : | khorne | 1.12 | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> |
| 250 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 251 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 252 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 253 : | <td>The implementation of this is dynamic but there are no test cases to verify at this time.</td> | ||
| 254 : | khorne | 1.1 | </tr> |
| 255 : | |||
| 256 : | <tr> | ||
| 257 : | <td>themes</td> | ||
| 258 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 259 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 260 : | <td style="text-align: center"> </td> | ||
| 261 : | <td style="text-align: center"> </td> | ||
| 262 : | <td> </td> | ||
| 263 : | </tr> | ||
| 264 : | |||
| 265 : | <tr> | ||
| 266 : | <td>viewActions</td> | ||
| 267 : | <td style="text-align: center"> </td> | ||
| 268 : | <td style="text-align: center"> </td> | ||
| 269 : | <td style="text-align: center"> </td> | ||
| 270 : | <td style="text-align: center"> </td> | ||
| 271 : | <td> </td> | ||
| 272 : | </tr> | ||
| 273 : | |||
| 274 : | <tr> | ||
| 275 : | <td>views</td> | ||
| 276 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 277 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 278 : | khorne | 1.2 | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> |
| 279 : | <td style="text-align: center"><img src="../images/progress.gif" width="14" height="5"></td> | ||
| 280 : | <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> | ||
| 281 : | khorne | 1.1 | </tr> |
| 282 : | |||
| 283 : | <tr> | ||
| 284 : | <td>workingSets</td> | ||
| 285 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 286 : | <td style="text-align: center"><img src="../images/ok.gif" width="14" height="14"></td> | ||
| 287 : | <td style="text-align: center"> </td> | ||
| 288 : | <td style="text-align: center"> </td> | ||
| 289 : | <td> </td> | ||
| 290 : | </tr> | ||
| 291 : | |||
| 292 : | <tr> | ||
| 293 : | <th colspan="6">IDE</th> | ||
| 294 : | </tr> | ||
| 295 : | |||
| 296 : | <tr> | ||
| 297 : | <td>markerHelp</td> | ||
| 298 : | <td style="text-align: center"> </td> | ||
| 299 : | <td style="text-align: center"> </td> | ||
| 300 : | <td style="text-align: center"> </td> | ||
| 301 : | <td style="text-align: center"> </td> | ||
| 302 : | <td> </td> | ||
| 303 : | </tr> | ||
| 304 : | |||
| 305 : | <tr> | ||
| 306 : | <td>markerImageProviders</td> | ||
| 307 : | <td style="text-align: center"> </td> | ||
| 308 : | <td style="text-align: center"> </td> | ||
| 309 : | <td style="text-align: center"> </td> | ||
| 310 : | <td style="text-align: center"> </td> | ||
| 311 : | <td> </td> | ||
| 312 : | </tr> | ||
| 313 : | |||
| 314 : | <tr> | ||
| 315 : | <td>markerResolution</td> | ||
| 316 : | <td style="text-align: center"> </td> | ||
| 317 : | <td style="text-align: center"> </td> | ||
| 318 : | <td style="text-align: center"> </td> | ||
| 319 : | <td style="text-align: center"> </td> | ||
| 320 : | <td> </td> | ||
| 321 : | </tr> | ||
| 322 : | |||
| 323 : | <tr> | ||
| 324 : | <td>projectNatureImages</td> | ||
| 325 : | <td style="text-align: center"> </td> | ||
| 326 : | <td style="text-align: center"> </td> | ||
| 327 : | <td style="text-align: center"> </td> | ||
| 328 : | <td style="text-align: center"> </td> | ||
| 329 : | <td> </td> | ||
| 330 : | </tr> | ||
| 331 : | |||
| 332 : | <tr> | ||
| 333 : | <td>resourceFilters</td> | ||
| 334 : | <td style="text-align: center"> </td> | ||
| 335 : | <td style="text-align: center"> </td> | ||
| 336 : | <td style="text-align: center"> </td> | ||
| 337 : | <td style="text-align: center"> </td> | ||
| 338 : | <td> </td> | ||
| 339 : | </tr> | ||
| 340 : | </table> | ||
| 341 : | </p> | ||
| 342 : | |||
| 343 : | <p>Legend: | ||
| 344 : | <table> | ||
| 345 : | <tr> | ||
| 346 : | <td>Finished: <img src="../images/ok.gif" width="14" height="14"></td> | ||
| 347 : | <td>Underway: <img src="../images/progress.gif" width="14" height="5"></td> | ||
| 348 : | </tr> | ||
| 349 : | </table> | ||
| 350 : | </p> |
| help@eclipse.org | ViewVC Help |
| Powered by ViewVC 1.0.3 |
