platform-help-home/online_help2.0.html

Parent Directory Parent Directory | Revision Log 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. &nbsp;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 :     &nbsp;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>&nbsp; <br>
142 :     &nbsp; </p>
143 :    
144 :     <h2> SCENARIOS</h2>
145 :     It helps to look at a few scenarios to understand how help contributions
146 :     work.&nbsp;
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&nbsp;</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">&lt;plugin id="MyPlugin"&gt;</font></div>
164 :    
165 :     <blockquote>
166 :     <div style="line-height: 100%; "><font size="-1">&lt;extension point="org.eclipse.help.toc"&gt;</font></div>
167 :    
168 :     <blockquote>
169 :     <div style="line-height: 100%; "><font size="-1">&lt;toc file="toc.xml"&nbsp;
170 :     primary="<b>true</b>" /&gt;</font></div>
171 :     </blockquote>
172 :    
173 :     <div style="line-height: 100%; "><font size="-1">&lt;/extension&gt;</font></div>
174 :     </blockquote>
175 :    
176 :     <div style="line-height: 100%; "><font size="-1">&lt;/plugin&gt;</font></div>
177 :     </td>
178 :     </tr>
179 :    
180 :     </TBODY>
181 :     </table>
182 :     </div>
183 :     toc.xml&nbsp;
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">&lt;toc label="My
192 :     Plugin Documentation"&gt;</font></div>
193 :    
194 :     <blockquote>
195 :     <div style="line-height: 100%; "><font size="-1">&lt;topic label="Compiling"&nbsp;
196 :     href="docs/compile.html"&gt;</font></div>
197 :    
198 :     <blockquote>
199 :     <div style="line-height: 100%; "><font size="-1">&lt;topic label="Java
200 :     files" href="docs/java.html"/.&gt;</font></div>
201 :    
202 :     <div style="line-height: 100%; "><font size="-1">&lt;topic label="C++
203 :     files" href="docs/cpp.html"/&gt;</font></div>
204 :     </blockquote>
205 :    
206 :     <div style="line-height: 100%; "><font size="-1">&lt;/topic&gt;</font></div>
207 :     </blockquote>
208 :    
209 :     <div style="line-height: 100%; "><font size="-1">&lt;/toc&gt;</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">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
227 :     Compiling</font>
228 :     <p><font size="-1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
229 :     Java files</font> </p>
230 :    
231 :     <p><font size="-1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
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&nbsp;
243 :     is tagged as a "primary" and the library consists of the collection of &nbsp;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&nbsp; 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 &lt;<b>link toc="../another_pluginID/another_toc_section.xml"&gt;</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&nbsp;</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">&lt;plugin
268 :     id="PluginA"&gt;</font></div>
269 :    
270 :     <blockquote>
271 :    
272 :     <div style="line-height: 100%; "><font size="-1">&lt;extension
273 :     point="org.eclipse.help.toc"&gt;</font></div>
274 :    
275 :     <blockquote>
276 :    
277 :     <div style="line-height: 100%; "><font size="-1">&lt;toc
278 :     file="toc.xml" &nbsp;type="<b>toc</b>"/&gt;</font></div>
279 :     </blockquote>
280 :    
281 :     <div style="line-height: 100%; "><font size="-1">&lt;/extension&gt;</font></div>
282 :     </blockquote>
283 :    
284 :     <div style="line-height: 100%; "><font size="-1">&lt;/plugin&gt;</font></div>
285 :     </td>
286 :     <td bgcolor="#c0c0c0">
287 :    
288 :     <div style="line-height: 100%; "><font size="-1">&lt;plugin
289 :     id="PluginB"&gt;</font></div>
290 :    
291 :     <blockquote>
292 :    
293 :     <div style="line-height: 100%; "><font size="-1">&lt;extension
294 :     point="org.eclipse.help.toc"&gt;</font></div>
295 :    
296 :     <blockquote>
297 :    
298 :     <div style="line-height: 100%; "><font size="-1">&lt;toc
299 :     file="toc.xml"/&gt;</font></div>
300 :     </blockquote>
301 :    
302 :    
303 :     <div style="line-height: 100%; "><font size="-1">&lt;/extension&gt;</font></div>
304 :     </blockquote>
305 :    
306 :    
307 :     <div style="line-height: 100%; "><font size="-1">&lt;/plugin&gt;</font></div>
308 :     </td>
309 :     </tr>
310 :    
311 :     </TBODY>
312 :     </table>
313 :     </div>
314 :     toc.xml in PluginA and PluginB&nbsp;
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">&lt;toc
325 :     label="PluginA Documentation"&gt;</font></div>
326 :    
327 :    
328 :     <blockquote>
329 :    
330 :     <div style="line-height: 100%; "><font size="-1">
331 :     &lt;topic label="Compiling"&nbsp; href="docs/compile.html"&gt;</font></div>
332 :    
333 :    
334 :     <blockquote>
335 :    
336 :     <div style="line-height: 100%; "><font size="-1">
337 :     &lt;topic label="Java files" href="docs/java.html"/&gt;</font></div>
338 :    
339 :    
340 :     <div style="line-height: 100%; "><b><font size="-1">
341 :     &lt;link &nbsp; toc="../PluginB/toc.xml"/&gt;</font></b></div>
342 :    
343 :    
344 :     <p style="line-height: 100%; "><font size="-1">
345 :     &lt;topic label="C++ files" href="docs/cpp.html"/&gt;</font></p>
346 :     </blockquote>
347 :    
348 :    
349 :     <div style="line-height: 100%; "><font size="-1">
350 :     &lt;/topic&gt;</font></div>
351 :     </blockquote>
352 :    
353 :    
354 :     <div style="line-height: 100%; "><font size="-1">
355 :     &lt;/topic&gt;</font></div>
356 :     </td>
357 :     <td valign="Top" width="50%" bgcolor="#c0c0c0">
358 :    
359 :     <div style="line-height: 100%; "><font size="-1">
360 :     &lt;toc label="PluginB&nbsp; Documentation"&gt;</font></div>
361 :    
362 :    
363 :     <blockquote>
364 :    
365 :     <div style="line-height: 100%; "><font size="-1">
366 :     &lt;topic label="JavaScript"&nbsp; href="js.html"&gt;</font></div>
367 :    
368 :    
369 :     <blockquote>
370 :    
371 :     <div style="line-height: 100%; "><font size="-1">
372 :     &lt;topic label="Netscape" href="ns.html"/&gt;</font></div>
373 :    
374 :    
375 :     <div style="line-height: 100%; "><font size="-1">
376 :     &lt;topic label="IE" href="ie.html"/&gt;</font></div>
377 :     </blockquote>
378 :    
379 :    
380 :     <div style="line-height: 100%; "><font size="-1">
381 :     &lt;/topic&gt;</font></div>
382 :     </blockquote>
383 :    
384 :    
385 :     <div style="line-height: 100%; "><font size="-1">
386 :     &lt;/topic&gt;</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">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
409 :     Compiling</font>
410 :    
411 :     <p><font size="-1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
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">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
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 &lt;toc&gt; element inside the table
443 :     of contents file: </p>
444 :    
445 :    
446 :     <p>&lt;toc label="PluginA docs"&nbsp; <b>link_to="../PluginB/toc.xml#anchor_id"</b>
447 :     &gt; </p>
448 :    
449 :    
450 :     <p>The net effect should be the same as if the
451 :     target navigation file &lt;link&gt;-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&nbsp;</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 :     &lt;plugin id="PluginA"&gt;</font></div>
474 :    
475 :    
476 :     <blockquote>
477 :    
478 :    
479 :     <div style="line-height: 100%; "><font size="-1">
480 :     &lt;extension point="org.eclipse.help.toc"&gt;</font></div>
481 :    
482 :    
483 :     <blockquote>
484 :    
485 :    
486 :     <div style="line-height: 100%; "><font size="-1">
487 :     &lt;toc file="toc.xml"/&gt;</font></div>
488 :     </blockquote>
489 :    
490 :    
491 :     <div style="line-height: 100%; "><font size="-1">
492 :     &lt;/extension&gt;</font></div>
493 :     </blockquote>
494 :    
495 :    
496 :     <div style="line-height: 100%; "><font size="-1">
497 :     &lt;/plugin&gt;</font></div>
498 :     </td>
499 :     <td bgcolor="#c0c0c0">
500 :    
501 :     <div style="line-height: 100%; "><font size="-1">
502 :     &lt;plugin id="PluginB"&gt;</font></div>
503 :    
504 :    
505 :     <blockquote>
506 :    
507 :    
508 :     <div style="line-height: 100%; "><font size="-1">
509 :     &lt;extension point="org.eclipse.help.toc"&gt;</font></div>
510 :    
511 :    
512 :     <blockquote>
513 :    
514 :    
515 :     <div style="line-height: 100%; "><font size="-1">
516 :     &lt;toc file="toc.xml"/&gt;</font></div>
517 :     </blockquote>
518 :    
519 :    
520 :     <div style="line-height: 100%; "><font size="-1">
521 :     &lt;/extension&gt;</font></div>
522 :     </blockquote>
523 :    
524 :    
525 :     <div style="line-height: 100%; "><font size="-1">
526 :     &lt;/plugin&gt;</font></div>
527 :     </td>
528 :     </tr>
529 :    
530 :    
531 :     </TBODY>
532 :     </table>
533 :     </div>
534 :     toc.xml in PluginA and PluginB&nbsp;
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 :     &lt;toc label=" PluginA Documentation"&gt;</font></div>
548 :    
549 :    
550 :     <blockquote>
551 :    
552 :    
553 :     <div style="line-height: 100%; "><font size="-1">
554 :     &lt;topic label="Compiling"&nbsp; href="docs/compile.html"&gt;</font></div>
555 :    
556 :    
557 :     <blockquote>
558 :    
559 :    
560 :     <div style="line-height: 100%; "><font size="-1">
561 :     &lt;topic label="Java files" href="docs/java.html"/&gt;</font></div>
562 :    
563 :    
564 :     <div style="line-height: 100%; "><b><font size="-1">
565 :     &lt;anchor id="other"/&gt;</font></b></div>
566 :    
567 :    
568 :    
569 :     <p style="line-height: 100%; "><font size="-1">
570 :     &lt;topic label="C++ files" href="docs/cpp.html"/&gt;</font></p>
571 :     </blockquote>
572 :    
573 :    
574 :     <div style="line-height: 100%; "><font size="-1">
575 :     &lt;/topic&gt;</font></div>
576 :     </blockquote>
577 :    
578 :    
579 :     <div style="line-height: 100%; "><font size="-1">
580 :     &lt;/topic&gt;</font></div>
581 :     </td>
582 :     <td valign="Top" width="50%" bgcolor="#c0c0c0">
583 :    
584 :    
585 :     <div style="line-height: 100%; "><font size="-1">
586 :     &lt;toc label=" PluginB&nbsp; Documentation" <b>link_to="../PluginA/toc.xml#other"</b>
587 :     &gt;</font></div>
588 :    
589 :    
590 :     <blockquote>
591 :    
592 :    
593 :     <div style="line-height: 100%; "><font size="-1">
594 :     &lt;topic label="JavaScript"&nbsp; href="js.html"&gt;</font></div>
595 :    
596 :    
597 :    
598 :     <blockquote>
599 :    
600 :    
601 :     <div style="line-height: 100%; "><font size="-1">
602 :     &lt;topic label="Netscape" href="ns.html"/&gt;</font></div>
603 :    
604 :    
605 :    
606 :     <div style="line-height: 100%; "><font size="-1">
607 :     &lt;topic label="IE" href="ie.html"/&gt;</font></div>
608 :     </blockquote>
609 :    
610 :    
611 :    
612 :     <div style="line-height: 100%; "><font size="-1">
613 :     &lt;/topic&gt;</font></div>
614 :     </blockquote>
615 :    
616 :    
617 :    
618 :     <div style="line-height: 100%; "><font size="-1">
619 :     &lt;/topic&gt;</font></div>
620 :     </td>
621 :     </tr>
622 :    
623 :    
624 :     </TBODY>
625 :     </table>
626 :     </div>
627 :     The following table of contents is built:&nbsp;
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 :     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font size="-1">Compiling</font></font>
639 :    
640 :    
641 :     <p><font size="-1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
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 &nbsp;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.&nbsp; 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.&nbsp; <br>
688 :     The DTD for the org.eclipse.help.toc extension point content is as follows:
689 :    
690 :    
691 :    
692 :     <p><font size="-1">&lt;!ELEMENT
693 :     extension&nbsp; (toc)* &gt;</font> <br>
694 :     <font size="-1">&lt;!ATTLIST&nbsp;
695 :     extension point&nbsp; CDATA "org.eclipse.help.toc"&nbsp; #FIXED&gt;</font>
696 :     <br>
697 :     <font size="-1">&lt;!--</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">--&gt;</font>
702 :     </p>
703 :    
704 :    
705 :    
706 :     <p> </p>
707 :    
708 :    
709 :    
710 :     <p><font size="-1">&lt;!ELEMENT&nbsp;&nbsp;
711 :     toc EMPTY&gt;</font> <br>
712 :     <font size="-1">&lt;!ATTLIST&nbsp;&nbsp;&nbsp;
713 :     toc file CDATA&nbsp;&nbsp; #REQUIRED&gt;</font><br>
714 :     <font size="-1">&lt;!ATTLIST&nbsp;&nbsp;&nbsp;
715 :     toc primary (true | false) "false" &gt;</font><br>
716 :     </p>
717 :    
718 :    
719 :     <p>
720 :     <font size="-1">&lt;!--</font> <br>
721 :     <font size="-1">Each
722 :     toc file definition specifies the toc file by its relative path (href)&nbsp;
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">--&gt;</font>
726 :     <br>
727 :     &nbsp; <br>
728 :     &nbsp;</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 :     &nbsp; <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">&lt;extension point="org.eclipse.help.toc<b>"</b>&gt;<br>
753 :     </font></div>
754 :     <blockquote>
755 :     <div style="line-height: 100%; "><font size="-1">&lt;!-- this defines a standalone table
756 :     of contents --&gt;<br>
757 :     &lt;toc file="toc.xml" &nbsp;primary="true"/&gt;</font></div>
758 :     </blockquote>
759 :     <div style="line-height: 100%; "><font size="-1">&lt;/extension&gt;<br>
760 :     <br>
761 :     </font></div>
762 :     <div style="line-height: 100%; "><font size="-1">&lt;extension point="<b> org.eclipse.help.toc</b>"&gt;</font></div>
763 :     <blockquote>
764 :     <div style="line-height: 100%; "><font size="-1">&lt;!-- this defines two sections --&gt;</font><b><font size="-1"><br>
765 :     &lt;toc file=</font></b><font size="-1">"tocWSAD.xml"/</font></div>
766 :     <br>
767 :     <font size="-1">&lt;<b>toc&nbsp; href</b>="referencesWSAD.xml" /&gt;</font></blockquote>
768 :     <div style="line-height: 100%; "><font size="-1">&lt;/extension&gt;</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&nbsp; are just hierarchical
784 :     structures of topics. A topic is really a "pointer" to the actual help file.
785 :     Stepping up in complexity, &nbsp;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&nbsp; 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 :     &lt;!ELEMENT&nbsp; toc&nbsp; (topic | anchor |&nbsp; link)* &gt;</font>
805 :     <br>
806 :     <font size="-1">
807 :     &lt;!ATTLIST&nbsp; toc&nbsp; link_to&nbsp; CDATA&nbsp; #IMPLIED&gt;</font>
808 :     <br>
809 :     <font size="-1">
810 :     &lt;!ATTLIST&nbsp; toc&nbsp; label&nbsp;&nbsp;&nbsp; CDATA&nbsp; #REQUIRED&gt;</font>
811 :     <br>
812 :     <font size="-1">
813 :     &lt;!--</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 :     &nbsp;Href's to anchors in&nbsp; a table of contents&nbsp; in other plugins
821 :     are specified as&nbsp; ../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 &nbsp;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&nbsp; file consist of any number of&nbsp; (nested) topics, anchor
831 :     points or links of other TOC files.</font> <br>
832 :     <font size="-1">
833 :     --&gt;</font> </p>
834 :    
835 :    
836 :    
837 :     <p><font size="-1">
838 :     &lt;!ELEMENT topic&nbsp; (topic | anchor | link )* &gt;</font> <br>
839 :     <font size="-1">
840 :     &lt;!ATTLIST&nbsp; topic&nbsp; label&nbsp; CDATA&nbsp; #REQUIRED&gt;</font>
841 :     <br>
842 :     <font size="-1">
843 :     &lt;!ATTLIST&nbsp; topic&nbsp; href&nbsp;&nbsp;&nbsp; CDATA&nbsp; #IMPLIED&gt;</font>
844 :     <br>
845 :     <font size="-1">
846 :     &lt;!--</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 &nbsp;other topics, for cleaner
859 :     tree presentation.</font> <br>
860 :     <font size="-1">
861 :     --&gt;</font> </p>
862 :    
863 :    
864 :    
865 :     <p><font size="-1">
866 :     &lt;!ELEMENT&nbsp; anchor&nbsp; EMPTY&gt;</font> <br>
867 :     <font size="-1">
868 :     &lt;!ATTLIST&nbsp; anchor&nbsp; id&nbsp; ID &nbsp;&nbsp; #REQUIRED&gt;</font>
869 :     <br>
870 :     <font size="-1">
871 :     &lt;!--</font> <br>
872 :     <font size="-1">
873 :     An anchor&nbsp; is really an insertion point for other tables of contents
874 :     to link into the structure defined in the current file. If&nbsp; multiple
875 :     topics files &nbsp;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 :     --&gt;</font></p>
881 :    
882 :     <p><font size="-1">
883 :     &lt;!ELEMENT&nbsp; link&nbsp; EMPTY&gt;</font><br>
884 :     <font size="-1">
885 :     &lt;!ATTLIST&nbsp; link&nbsp; toc CDATA&nbsp;&nbsp;&nbsp; #REQUIRED&gt;</font><br>
886 :     <font size="-1">
887 :     &lt;!--</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 :     --&gt;</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 :     &nbsp;
938 :    
939 :    
940 :     </body>
941 :     </html>