platform-help-home/online_help2.0.html
Parent Directory
|
Revision Log
Revision 1.8 - (view) (download) (as text)
| 1 : | kkolosow | 1.7 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> |
| 2 : | <html> | ||
| 3 : | <head> | ||
| 4 : | |||
| 5 : | <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> | ||
| 6 : | <meta http-equiv="Content-Language" content="en-us"> | ||
| 7 : | <title>Eclipse online help 2.0 changes</title> | ||
| 8 : | <link rel="stylesheet" href="http://dev.eclipse.org/default_style.css" type="text/css"> | ||
| 9 : | </head> | ||
| 10 : | <body> | ||
| 11 : | |||
| 12 : | <h1> ONLINE HELP CHANGES</h1> | ||
| 13 : | <i>(First draft: Nov 13, 2001</i>)<br> | ||
| 14 : | <br> | ||
| 15 : | Early adopters of the eclipse help system version 1.0 have provided considerable | ||
| 16 : | feedback on the contribution mechanism for online help and there seems | ||
| 17 : | to be a consensus on the following as direction for further work: | ||
| 18 : | <ul> | ||
| 19 : | |||
| 20 : | <li> documentation pluggability is great, don't drop this feature</li> | ||
| 21 : | |||
| 22 : | <li> need a simpler mechanism to plug-in the documentation</li> | ||
| 23 : | |||
| 24 : | </ul> | ||
| 25 : | As such, the proposed changes are meant to simplify the help contributions | ||
| 26 : | mechanism, to allow for simple migration from R1.0 and not to introduce | ||
| 27 : | radically new concepts.<br> | ||
| 28 : | <br> | ||
| 29 : | |||
| 30 : | <h2>CONCEPTS<br> | ||
| 31 : | </h2> | ||
| 32 : | This section describes in very general terms the basics of the eclipse | ||
| 33 : | online documentation.<br> | ||
| 34 : | <br> | ||
| 35 : | Eclipse-based products are made up of a number of plugins, each plugin contributing | ||
| 36 : | some function, and/or documentation. Documentation consists of two parts: the actual | ||
| 37 : | HTML files that are stored inside a ZIP files and the corresponding table of contents | ||
| 38 : | (TOC) stored in XML format in Eclipse plugins. Documentation | ||
| 39 : | is, thus, distributed across plugins and comes together as an integrated documentation | ||
| 40 : | library at runtime. Tables of contents across all plugins are usually integrated | ||
| 41 : | by linking them to one another to form larger, more product centric view | ||
| 42 : | of the documentation. Most often a plugin defines a primary table of contents | ||
| 43 : | to which other plugins integrate their own table of contents contributions. | ||
| 44 : | <br> | ||
| 45 : | Tables of contents are really the unit of work, the building blocks of the | ||
| 46 : | documentation navigation. Tables of contents can link any other table of contents, | ||
| 47 : | and can be linked to any other table of contents that allows linking. After | ||
| 48 : | all the table of contents linking has been performed some tables of contents | ||
| 49 : | are said to be integrated and some not. Those that are not integrated are | ||
| 50 : | discarded and the library only contains the integrated tables of contents. | ||
| 51 : | <br> | ||
| 52 : | <br> | ||
| 53 : | A table of contents is considered to be integrated if:<br> | ||
| 54 : | |||
| 55 : | <ul> | ||
| 56 : | |||
| 57 : | <li>it is primary</li> | ||
| 58 : | |||
| 59 : | <li>it is linked to an integrated table of contents<br> | ||
| 60 : | </li> | ||
| 61 : | |||
| 62 : | </ul> | ||
| 63 : | A plugin indicates its desired integration of a table of contents by tagging | ||
| 64 : | it as "primary" or not:<br> | ||
| 65 : | |||
| 66 : | <ul> | ||
| 67 : | |||
| 68 : | <li>a table of contents is not tagged as primary when it is meant to be | ||
| 69 : | integrated into another table of contents</li> | ||
| 70 : | |||
| 71 : | <li>a table of contents should be tagged as primary when it is complete | ||
| 72 : | by itself and is not related to other table of contents, or when it is meant | ||
| 73 : | to be the master toc, the skeleton to which other toc's will integrate<br> | ||
| 74 : | </li> | ||
| 75 : | |||
| 76 : | </ul> | ||
| 77 : | Clearly, a primary table of contents can link to other (primary or | ||
| 78 : | not) tables of contents and can link other tables of contents to it. So, tagging | ||
| 79 : | a TOC primary or not only declares an integration intention, not the final | ||
| 80 : | outcome.<br> | ||
| 81 : | <br> | ||
| 82 : | Finally, the set of tables of contents forming the documentation library | ||
| 83 : | is the set of all primary tables of contents that are not linked to another | ||
| 84 : | integrated table of contents. In general it is the set of all the primary | ||
| 85 : | tables of contents, but sometimes, when some primary table of contents is | ||
| 86 : | linked (directly or indirectly) into another primary table of contents then | ||
| 87 : | it is no longer presented as a top level TOC.<br> | ||
| 88 : | <br> | ||
| 89 : | |||
| 90 : | <h2>CHANGES</h2> | ||
| 91 : | |||
| 92 : | <p>At a glance, here are the main changes: </p> | ||
| 93 : | |||
| 94 : | <ul> | ||
| 95 : | |||
| 96 : | <li>Removed | ||
| 97 : | <ul> | ||
| 98 : | <li>information sets (infosets)</li> | ||
| 99 : | <li>information views (infoviews)</li> | ||
| 100 : | <li>actions</li> | ||
| 101 : | <li>topic ids's</li> | ||
| 102 : | <li>properties files: doc.properties and context.properties</li> | ||
| 103 : | </ul> | ||
| 104 : | </li> | ||
| 105 : | <li>Unchanged: | ||
| 106 : | <ul> | ||
| 107 : | <li>html help content still goes into doc.zip | ||
| 108 : | or unpacked in the plugin | ||
| 109 : | dir</li> | ||
| 110 : | <li>pluggability (i.e. documentation and navigation | ||
| 111 : | can stay in the same | ||
| 112 : | plugins): plugins contribute documentation | ||
| 113 : | and corresponding navigation structure(s), | ||
| 114 : | that will be merged at runtime into an eclipse-wide | ||
| 115 : | documentation.</li> | ||
| 116 : | </ul> | ||
| 117 : | </li> | ||
| 118 : | <li>Slightly changed | ||
| 119 : | <ul> | ||
| 120 : | <li>topics.xml files are now toc.xml files</li> | ||
| 121 : | <li>the extension point for contributing help</li> | ||
| 122 : | </ul> | ||
| 123 : | </li> | ||
| 124 : | <li>New | ||
| 125 : | <ul> | ||
| 126 : | <li>document/web centric approach to building | ||
| 127 : | tables of contents using | ||
| 128 : | linking of smaller, distributed tables of | ||
| 129 : | contents</li> | ||
| 130 : | <li>href/URL based mechanism for naming any | ||
| 131 : | help resource, including | ||
| 132 : | navigation</li> | ||
| 133 : | </ul> | ||
| 134 : | </li> | ||
| 135 : | </ul> | ||
| 136 : | The above suggests that migrating from version 1.0 should be straightforward, | ||
| 137 : | as the html help content (doc.zip) does not change, the topics.xml files | ||
| 138 : | are also almost identical and the modularization of documentation across | ||
| 139 : | plugins can stay the same. There will be a separate document describing migration | ||
| 140 : | steps, tips, and examples. | ||
| 141 : | <p> <br> | ||
| 142 : | </p> | ||
| 143 : | |||
| 144 : | <h2> SCENARIOS</h2> | ||
| 145 : | It helps to look at a few scenarios to understand how help contributions | ||
| 146 : | work. | ||
| 147 : | <h4> Scenario 1: very basic</h4> | ||
| 148 : | The simplest case is when there is exactly one documentation plugin that | ||
| 149 : | consists of a doc.zip and the associated table of contents. The table of | ||
| 150 : | contents should be declared primary, as it makes sense to be standalone. | ||
| 151 : | |||
| 152 : | <p>Here are the files: </p> | ||
| 153 : | |||
| 154 : | <p>plugin.xml </p> | ||
| 155 : | |||
| 156 : | <div align="Right"> | ||
| 157 : | <div align="Right"></div> | ||
| 158 : | <table border="1" cellpadding="0" width="100%"> | ||
| 159 : | <caption><br> | ||
| 160 : | </caption> <TBODY> | ||
| 161 : | <tr> | ||
| 162 : | <td width="100%" bgcolor="#c0c0c0"> | ||
| 163 : | <div style="line-height: 100%; "><font size="-1"><plugin id="MyPlugin"></font></div> | ||
| 164 : | |||
| 165 : | <blockquote> | ||
| 166 : | <div style="line-height: 100%; "><font size="-1"><extension point="org.eclipse.help.toc"></font></div> | ||
| 167 : | |||
| 168 : | <blockquote> | ||
| 169 : | <div style="line-height: 100%; "><font size="-1"><toc file="toc.xml" | ||
| 170 : | primary="<b>true</b>" /></font></div> | ||
| 171 : | </blockquote> | ||
| 172 : | |||
| 173 : | <div style="line-height: 100%; "><font size="-1"></extension></font></div> | ||
| 174 : | </blockquote> | ||
| 175 : | |||
| 176 : | <div style="line-height: 100%; "><font size="-1"></plugin></font></div> | ||
| 177 : | </td> | ||
| 178 : | </tr> | ||
| 179 : | |||
| 180 : | </TBODY> | ||
| 181 : | </table> | ||
| 182 : | </div> | ||
| 183 : | toc.xml | ||
| 184 : | <div align="Right"> | ||
| 185 : | <div align="Right"></div> | ||
| 186 : | <table border="1" cellpadding="0" width="100%"> | ||
| 187 : | <caption><br> | ||
| 188 : | </caption> <TBODY> | ||
| 189 : | <tr> | ||
| 190 : | <td width="100%" bgcolor="#c0c0c0"> | ||
| 191 : | <div style="line-height: 100%; "><font size="-1"><toc label="My | ||
| 192 : | Plugin Documentation"></font></div> | ||
| 193 : | |||
| 194 : | <blockquote> | ||
| 195 : | <div style="line-height: 100%; "><font size="-1"><topic label="Compiling" | ||
| 196 : | href="docs/compile.html"></font></div> | ||
| 197 : | |||
| 198 : | <blockquote> | ||
| 199 : | <div style="line-height: 100%; "><font size="-1"><topic label="Java | ||
| 200 : | files" href="docs/java.html"/.></font></div> | ||
| 201 : | |||
| 202 : | <div style="line-height: 100%; "><font size="-1"><topic label="C++ | ||
| 203 : | files" href="docs/cpp.html"/></font></div> | ||
| 204 : | </blockquote> | ||
| 205 : | |||
| 206 : | <div style="line-height: 100%; "><font size="-1"></topic></font></div> | ||
| 207 : | </blockquote> | ||
| 208 : | |||
| 209 : | <div style="line-height: 100%; "><font size="-1"></toc></font></div> | ||
| 210 : | </td> | ||
| 211 : | </tr> | ||
| 212 : | |||
| 213 : | </TBODY> | ||
| 214 : | </table> | ||
| 215 : | </div> | ||
| 216 : | The doc.zip file contains docs/compile.html, docs/java.html and docs/cpp.html | ||
| 217 : | (and any images used). | ||
| 218 : | <p>The Help library consists of the following navigation structure</p> | ||
| 219 : | |||
| 220 : | <center> | ||
| 221 : | <center></center> | ||
| 222 : | <table border="1" cellpadding="0" width="100%" bgcolor="#c0c0c0"> | ||
| 223 : | <caption><br> | ||
| 224 : | </caption> <TBODY> | ||
| 225 : | <tr> | ||
| 226 : | <td width="808" height="137"><font size="-1"> | ||
| 227 : | Compiling</font> | ||
| 228 : | <p><font size="-1"> | ||
| 229 : | Java files</font> </p> | ||
| 230 : | |||
| 231 : | <p><font size="-1"> | ||
| 232 : | C++ files</font></p> | ||
| 233 : | </td> | ||
| 234 : | </tr> | ||
| 235 : | |||
| 236 : | </TBODY> | ||
| 237 : | </table> | ||
| 238 : | </center> | ||
| 239 : | |||
| 240 : | <h4> Scenario 2: basic</h4> | ||
| 241 : | There are a few documentation plugins, none being aware of the others | ||
| 242 : | existence (i.e. TOC's are standalone). In this case, each table of contents | ||
| 243 : | is tagged as a "primary" and the library consists of the collection of all | ||
| 244 : | the defined TOC's. | ||
| 245 : | <h4> Scenario 3: top-down integration</h4> | ||
| 246 : | A common scenario is to build an eclipse-based product and have the navigation | ||
| 247 : | distributed in a number of plugins, with a master plugin providing the | ||
| 248 : | navigation skeleton. The master table of contents file would then | ||
| 249 : | include the other tables of contents at certain point and is marked as primary. | ||
| 250 : | |||
| 251 : | <p>The basic markup is to add an <<b>link toc="../another_pluginID/another_toc_section.xml"></b> | ||
| 252 : | at the desired point in a table of contents. This basically links (integrates) | ||
| 253 : | the "another_toc.xml" navigation. The effect of this is that the help system | ||
| 254 : | now has just one big table of contents that is made up of smaller ones. </p> | ||
| 255 : | |||
| 256 : | <p>Here are the files: </p> | ||
| 257 : | |||
| 258 : | <p>plugin.xml in PluginA and PluginB </p> | ||
| 259 : | |||
| 260 : | <div align="Right"> | ||
| 261 : | <div align="Right"></div> | ||
| 262 : | <table border="1" cellpadding="0" width="100%"> | ||
| 263 : | <caption><br> | ||
| 264 : | </caption> <TBODY> | ||
| 265 : | <tr> | ||
| 266 : | <td bgcolor="#c0c0c0"> | ||
| 267 : | <div style="line-height: 100%; "><font size="-1"><plugin | ||
| 268 : | id="PluginA"></font></div> | ||
| 269 : | |||
| 270 : | <blockquote> | ||
| 271 : | |||
| 272 : | <div style="line-height: 100%; "><font size="-1"><extension | ||
| 273 : | point="org.eclipse.help.toc"></font></div> | ||
| 274 : | |||
| 275 : | <blockquote> | ||
| 276 : | |||
| 277 : | <div style="line-height: 100%; "><font size="-1"><toc | ||
| 278 : | file="toc.xml" type="<b>toc</b>"/></font></div> | ||
| 279 : | </blockquote> | ||
| 280 : | |||
| 281 : | <div style="line-height: 100%; "><font size="-1"></extension></font></div> | ||
| 282 : | </blockquote> | ||
| 283 : | |||
| 284 : | <div style="line-height: 100%; "><font size="-1"></plugin></font></div> | ||
| 285 : | </td> | ||
| 286 : | <td bgcolor="#c0c0c0"> | ||
| 287 : | |||
| 288 : | <div style="line-height: 100%; "><font size="-1"><plugin | ||
| 289 : | id="PluginB"></font></div> | ||
| 290 : | |||
| 291 : | <blockquote> | ||
| 292 : | |||
| 293 : | <div style="line-height: 100%; "><font size="-1"><extension | ||
| 294 : | point="org.eclipse.help.toc"></font></div> | ||
| 295 : | |||
| 296 : | <blockquote> | ||
| 297 : | |||
| 298 : | <div style="line-height: 100%; "><font size="-1"><toc | ||
| 299 : | file="toc.xml"/></font></div> | ||
| 300 : | </blockquote> | ||
| 301 : | |||
| 302 : | |||
| 303 : | <div style="line-height: 100%; "><font size="-1"></extension></font></div> | ||
| 304 : | </blockquote> | ||
| 305 : | |||
| 306 : | |||
| 307 : | <div style="line-height: 100%; "><font size="-1"></plugin></font></div> | ||
| 308 : | </td> | ||
| 309 : | </tr> | ||
| 310 : | |||
| 311 : | </TBODY> | ||
| 312 : | </table> | ||
| 313 : | </div> | ||
| 314 : | toc.xml in PluginA and PluginB | ||
| 315 : | |||
| 316 : | <div align="Right"><br> | ||
| 317 : | <div align="Right"></div> | ||
| 318 : | <table border="1" cellpadding="0" width="100%"> | ||
| 319 : | <caption><br> | ||
| 320 : | </caption> <TBODY> | ||
| 321 : | <tr> | ||
| 322 : | <td width="50%" bgcolor="#c0c0c0"> | ||
| 323 : | |||
| 324 : | <div style="line-height: 100%; "><font size="-1"><toc | ||
| 325 : | label="PluginA Documentation"></font></div> | ||
| 326 : | |||
| 327 : | |||
| 328 : | <blockquote> | ||
| 329 : | |||
| 330 : | <div style="line-height: 100%; "><font size="-1"> | ||
| 331 : | <topic label="Compiling" href="docs/compile.html"></font></div> | ||
| 332 : | |||
| 333 : | |||
| 334 : | <blockquote> | ||
| 335 : | |||
| 336 : | <div style="line-height: 100%; "><font size="-1"> | ||
| 337 : | <topic label="Java files" href="docs/java.html"/></font></div> | ||
| 338 : | |||
| 339 : | |||
| 340 : | <div style="line-height: 100%; "><b><font size="-1"> | ||
| 341 : | <link toc="../PluginB/toc.xml"/></font></b></div> | ||
| 342 : | |||
| 343 : | |||
| 344 : | <p style="line-height: 100%; "><font size="-1"> | ||
| 345 : | <topic label="C++ files" href="docs/cpp.html"/></font></p> | ||
| 346 : | </blockquote> | ||
| 347 : | |||
| 348 : | |||
| 349 : | <div style="line-height: 100%; "><font size="-1"> | ||
| 350 : | </topic></font></div> | ||
| 351 : | </blockquote> | ||
| 352 : | |||
| 353 : | |||
| 354 : | <div style="line-height: 100%; "><font size="-1"> | ||
| 355 : | </topic></font></div> | ||
| 356 : | </td> | ||
| 357 : | <td valign="Top" width="50%" bgcolor="#c0c0c0"> | ||
| 358 : | |||
| 359 : | <div style="line-height: 100%; "><font size="-1"> | ||
| 360 : | <toc label="PluginB Documentation"></font></div> | ||
| 361 : | |||
| 362 : | |||
| 363 : | <blockquote> | ||
| 364 : | |||
| 365 : | <div style="line-height: 100%; "><font size="-1"> | ||
| 366 : | <topic label="JavaScript" href="js.html"></font></div> | ||
| 367 : | |||
| 368 : | |||
| 369 : | <blockquote> | ||
| 370 : | |||
| 371 : | <div style="line-height: 100%; "><font size="-1"> | ||
| 372 : | <topic label="Netscape" href="ns.html"/></font></div> | ||
| 373 : | |||
| 374 : | |||
| 375 : | <div style="line-height: 100%; "><font size="-1"> | ||
| 376 : | <topic label="IE" href="ie.html"/></font></div> | ||
| 377 : | </blockquote> | ||
| 378 : | |||
| 379 : | |||
| 380 : | <div style="line-height: 100%; "><font size="-1"> | ||
| 381 : | </topic></font></div> | ||
| 382 : | </blockquote> | ||
| 383 : | |||
| 384 : | |||
| 385 : | <div style="line-height: 100%; "><font size="-1"> | ||
| 386 : | </topic></font></div> | ||
| 387 : | </td> | ||
| 388 : | </tr> | ||
| 389 : | |||
| 390 : | |||
| 391 : | </TBODY> | ||
| 392 : | </table> | ||
| 393 : | </div> | ||
| 394 : | The doc.zip file in PluginA contains docs/compile.html, docs/java.html | ||
| 395 : | and docs/cpp.html (and any images used). The doc.zip file in PluginB contais | ||
| 396 : | js.html, ns.html and ie.html (and any images used). | ||
| 397 : | |||
| 398 : | <p>Help should display the following table of contents<br> | ||
| 399 : | </p> | ||
| 400 : | |||
| 401 : | |||
| 402 : | <center> | ||
| 403 : | <center></center> | ||
| 404 : | <table border="1" cellpadding="0" width="100%" bgcolor="#c0c0c0"> | ||
| 405 : | <caption><br> | ||
| 406 : | </caption> <TBODY> | ||
| 407 : | <tr> | ||
| 408 : | <td width="808" height="137"><font size="-1"> | ||
| 409 : | Compiling</font> | ||
| 410 : | |||
| 411 : | <p><font size="-1"> | ||
| 412 : | Java files</font> </p> | ||
| 413 : | |||
| 414 : | |||
| 415 : | <blockquote><b><font size="-1">JavaScript</font></b> | ||
| 416 : | |||
| 417 : | |||
| 418 : | <blockquote><b><font size="-1">Netscape</font></b> | ||
| 419 : | |||
| 420 : | |||
| 421 : | <p><b><font size="-1">IE</font></b></p> | ||
| 422 : | </blockquote> | ||
| 423 : | </blockquote> | ||
| 424 : | <font size="-1"> | ||
| 425 : | C++ files</font></td> | ||
| 426 : | </tr> | ||
| 427 : | |||
| 428 : | |||
| 429 : | </TBODY> | ||
| 430 : | </table> | ||
| 431 : | </center> | ||
| 432 : | |||
| 433 : | |||
| 434 : | <h4> Scenario 4: basic bottom-up integration</h4> | ||
| 435 : | A typical scenario for a third party ISV is to provide tools (plugins) | ||
| 436 : | and attempt to integrate their documentation with that of the target product | ||
| 437 : | (like IBM's Websphere Studio). For that to happen, the ISV toc file must | ||
| 438 : | link itself to the target toc, and the target doc must expose an anchor for | ||
| 439 : | linking. | ||
| 440 : | |||
| 441 : | <p>The markup for this kind of linking is simply | ||
| 442 : | specifying the link_to attribute on the <toc> element inside the table | ||
| 443 : | of contents file: </p> | ||
| 444 : | |||
| 445 : | |||
| 446 : | <p><toc label="PluginA docs" <b>link_to="../PluginB/toc.xml#anchor_id"</b> | ||
| 447 : | > </p> | ||
| 448 : | |||
| 449 : | |||
| 450 : | <p>The net effect should be the same as if the | ||
| 451 : | target navigation file <link>-ed the ISV navigation component at the | ||
| 452 : | specified anchor. </p> | ||
| 453 : | |||
| 454 : | |||
| 455 : | <p> </p> | ||
| 456 : | |||
| 457 : | |||
| 458 : | <p>Here are the files: </p> | ||
| 459 : | |||
| 460 : | |||
| 461 : | <p>plugin.xml in PluginA and PluginB </p> | ||
| 462 : | |||
| 463 : | |||
| 464 : | <div align="Right"> | ||
| 465 : | <div align="Right"></div> | ||
| 466 : | <table border="1" cellpadding="0" width="100%"> | ||
| 467 : | <caption><br> | ||
| 468 : | </caption> <TBODY> | ||
| 469 : | <tr> | ||
| 470 : | <td bgcolor="#c0c0c0"> | ||
| 471 : | |||
| 472 : | <div style="line-height: 100%; "><font size="-1"> | ||
| 473 : | <plugin id="PluginA"></font></div> | ||
| 474 : | |||
| 475 : | |||
| 476 : | <blockquote> | ||
| 477 : | |||
| 478 : | |||
| 479 : | <div style="line-height: 100%; "><font size="-1"> | ||
| 480 : | <extension point="org.eclipse.help.toc"></font></div> | ||
| 481 : | |||
| 482 : | |||
| 483 : | <blockquote> | ||
| 484 : | |||
| 485 : | |||
| 486 : | <div style="line-height: 100%; "><font size="-1"> | ||
| 487 : | <toc file="toc.xml"/></font></div> | ||
| 488 : | </blockquote> | ||
| 489 : | |||
| 490 : | |||
| 491 : | <div style="line-height: 100%; "><font size="-1"> | ||
| 492 : | </extension></font></div> | ||
| 493 : | </blockquote> | ||
| 494 : | |||
| 495 : | |||
| 496 : | <div style="line-height: 100%; "><font size="-1"> | ||
| 497 : | </plugin></font></div> | ||
| 498 : | </td> | ||
| 499 : | <td bgcolor="#c0c0c0"> | ||
| 500 : | |||
| 501 : | <div style="line-height: 100%; "><font size="-1"> | ||
| 502 : | <plugin id="PluginB"></font></div> | ||
| 503 : | |||
| 504 : | |||
| 505 : | <blockquote> | ||
| 506 : | |||
| 507 : | |||
| 508 : | <div style="line-height: 100%; "><font size="-1"> | ||
| 509 : | <extension point="org.eclipse.help.toc"></font></div> | ||
| 510 : | |||
| 511 : | |||
| 512 : | <blockquote> | ||
| 513 : | |||
| 514 : | |||
| 515 : | <div style="line-height: 100%; "><font size="-1"> | ||
| 516 : | <toc file="toc.xml"/></font></div> | ||
| 517 : | </blockquote> | ||
| 518 : | |||
| 519 : | |||
| 520 : | <div style="line-height: 100%; "><font size="-1"> | ||
| 521 : | </extension></font></div> | ||
| 522 : | </blockquote> | ||
| 523 : | |||
| 524 : | |||
| 525 : | <div style="line-height: 100%; "><font size="-1"> | ||
| 526 : | </plugin></font></div> | ||
| 527 : | </td> | ||
| 528 : | </tr> | ||
| 529 : | |||
| 530 : | |||
| 531 : | </TBODY> | ||
| 532 : | </table> | ||
| 533 : | </div> | ||
| 534 : | toc.xml in PluginA and PluginB | ||
| 535 : | |||
| 536 : | |||
| 537 : | <div align="Right"><br> | ||
| 538 : | <div align="Right"></div> | ||
| 539 : | <table border="1" cellpadding="0" width="100%"> | ||
| 540 : | <caption><br> | ||
| 541 : | </caption> <TBODY> | ||
| 542 : | <tr> | ||
| 543 : | <td width="50%" bgcolor="#c0c0c0"> | ||
| 544 : | |||
| 545 : | |||
| 546 : | <div style="line-height: 100%; "><font size="-1"> | ||
| 547 : | <toc label=" PluginA Documentation"></font></div> | ||
| 548 : | |||
| 549 : | |||
| 550 : | <blockquote> | ||
| 551 : | |||
| 552 : | |||
| 553 : | <div style="line-height: 100%; "><font size="-1"> | ||
| 554 : | <topic label="Compiling" href="docs/compile.html"></font></div> | ||
| 555 : | |||
| 556 : | |||
| 557 : | <blockquote> | ||
| 558 : | |||
| 559 : | |||
| 560 : | <div style="line-height: 100%; "><font size="-1"> | ||
| 561 : | <topic label="Java files" href="docs/java.html"/></font></div> | ||
| 562 : | |||
| 563 : | |||
| 564 : | <div style="line-height: 100%; "><b><font size="-1"> | ||
| 565 : | <anchor id="other"/></font></b></div> | ||
| 566 : | |||
| 567 : | |||
| 568 : | |||
| 569 : | <p style="line-height: 100%; "><font size="-1"> | ||
| 570 : | <topic label="C++ files" href="docs/cpp.html"/></font></p> | ||
| 571 : | </blockquote> | ||
| 572 : | |||
| 573 : | |||
| 574 : | <div style="line-height: 100%; "><font size="-1"> | ||
| 575 : | </topic></font></div> | ||
| 576 : | </blockquote> | ||
| 577 : | |||
| 578 : | |||
| 579 : | <div style="line-height: 100%; "><font size="-1"> | ||
| 580 : | </topic></font></div> | ||
| 581 : | </td> | ||
| 582 : | <td valign="Top" width="50%" bgcolor="#c0c0c0"> | ||
| 583 : | |||
| 584 : | |||
| 585 : | <div style="line-height: 100%; "><font size="-1"> | ||
| 586 : | <toc label=" PluginB Documentation" <b>link_to="../PluginA/toc.xml#other"</b> | ||
| 587 : | ></font></div> | ||
| 588 : | |||
| 589 : | |||
| 590 : | <blockquote> | ||
| 591 : | |||
| 592 : | |||
| 593 : | <div style="line-height: 100%; "><font size="-1"> | ||
| 594 : | <topic label="JavaScript" href="js.html"></font></div> | ||
| 595 : | |||
| 596 : | |||
| 597 : | |||
| 598 : | <blockquote> | ||
| 599 : | |||
| 600 : | |||
| 601 : | <div style="line-height: 100%; "><font size="-1"> | ||
| 602 : | <topic label="Netscape" href="ns.html"/></font></div> | ||
| 603 : | |||
| 604 : | |||
| 605 : | |||
| 606 : | <div style="line-height: 100%; "><font size="-1"> | ||
| 607 : | <topic label="IE" href="ie.html"/></font></div> | ||
| 608 : | </blockquote> | ||
| 609 : | |||
| 610 : | |||
| 611 : | |||
| 612 : | <div style="line-height: 100%; "><font size="-1"> | ||
| 613 : | </topic></font></div> | ||
| 614 : | </blockquote> | ||
| 615 : | |||
| 616 : | |||
| 617 : | |||
| 618 : | <div style="line-height: 100%; "><font size="-1"> | ||
| 619 : | </topic></font></div> | ||
| 620 : | </td> | ||
| 621 : | </tr> | ||
| 622 : | |||
| 623 : | |||
| 624 : | </TBODY> | ||
| 625 : | </table> | ||
| 626 : | </div> | ||
| 627 : | The following table of contents is built: | ||
| 628 : | |||
| 629 : | |||
| 630 : | <center></center> | ||
| 631 : | <center></center> | ||
| 632 : | <table border="1" cellpadding="0" width="100%" bgcolor="#c0c0c0"> | ||
| 633 : | <caption><br> | ||
| 634 : | </caption> | ||
| 635 : | <TBODY> | ||
| 636 : | <tr> | ||
| 637 : | <td width="808" height="137"><font size="-1"> | ||
| 638 : | <font size="-1">Compiling</font></font> | ||
| 639 : | |||
| 640 : | |||
| 641 : | <p><font size="-1"> | ||
| 642 : | Java files</font></p> | ||
| 643 : | |||
| 644 : | |||
| 645 : | <blockquote><b><font size="-1"> | ||
| 646 : | JavaScript</font></b> | ||
| 647 : | |||
| 648 : | <blockquote><b><font size="-1"> | ||
| 649 : | Netscape</font></b> | ||
| 650 : | |||
| 651 : | <p><b><font size="-1"> | ||
| 652 : | IE</font></b></p> | ||
| 653 : | </blockquote> | ||
| 654 : | </blockquote> | ||
| 655 : | |||
| 656 : | |||
| 657 : | <blockquote><font size="-1"> | ||
| 658 : | C++ files</font></blockquote> | ||
| 659 : | </td> | ||
| 660 : | </tr> | ||
| 661 : | |||
| 662 : | |||
| 663 : | </TBODY> | ||
| 664 : | </table> | ||
| 665 : | |||
| 666 : | |||
| 667 : | <h2></h2> | ||
| 668 : | <br> | ||
| 669 : | |||
| 670 : | |||
| 671 : | |||
| 672 : | <h2> REFERENCE</h2> | ||
| 673 : | |||
| 674 : | |||
| 675 : | |||
| 676 : | <h3> Plugin.xml</h3> | ||
| 677 : | A plugin can contribute one or more tables of contents. Tables of contents | ||
| 678 : | files contain navigation info for the help content, i.e.a hierarchical structure | ||
| 679 : | of topic nodes that point to the actual html help documents. By default | ||
| 680 : | tables of contents are meant to be integrated to other tables of contents. | ||
| 681 : | Some are considered standalone or master tables of contents, and marked as | ||
| 682 : | primary. Each TOC contributed by a plugin must be defined in the plugin.xml | ||
| 683 : | file under the org.eclipse.help.toc extension point. A plugin can configure | ||
| 684 : | one or more toc extension points, and each toc extension point can define | ||
| 685 : | one or more tables of contents. Multiple TOCs are contributed when needed | ||
| 686 : | to support different navigation views, or to provide reusable table of contents | ||
| 687 : | components. The same TOC should not be defined multiple times. <br> | ||
| 688 : | The DTD for the org.eclipse.help.toc extension point content is as follows: | ||
| 689 : | |||
| 690 : | |||
| 691 : | |||
| 692 : | <p><font size="-1"><!ELEMENT | ||
| 693 : | extension (toc)* ></font> <br> | ||
| 694 : | <font size="-1"><!ATTLIST | ||
| 695 : | extension point CDATA "org.eclipse.help.toc" #FIXED></font> | ||
| 696 : | <br> | ||
| 697 : | <font size="-1"><!--</font> | ||
| 698 : | <br> | ||
| 699 : | <font size="-1">Each | ||
| 700 : | toc extension point can define any number of toc files.</font> <br> | ||
| 701 : | <font size="-1">--></font> | ||
| 702 : | </p> | ||
| 703 : | |||
| 704 : | |||
| 705 : | |||
| 706 : | <p> </p> | ||
| 707 : | |||
| 708 : | |||
| 709 : | |||
| 710 : | <p><font size="-1"><!ELEMENT | ||
| 711 : | toc EMPTY></font> <br> | ||
| 712 : | <font size="-1"><!ATTLIST | ||
| 713 : | toc file CDATA #REQUIRED></font><br> | ||
| 714 : | <font size="-1"><!ATTLIST | ||
| 715 : | toc primary (true | false) "false" ></font><br> | ||
| 716 : | </p> | ||
| 717 : | |||
| 718 : | |||
| 719 : | <p> | ||
| 720 : | <font size="-1"><!--</font> <br> | ||
| 721 : | <font size="-1">Each | ||
| 722 : | toc file definition specifies the toc file by its relative path (href) | ||
| 723 : | to the plugin and whether the plugin contributes it as a section or a table | ||
| 724 : | of contents or as a standalone or master table of contents.</font><br> | ||
| 725 : | <font size="-1">--></font> | ||
| 726 : | <br> | ||
| 727 : | <br> | ||
| 728 : | </p> | ||
| 729 : | |||
| 730 : | |||
| 731 : | |||
| 732 : | <p>Example: <br> | ||
| 733 : | </p> | ||
| 734 : | |||
| 735 : | |||
| 736 : | |||
| 737 : | <blockquote> | ||
| 738 : | |||
| 739 : | |||
| 740 : | |||
| 741 : | <div style="line-height: 100%; "> | ||
| 742 : | <br> | ||
| 743 : | |||
| 744 : | |||
| 745 : | |||
| 746 : | <table border="1" cellspacing="2" cellpadding="2" width="100%"> | ||
| 747 : | <caption><br> | ||
| 748 : | </caption><tbody> | ||
| 749 : | <tr> | ||
| 750 : | <td valign="Top" bgcolor="#cccccc"> | ||
| 751 : | <blockquote> | ||
| 752 : | <div style="line-height: 100%; "><font size="-1"><extension point="org.eclipse.help.toc<b>"</b>><br> | ||
| 753 : | </font></div> | ||
| 754 : | <blockquote> | ||
| 755 : | <div style="line-height: 100%; "><font size="-1"><!-- this defines a standalone table | ||
| 756 : | of contents --><br> | ||
| 757 : | <toc file="toc.xml" primary="true"/></font></div> | ||
| 758 : | </blockquote> | ||
| 759 : | <div style="line-height: 100%; "><font size="-1"></extension><br> | ||
| 760 : | <br> | ||
| 761 : | </font></div> | ||
| 762 : | <div style="line-height: 100%; "><font size="-1"><extension point="<b> org.eclipse.help.toc</b>"></font></div> | ||
| 763 : | <blockquote> | ||
| 764 : | <div style="line-height: 100%; "><font size="-1"><!-- this defines two sections --></font><b><font size="-1"><br> | ||
| 765 : | <toc file=</font></b><font size="-1">"tocWSAD.xml"/</font></div> | ||
| 766 : | <br> | ||
| 767 : | <font size="-1"><<b>toc href</b>="referencesWSAD.xml" /></font></blockquote> | ||
| 768 : | <div style="line-height: 100%; "><font size="-1"></extension></font></div> | ||
| 769 : | <div style="line-height: 100%; "></div> | ||
| 770 : | </blockquote> | ||
| 771 : | </td> | ||
| 772 : | </tr> | ||
| 773 : | </tbody> | ||
| 774 : | </table> | ||
| 775 : | </div> | ||
| 776 : | </blockquote> | ||
| 777 : | |||
| 778 : | |||
| 779 : | |||
| 780 : | <h3> Toc.xml</h3> | ||
| 781 : | The new table of contents files combine the 1.0 topics files with the | ||
| 782 : | 1.0 action files in a cleaner document/web centric structure. <br> | ||
| 783 : | In its most basic form, tables of contents are just hierarchical | ||
| 784 : | structures of topics. A topic is really a "pointer" to the actual help file. | ||
| 785 : | Stepping up in complexity, a table of contents can <b>link </b>other | ||
| 786 : | tables of contents when desired, creating larger tables of contents. Conversely, | ||
| 787 : | a table of contents can <b>link to</b> another table of contents, forming | ||
| 788 : | larger navigation tables of contents in a bottom up approach. Linking to | ||
| 789 : | another table of contents file is done by specifying an anchor in the target table of contents file.<br> | ||
| 790 : | Since topics behave like pointers to a help file, the same html help file | ||
| 791 : | can be reused in many places, by defining the appropriate topic. Reuse can | ||
| 792 : | also be done in groups of topics, with the table of contents file acting as | ||
| 793 : | a reusable component.The same table of contents file can be linked many times. | ||
| 794 : | Two branches of the navigation tree will look identical from the reused table | ||
| 795 : | of contents and down. | ||
| 796 : | |||
| 797 : | |||
| 798 : | <p>The DTD for the | ||
| 799 : | table of contents file follows: </p> | ||
| 800 : | |||
| 801 : | |||
| 802 : | |||
| 803 : | <p><font size="-1"> | ||
| 804 : | <!ELEMENT toc (topic | anchor | link)* ></font> | ||
| 805 : | <br> | ||
| 806 : | <font size="-1"> | ||
| 807 : | <!ATTLIST toc link_to CDATA #IMPLIED></font> | ||
| 808 : | <br> | ||
| 809 : | <font size="-1"> | ||
| 810 : | <!ATTLIST toc label CDATA #REQUIRED></font> | ||
| 811 : | <br> | ||
| 812 : | <font size="-1"> | ||
| 813 : | <!--</font> <br> | ||
| 814 : | <font size="-1"> | ||
| 815 : | A toc element is the root of the tree of topics defined in the table of | ||
| 816 : | contents file. It can optionally attach to another topics file by providing | ||
| 817 : | its "link_to" attribute. The value of this attribute should be an href to | ||
| 818 : | an anchor defined in this plugin or in another plugin.</font> <br> | ||
| 819 : | <font size="-1"> | ||
| 820 : | Href's to anchors in a table of contents in other plugins | ||
| 821 : | are specified as ../other_plugin_id/path_to_toc_file.xml#anchor_id</font><br> | ||
| 822 : | <font size="-1"> | ||
| 823 : | Each toc element must define a label to be used in its presentation. The | ||
| 824 : | label is only shown when the table of contents is primary and not integrated | ||
| 825 : | into another table of contents (i.e. it is part of the library of the tables | ||
| 826 : | of contents for the product). When linked, the toc element gets bypassed, | ||
| 827 : | and its topics are directly connected to topics at the link point .</font> | ||
| 828 : | <br> | ||
| 829 : | <font size="-1"> | ||
| 830 : | A TOC file consist of any number of (nested) topics, anchor | ||
| 831 : | points or links of other TOC files.</font> <br> | ||
| 832 : | <font size="-1"> | ||
| 833 : | --></font> </p> | ||
| 834 : | |||
| 835 : | |||
| 836 : | |||
| 837 : | <p><font size="-1"> | ||
| 838 : | <!ELEMENT topic (topic | anchor | link )* ></font> <br> | ||
| 839 : | <font size="-1"> | ||
| 840 : | <!ATTLIST topic label CDATA #REQUIRED></font> | ||
| 841 : | <br> | ||
| 842 : | <font size="-1"> | ||
| 843 : | <!ATTLIST topic href CDATA #IMPLIED></font> | ||
| 844 : | <br> | ||
| 845 : | <font size="-1"> | ||
| 846 : | <!--</font> <br> | ||
| 847 : | <font size="-1"> | ||
| 848 : | Each topic is a node in a table of contents tree and can contain topics, anchor points | ||
| 849 : | or can include the topics form other tables of contents.</font><br> | ||
| 850 : | <font size="-1"> | ||
| 851 : | For presentaton purposes, each topic must have a label.</font> <br> | ||
| 852 : | <font size="-1"> | ||
| 853 : | Most topics have a corresponding help content, identified by the href | ||
| 854 : | value. In general the href is a relative path to a file in the same plugin | ||
| 855 : | (in doc.zip or a regular file) or can point to content in another plugin | ||
| 856 : | using the ../another_plugin_id/path_to_content_file.html form.</font> <br> | ||
| 857 : | <font size="-1"> | ||
| 858 : | Topics with no href are there for grouping other topics, for cleaner | ||
| 859 : | tree presentation.</font> <br> | ||
| 860 : | <font size="-1"> | ||
| 861 : | --></font> </p> | ||
| 862 : | |||
| 863 : | |||
| 864 : | |||
| 865 : | <p><font size="-1"> | ||
| 866 : | <!ELEMENT anchor EMPTY></font> <br> | ||
| 867 : | <font size="-1"> | ||
| 868 : | <!ATTLIST anchor id ID #REQUIRED></font> | ||
| 869 : | <br> | ||
| 870 : | <font size="-1"> | ||
| 871 : | <!--</font> <br> | ||
| 872 : | <font size="-1"> | ||
| 873 : | An anchor is really an insertion point for other tables of contents | ||
| 874 : | to link into the structure defined in the current file. If multiple | ||
| 875 : | topics files linked to the same topic, they will be linked in the processing | ||
| 876 : | order. In other words, the order is not guaranteed. Multiple, adjacent anchors | ||
| 877 : | may be used to differentiate among topics that should be linked before or | ||
| 878 : | after the others.</font> <br> | ||
| 879 : | <font size="-1"> | ||
| 880 : | --></font></p> | ||
| 881 : | |||
| 882 : | <p><font size="-1"> | ||
| 883 : | <!ELEMENT link EMPTY></font><br> | ||
| 884 : | <font size="-1"> | ||
| 885 : | <!ATTLIST link toc CDATA #REQUIRED></font><br> | ||
| 886 : | <font size="-1"> | ||
| 887 : | <!--</font><br> | ||
| 888 : | <font size="-1"> | ||
| 889 : | A link is used to link the topics from another table of content</font> | ||
| 890 : | s.<br> | ||
| 891 : | <font size="-1"> | ||
| 892 : | --></font></p> | ||
| 893 : | |||
| 894 : | <p><br> | ||
| 895 : | </p> | ||
| 896 : | |||
| 897 : | |||
| 898 : | |||
| 899 : | <p><!--ELEMENT include EMPTY--><!--ATTLIST include href CDATA #REQUIRED--><!-- | ||
| 900 : | An include is the simplest way to extend navigation by integrating other | ||
| 901 : | topics files available at the place where the element is defined. | ||
| 902 : | The topic's structure (all topic elements) defined in the file specified by the | ||
| 903 : | href attribute is inserted into the current file. This includes all the attached or included | ||
| 904 : | topics files, recursively. | ||
| 905 : | --> | ||
| 906 : | </p> | ||
| 907 : | |||
| 908 : | |||
| 909 : | |||
| 910 : | <h3> Q&A </h3> | ||
| 911 : | |||
| 912 : | <pre> | ||
| 913 : | (Q) I am curious about the fact that infoviews have gone away. How will | ||
| 914 : | different views of the infoset work now? | ||
| 915 : | (A) We need to gather more feedback from the users to understand what is really needed | ||
| 916 : | to accomplish by using views. This document deals mostly with building TOC's, without | ||
| 917 : | making too many assumptions about their visual representation in the help view. | ||
| 918 : | We have been discussing some ways to include/exclude certain TOC's under certain | ||
| 919 : | conditions, for a role-based presentation of help, but we're still looking for input | ||
| 920 : | from the users of the technology. | ||
| 921 : | |||
| 922 : | (Q) And if infosets are gone, will there be any way of titling a doc web? | ||
| 923 : | (A) What is the meaning of a doc web? Is it all the docs provided by an eclipse-based | ||
| 924 : | product? Theoretically, all the plugins contributing | ||
| 925 : | help are part of a doc web (that of the current eclipse session). If you think that | ||
| 926 : | you may install two eclipse-based products then what kind of scenario are you looking | ||
| 927 : | at that you need to differentiate between the two "doc webs"? | ||
| 928 : | |||
| 929 : | (Q) I am also a little confused about the statement that properties files, both doc.properties and | ||
| 930 : | contexts.properties, go away. What are they replaced by? | ||
| 931 : | (A) The assumption here is that the xml files (toc.xml and context.xml) will be sent to | ||
| 932 : | translation and packaged in their own fragments just like the translated html content. | ||
| 933 : | This also allows for having different tables of contents on different languages. The | ||
| 934 : | drawback is that last minute changes in a TOC will have to be propagated to all | ||
| 935 : | the translated toc.xml files. | ||
| 936 : | </pre> | ||
| 937 : | | ||
| 938 : | |||
| 939 : | |||
| 940 : | </body> | ||
| 941 : | </html> |
| help@eclipse.org | ViewVC Help |
| Powered by ViewVC 1.0.3 |
