README
1 README: JavaHelp 2.0_05 Release
2 -------------------------------
3 May 2007
4Contents:
5
6* Bug Fixes in this Release
7* Bug Fixes in the 2.0 Release
8* Change to API for Accessing Frames
9* File Separators on Win32 Platform
10* Target Audience
11* Changes Since the 1.1.3 Release
12* Contents of the Release
13* How to Get Started
14* Redistributable Files
15* How to Reach Us
16* Limitations and Bugs
17* Copyright
18---------------------------------------------------------------------
19BUG FIXES IN THIS RELEASE
20
21- Bug 6375606 - Regression: JavaHelp search highlighting broken in Java 1.5.0_06
22
23Bug Fixes in the V2.0_04 release
24
25- Bug 6394203 - ArrayIndexOutOfError thrown on multiple threaded machines under
26 certian controled circumstances
27
28- Bug 6208711 - Faulty checkinstall script in SUNWjhrt Solaris package
29
30Bug Fixes in the V2.0_03 release
31
32- Bug 6195811 - Index find caused the system to hang with various Asian
33 locales.
34
35Bug Fixes in the V2.0_02 release
36
37- Bug 4984867 - Confusing documemtation issue on packaging the helpset with
38 the helpset or mapfile outside the Jar file removed.
39
40- Bug 4944565 - Duplicate images on Windows. Updated the names of the images
41 for consistency on Windows platforms. Provided support for images in the
42 UIManager Table.
43
44- Added missing nonavigator.jsp to the server demo.
45
46- Added support for Polish locale.
47
48- Bug 5044936 - HelpSet.getCombinedMap was not recursive through subhelpsets.
49
50- Bug 5057152 - Null Pointer Exception was thrown when mergeing Helpsets
51 when there was no name.
52
53- Bug 5056158 - The default presentation was not used when the HelpBroker
54 was created. Added a JHelp.setHelpSetPresentation(HelpSet.Presentation)
55 method and updated the demos to use the default presentation.
56
57- Bug 5107221 - Intial startup was slow. The data for navigators was being
58 loaded in the event thread. They are now loaded in a lower priority thread
59 resulting in a faster startup time.
60
61- Bug 4949896 - Errors in Czech and Slovak Constants corrected.
62
63- Bug 4942062 - Fixed IllegalArgumentException: argument is null when
64 adding a favorite node after restarting an application thas has some
65 favorites recorded in the user's favorites file.
66
67- Bug 6175340 - JavaHelp could be displayed on multiheaded machines.
68
69
70BUG FIXES IN THE 2.0_01 RELEASE
71
72- Bug 4923782 - SortMerge was not handling a dataless master navigator
73 (a master navigator with no elements) correctly. The symptom was that
74 the navigator being merged had nothing in it after the sort merge. This
75 bug has been fixed. Now, when a sort merge is performed, a subhelpset
76 navigator can populate a master navigator with data. One effect of this
77 fix is that a subhelpset can add new master elements, and merges of
78 subsequent subhelpsets with matching elements will then have those
79 elements merged into these new master elements as though the new
80 elements were originally part of the master helpset.
81
82- Bug 4924174 - WindowPresentation.setSize not working on dialogs. The
83 symptom was that calling HelpBroker.setSize had no effect on the size
84 of the help window. Now setting the size of the presentation works in
85 all cases.
86
87- Bug 4927588 - Search on statically merged helpsets was working only for
88 the master helpset. Now search works for all helpsets statically merged
89 into a helpset.
90
91- Bug 4932737 - FavoritesAction in ApiDemo throws null pointer exception.
92 The NPE was thrown because the BasicFavoritesNavigator class stored the
93 last HelpEventModel, which in some cases didn't exist. This class has
94 been changed to use the currentID and currentURL from the HelpModel
95 instead.
96
97 There was an additional request in this bug report to add a Favorites
98 button to IdeDemo. IdeDemo doesn't require a Favorites button because
99 the user can add a Favorites item by right-clicking the mouse inside
100 the Favorites navigator.
101
102- Bug 4932740 - JavaHelp System User's Guide incorrectly states that
103 a Favorites button is automatically added to the toolbar of the help
104 viewer when you define a Favorites section in the helpset file. This
105 statement was partially correct: a Favorites button is automatically
106 added to the default help viewer. However, if you define your own
107 presentations in the helpset file, you must add a help action for the
108 favorites button to the toolbar section. See the updated JUHG section
109 "Favorites Navigator and File" for more information.
110
111- Bug 4933236 - Presentation toolbar and navigators ignored in
112 SecondaryWindows. This bug has been fixed. Secondary windows defined as
113 presentations in the helpset file now can display navigators and
114 a toolbar. As described in the "Helpset File" section of the "JavaHelp
115 User's Guide", if you want only the topic pane to display for a secondary
116 window (no navigators), you must use the displayviews="false" attribute
117 when you define the presentation because the navigators display by
118 default. To get a toolbar to display, you must define one with the
119 <toolbar> tag.
120
121- Bug 4933497 - Can't print from Favorites navigator. This bug has been
122 fixed. You can now print any selected items in the Favorites navigator.
123
124- Bug 4933965 - The Windows print dialog allows printing of up to 9999
125 blank pages on successive prints of JavaHelp topics. This bug has
126 been fixed.
127
128- Bug 4934582 - Selecting a TOC item that has an alternate presentation
129 defined in the helpset file causes JavaHelp to hang. This bug has been
130 fixed.
131
132- Bug 4934908 - Can't add a favorites from search if SearchItem URL
133 isn't in map file. The fix was to properly identify the help set name
134 and URL if a matching ID wasn't found in the helpset file.
135
136- Bug 4936341 - When adding a favorite item the deep copy of a
137 FavoritesNode causes a null value to be created for a child,
138 which in turns causes an IllegalArgumentException to be thrown. Fixed
139 in this release - it's now possible to add a an item to the Favorites
140 navigator without causing exceptions.
141
142
143BUG FIXES IN THE 2.0 RELEASE
144
145- Bugs 4148736 and 4884507 - No control over TOC and index nodes' initial
146 state - would like to be able to display these navigators with nodes
147 expanded or collapsed. Version 2.0 makes it possible to specify in the
148 TOC and index files whether or not nodes initially display in an
149 expanded or collapsed state. Additionally new collapseID() and
150 expandID() methods have been added to JHelpTOCNavigator and
151 JHelpIndexNavigator.
152
153- Bug 4182971 - <homeID> topic should be highlighted in TOC. The home topic
154 is now highlighted in the TOC or index when the help set first opens.
155
156- Bug 4228385 - InstallAnywhere fails with Solaris Group JVM (Java 2).
157 We are no longer using InstallAnywhere to install JavaHelp.
158
159- Bug 4228425 - InstallAnywhere license and info panes sometimes blank
160 (Solaris CDE). We are no longer using InstallAnywhere to install JavaHelp.
161
162- Bug 4235715 - Can't get context sensitive help ID for content of component.
163 The problem reported was a 2D editing component that was the bulk of a
164 user interface. Users wanted to have context sensitive help for the
165 elements within the 2D editing component. There was no way to get the
166 MouseEvent of the user's click from CSH.trackCSEvents.
167
168 The solution was to create a new set of methods in the CSH class and a new
169 interface named CSH.Manager. There is an explanation in the JavaHelp
170 System User's Guide (section 5.3.4 "Dynamic Map ID Assignment") of how to
171 use the CSH methods and CSH.Manager to assign help IDs dynamically.
172
173- Bug 4295269 - Content pane does not load document the first time the help
174 set is viewed. The content viewer was not being properly initialized to
175 the current ID on creation of the viewer. This bug has been fixed.
176
177- Bug 4276012 - Search highlighting off in some cases. Search highlighting
178 is now correctly synchronized with the help viewer.
179
180- Bug 4375554 - Internal style sheets throw off search highlighting. Search
181 highlighting is now correctly synchronized.
182
183- Bug 4459055 - Indexer can't index more than 500 documents on Solaris.
184 This bug was fixed by calling in.close() in Index.java when done with
185 an InputStream.
186
187- Bug 4463539 - HelpModel.setCurrentURL doesn't work when currentURL is null.
188 This method was passing a null URL. It now works correctly.
189
190- Bug 4478631 - When running in ja locale, the tooltips for 'page setup',
191 'Contents', 'Index' and 'Search' are shown in English. These tooltips now
192 display in Japanese if the locale is ja.
193
194- Bug 4484945 - TOC and Index not highlighting topic if reference (anchor)
195 is clicked in ContentViewer. The TOC and Index navigators track the topics
196 in the content pane of the help viewer. They do so by highlighting the
197 corresponding entry in the navigator when the user opens a topic that is in
198 the helpset. More precisely, they track map IDs of topics. Prior to this
199 fix, if the link went to an anchor that did not have a map ID defined for
200 it, the tracking didn't work. Now the tracking does work: It finds the map
201 ID of the main file.
202
203- Bug 4486379 - HelpViewer window's size gets reset whenever it is invoked
204 to show help. The fix was to add a setSize method to MainWindow. This
205 method determines first if the dialog or frame exists and then passes their
206 values back in getSize rather than the default sizes. If the dialog or
207 frame doesn't exist the defaults are returned.
208
209- Bug 4635290 - Errors in search engines in help sets can cause VM to
210 abruptly exit. The fix was to remove the call to System.exit. The original
211 problem was caused by the user's incorrectly specifying the search engine
212 in the helpset file. Thus, even with this fix, search won't work if the
213 search engine isn't specified correctly, but now the error doesn't cause
214 the JVM to exit.
215
216- Bug 4680140 - xml:lang tag doesn't parse locale strings correctly. The
217 problem was that the parser couldn't handle the "-" character. Now it does.
218
219- Bug 4690618 - SecondaryViewer memory leaks and out of memory errors.
220 Secondary windows were complete rewritten in version 2.0 and now do not
221 exhibit any memory leaks.
222
223- Bug 4696361 - Print dialog does not come up when using JavaHelp with JDK
224 1.4. Fixed in version 2.0.
225
226- Bug 4736708 - Search results display truncates some results in JavaHelp
227 1.1.3. This bug was fixed in version 2.0.
228
229- Bug 4747558 - JavaHelp User's Guide PDF version doesn't have images. Using
230 a different PDF generator has enabled images to be produced for the PDF
231 version of the user's guide.
232
233- Bug 4768427 - Printing from JavaHelp causes a freeze. The freeze was
234 happening with very small help topics. It has been fixed.
235
236- Bug 4788532 - BasicSearchCellRenderer throws a NullPointerException when
237 the title member is null, and the help viewer fails to load and paint.
238 The fix was to not make the call if the title is null.
239
240- Bug 4789016 - JavaHelp is not threadsafe on a multiprocessor machine. The
241 problem was caused by incorrect usage of Thread.stop() in the search engine.
242 The fix was to completely rewrite the code in the search engine.
243
244- Bug 4845876 - French translation error: JavaHelp is translating the tooltip
245 tip.pageSetup as 'Lise en page', but the translation should be
246 'Mise en page'. This translation error was fixed.
247
248- Bug 4859304 - DefaultHelpBroker.setHelpSet doesn't work as expected. The
249 reported problem was with two help sets called programmatically as follows:
250
251 a) Create a DefaultHelpBroker by calling its default constructor.
252 b) Assign the helpset using DefaultHelpBroker.setHelpSet().
253
254 In JavaHelp 1.1.3:
255 - Calling DefaultHelpBroker.setHelpSet(a), worked as expected.
256 - Calling DefaultHelpBroker.setHelpSet(b), did display b's TOC, but the
257 content pane was still using the page from helpset a.
258
259 In JavaHelp 2.0, calling DefaultHelpBroker.setHelpSet(b) had no effect
260 at all. It still displayed a's TOC.
261
262 The V2.0 bug was fixed. If you want the content pane to change when you
263 switch back and forth between helpsets, either you must set the currentID,
264 or you need to have a homeID set for the helpset to which you switch.
265 Either technique will correctly display a page from the current helpset.
266
267- Bug 4890962 - The first time context sensitive help is activated, it shows
268 the home page, rather than the page associated with the helpID.
269 Specifically, after calling CSH.DisplayHelpAfterTracking, the first time
270 the actionPerformed method was called, the help window displayed the home
271 page rather than the context-sensitive topic in the content pane. This bug
272 was fixed, and now the context-sensitive page displays as expected.
273
274- Bug 4910723 - DefaultHelpBroker.setSize(Dimension) and setLocation(Point)
275 don't work. The helpset could not be resized or moved with these two
276 methods. These methods are now working.
277
278- Bug 4910769 - After starting the application, the first time that
279 setHelpID() was called the JavaHelp browser opened but always showed the
280 default topic defined for the helpset. After the first time the call
281 worked properly. This bug was fixed, and the first call to setHelpID()
282 now displays the topic associated with the helpID.
283
284
285CHANGE TO API FOR ACCESSING FRAMES
286
287In previous versions of JavaHelp, you could access the frame
288in whichJavaHelp is displayed directly if you extended the
289DefaultHelpBroker. After extending DefaultHelpBroker, you
290were able access the protected JFrame frame field.
291
292In JavaHelp 2, the frame field is no longer accessible. In
293applications that use JavaHelp 2, you have to rewrite code
294that does this kind of frame access. Use the following methods:
295
296 WindowPresentation DefaultHelpBroker.getWindowPresentation();
297 Window WindowPresentation.getHelpWindow();
298
299You will still be able to access the frame with the following method
300calls:
301
302 WindowPresentation pres = hb.getWindowPresentation();
303 Window win = pres.getHelpWindow();
304
305FILE SEPARATORS FOR WIN32 PLATFORMS
306
307All files in the JavaHelp system are specified as URLs. The
308separator between elements (files) in a hierarchy should be "/".
309In some cases "\" works on the Win32 platforms; however when the
310files that contain these references are added to JAR files or moved
311to different platforms, these references no longer work.
312TARGET AUDIENCE
313
314JavaHelp software is intended for help authors, information
315architects, and software developers who need a framework for
316delivering online help and documentation.
317
318CHANGES SINCE THE 1.1.3 RELEASE
319
320Changes since the 1.1.3 release are described in the "Release
321Information" chapter of the JavaHelp System User's Guide. You can
322view the JavaHelp System User's Guide as a JavaHelp helpset by
323executing the UserGuide.jar file in the demos\bin folder as
324described under CONTENTS OF THE RELEASE.
325
326
327CONTENTS OF THE RELEASE
328
329The contents of the release are described in the "Release Information"
330chapter of the JavaHelp System User's Guide. You can view the JavaHelp
331System User's Guide either as a PDF file or as a JavaHelp helpset
332by executing the UserGuide.jar file in the demos\bin folder.
333
334To execute the jar file, open a command window and change your
335directory to the demos\bin folder, then enter the following command
336at the command line:
337
338 java -jar UserGuide.jar
339
340The JavaHelp System User's Guide is also included in PDF format in
341doc\jhug\jhug.pdf and can be read and printed by using the Adobe
342Acrobat Reader program available at:
343http://www.adobe.com/products/acrobat/readstep2.html
344
345
346GETTING STARTED
347
348You install JavaHelp software by extracting the zip file. While most
349installations will not require any additional installation tasks,
350some installations might require that the environment variable JAVAHELP_HOME
351be defined so that jhindexer and jhsearch will work correctly. You will
352know that you need to set JAVAHELP_HOME if, after installation, you see
353an error from jhindexer or jhsearch indicating that the environment
354variable needs to be set.
355
356REDISTRIBUTABLE FILES
357The following files are redistributable. Distribution of these files is
358governed by the Terms and Conditions of the JavaHelp Binary Code License.
359
360javahelp/lib/jh.jar - The standard library that includes everything
361 needed to use the help viewer and the standard
362 navigator types (TOC, index, full-text search).
363
364javahelp/lib/jhall.jar - Includes all the JavaHelp system classes,
365 including tools to create a search database.
366
367javahelp/lib/jhbasic.jar - A subset of jhall.jar that does not include
368 support for the full-text search engine. This
369 subset might be useful for simple help systems
370 that do not require a full-text search database
371 or for help systems whose size is important.
372
373javahelp/lib/jhsearch.jar - The default full-text search engine used in the
374 JavaHelp system.
375
376HOW TO REACH US
377
378* Mailing List
379
380 We maintain a mailing list for regular information about JavaHelp
381 updates and events. To subscribe, send mail to:
382
383 listserv@javasoft.com.
384
385 In the body of the message type
386
387 SUBSCRIBE JAVAHELP-INFO
388
389* Feedback
390
391 Comments and questions about how the JavaHelp system software
392 works are welcome. Please review the FAQ at our home page, and if
393 your question is not covered, send email by using the following
394 web page:
395
396 http://java.sun.com/docs/forms/javahelp-sendusmail.html
397
398 If you have comments on the JavaHelp specification, instead of using
399 the web page above, please send comments to:
400
401 jsr-97-comments@jcp.org
402
403 Your email message will be read. However, due to the large volume of
404 emails, we might not able to respond personally.
405
406* Discussion group (JAVAHELP-INTEREST)
407
408 Sun maintains a mailing list as a JavaHelp community resource where
409 interested parties can post and exchange information and inquiries
410 about the JavaHelp system in a public forum. Subscribers to this list
411 can receive inquiries either as they are posted or in regular digest
412 versions.
413
414 To subscribe, send mail to:
415
416 listserv@javasoft.com
417
418 In the body of the message type:
419
420 SUBSCRIBE JAVAHELP-INTEREST
421
422 To view archives, manage your subscription, or to
423 unsubscribe:
424
425 http://archives.java.sun.com/archives/javahelp-interest.html
426
427* Web Site
428
429 Other information can be obtained at our web site:
430
431 http://java.sun.com/products/javahelp
432
433 We hope to hear from you!
434
435---------------------------------------------------------------------
436
437LIMITATIONS AND BUGS
438
439Limitations and bugs are described in the "Release Information"
440chapter of the JavaHelp System User's Guide. You can view the JavaHelp
441System User's Guide as a JavaHelp helpset by executing the UserGuide.jar
442file in the demos\bin folder, as described previously under CONTENTS
443OF THE RELEASE.
444
445---------------------------------------------------------------------
446
447COPYRIGHT
448
449Copyright 2003 Sun Microsystems, Inc. All rights reserved. Use is
450subject to license terms. Sun, Sun Microsystems, the Sun Logo,
451Solaris, Java, the Java Coffee Cup Logo, JDK, Java Foundation Classes
452(J.F.C.), Java Plug-in and JavaHelp are trademarks or registered
453trademarks of Sun Microsystems, Inc. in the U.S. and other
454countries.
455
456DOCUMENTATION IS PROVIDED "AS IS" AND ALL EXPRESS OR IMPLIED
457CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED
458WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
459NON-INFRINGEMENT, ARE DISCLAIMED, EXCEPT TO THE EXTENT THAT SUCH
460DISCLAIMERS ARE HELD TO BE LEGALLY INVALID.
461
462RESTRICTED RIGHTS LEGEND: Use, duplication, or disclosure by the U.S.
463Government is subject to restrictions as set forth in subparagraph
464(c)(1)(ii) of the Rights in Technical Data and Computer Software
465Clause at DFARS 252.227-7013 (Oct. 1988) and FAR 52.227-19 (c) (June
4661987).
467
468
readme.css
1body {background-color: #FFFFFF;
2 font-size: small;
3 font-family: SansSerif, Arial, Helvetica, sans-serif}
4
5h1 {font-size: x-large;
6 font-family: SansSerif, Arial, Helvetica, sans-serif;
7 font-weight: bold;
8 color: #8080C0;
9 margin-top: 0;
10 margin-bottom: 0}
11
12h1.cover {border-top="300em";
13 margin-botttom="120";
14 font-family: Palatino; font-size: 24pt; font-style: normal; font-weight: bold}
15
16h2 {font-size: large;
17 font-family: SansSerif, Arial, Helvetica, sans-serif;
18 font-weight: bold;
19 color: #8080C0;
20 margin-top: 10;
21 margin-bottom: -5}
22
23h3 {font-size: medium;
24 font-family: SansSerif, Arial, Helvetica, sans-serif;
25 font-weight: bold;
26 color: #8080C0;
27 margin-top: 10;
28 margin-bottom: -5}
29
30h4 {font-size: small;
31 font-family: SansSerif, Arial, Helvetica, sans-serif;
32 font-weight: bold;
33 color: #8080C0;
34 margin-top: 10;
35 margin-bottom: -5}
36
37p {font-size: small;
38 font-family: SansSerif, Arial, Helvetica, sans-serif;
39 margin-top: 10;
40 margin-bottom: 0}
41
42p.code {font-family: Monospaced;
43 margin-left: 22}
44
45p.glossTitle {margin-top: 0;
46 font-weight: bold;
47 color: #8080C0;}
48
49p.indent1 {margin-left: 3}
50
51p.indent2 {margin-left: 12}
52
53p.indent3 {margin-left: 32}
54
55p.note {margin-top: -19;
56 margin-left: 22}
57
58p.table {font-size: samll;
59 font-family: SansSerif, Arial, Helvetica, sans-serif;
60 margin-top:0;
61 margin-bottom: 0}
62
63blockquote.menu {margin-left: 18;
64 margin-top: 10}
65
66center {margin-top: 10}
67
68dl {margin-left: 10;
69 margin-top: 10;
70 margin-bottom: 10}
71
72dd.hang {margin-left:15;
73 margin-bottom:10}
74
75dd.hang_last {margin-left:15;
76 margin-bottom:0}
77
78dd.next {margin-left: 31}
79
80dd p {margin-left: 20;
81 margin-top: 0;
82 margin-bottom: 0}
83
84ol {margin-top: 5;
85 margin-bottom: 0;
86 margin-left: 21}
87
88li {margin-top: 0;
89 margin-bottom: 5}
90
91li p{font-size: small;
92 font-family: SansSerif, Arial, Helvetica, sans-serif;
93 margin-top: 5;
94 margin-bottom: 0}
95
96ul {margin-top: 5;
97 margin-bottom: 0;
98 margin-left: 21;
99 list-style: circle}
100
101pre.code_table {font-size: x-small;
102 margin-left: 10; font-family: Monospaced, "Courier New", Courier, mono}
103
104[border] {border: solid thin;
105 border-color: silver}
106
107table {border: none;
108 border-color: white;
109 margin-top: 5;
110 margin-bottom: 5}
111
112td {font-size: small;
113 font-family: SansSerif, Arial, Helvetica, sans-serif;
114 padding-left: 1;
115 padding-right: 1;
116 padding-top: 1;
117 padding-bottom: 1}
118
119
120th {padding-left: 1;
121 padding-right: 1;
122 padding-top: 1;
123 padding-bottom: 1}
124
125
126small {font-size: x-small}
127
128dl.see_also {margin-left: 0;
129 margin-top: 10;
130 margin-bottom: 10}
131a.nounderline {text-decoration: none }
132pre { font-family: Monospaced, "Courier New", Courier, mono; font-size: x-small}
133code { font-family: Monospaced, "Courier New", Courier, mono; font-size: x-small}
134