platform-help-home/online_help2.0.html

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.5 - (view) (download) (as text)

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