-
Bug
-
Resolution: Fixed
-
P4
-
1.4.0
-
1.4
-
generic
-
generic
-
Verified
Name: yyT116575 Date: 10/16/2001
The "Java Plug-in Developer Guide for J2SE 1.4", found at
http://java.sun.com/j2se/1.4/docs/guide/plugin/developer_guide/ ,
needs editing.
(1) It doesn't cover Netscape 6, which has been out for some time now.
For example, Netscape 6 apparently uses the OBJECT tag to start the
JRE, not the EMBED tag as Netscape 4 did. The current document does
not mention this fact, making the information simply wrong. Also, the
navigator.userAgent string has a different format in Netscape 6, making
it more difficult to detect the exact browser version. This can be
important because, for instance, we saw problems on Netscape 6.0 and
Netscape 6.01 (which we consider to be unsupportable platforms), while
Netscale 6.1 may work well enough to be deployable. It is important for
developers to be able to distinguish these browser versions as part of
the plug-in startup code.
Please also test whatever you document. I am able to "run" my applet
under Netscape 6.1, using appropriate HTML, but so far it doesn't actually
display in the browser window (while it works just fine in older browsers).
I don't know if that's due to some JRE bug or to some critical missing
information in how the HTML was supposed to have been set up in this
environment.
[Well, I see you do have a section on Netscape 6, at the end of the paper.
It's nice to see a summary, but this is way too late to introduce this
information. It should be folded in earlier on wherever it applies; the
summary should be just a repetition collected all in one place, not a place
to counter misinformation previously presented. Also, the comments in this
summary section about APPLET, EMBED, and OBJECT tag support are too vague.
Are you intending to say that the browser supports all three tags now? The
text does not make clear whether that is your intent.]
(2) This document needs a good editorial read-through. For instance, you say
in one place that the "PARAM scriptable" tag is new with JRE 1.3. But
a little later there is a statement that this attribute is new with 1.4.
Also, the discussion of how to use OBJECT, EMBED, and APPLET tags needs to
reflect the true complexity of real-world deployments, not make brash
assumptions even for the sake of simplicity in presentation. For instance,
there is a statement that the EMBED tag pluginspage attribute should always
point to the Java Plug-in Download Page on the Java Software web site. This
is completely inappropriate for an intranet environment, as many users will
not have access to the external internet. What is the appropriate way to
configure such a deployment? At least provide a hint and a link to the
other section of the document. The same goes with the OBJECT tag CODEBASE
attribute.
Also, in the table on APPLET-EMBED atributes mapping, what sense does it
make to exclude certain attributes like ARCHIVE, CODE, and CODEBASE from
the EMBED tag support column, and them in the last column list these as
somehow present in the attribute map in the EMBED tag? A clear explanation
is in order.
Also, in the Intranet section, you have the statement that for Java Plug-in
1.3, the version number is 1,4,0,0 . Clearly, nobody has checked this paper
for accuracy.
Also, in the section on applet caching, there is a scenario presented about
the web server crashing and all files being restored. An assumption is
somehow made that this will affect the modification dates of the restored
files on the web server. Gosh, what kind of backup/restore software are
you using to believe this would be the case? The stuff I use will restore
the file timestamps as well as the file contents. If you mean "this might
happen if you use some low-quality backup/restore solution", then say so,
but don't confuse everybody by implying that this is the usual case. If
you need to, present a more convincing scenario to make the point of this
particular paragraph.
In the Netscape 6 section, the Applet Lifecycle Change page describes some
methods which are called under certain circumstances. Well, so what? To
be useful, this paragraph should contrast the NS6 behavior with whatever
was the case in earlier releases.
Also in the NS6 section, you describe something about Automatic Download
of the JRE. This certainly deserves a lot more explanation, so the reader
knows how this interacts with or overrides all the stuff stated elsewhere
in this paper about the APPLET, EMBED, and OBJECT tag constructions.
(3) In the section on Intranet deployment under IE, there is a statement that
an Internet deployment might use a .cab file rather than a .exe file. You
must realize that some sites may use a mixed Intranet/Internet environment,
and will want to know how to construct a .cab file that can be deployed on
their own web server, rather than relying on one on the Javasoft web site.
(4) The section on JavaScript to Java Communication (Scripting) talks about IE
and Netscape 6, but doesn't say anything about Netscape 4. How does the
facility described in this section compare/contrast with LiveConnect in the
earlier releases of Netscape? (Your current text implies by omission that
NS4 has no way for JavaScript to talk to Java.) The same issue arises in
the Basic Information FAQ, in which there is a question about scripting,
and your answer doesn't mention the LiveConnect alternative in NS4, and
how to dynamically select which method to use under different circumstances.
(5) At the end of the Basic Information FAQ, where you talk about the Version
information, shouldn't you be mentioning the "jpi-version" setup now used
in recent releases, rather than (or in addition to) the older "version"
specifications? Also in this section, you should clarify the difference
between multiple Java versions "existing" on the same system, versus having
the same browser session actually run different Java versions at different
times (say, on successive web pages).
(6) In the Developer Information FAQ, you have a question about the applet
lifecycle. Your answer makes mention about how the applet is stopped and
destroyed. You should enhance this answer with our experience, namely that
some browsers (e.g., IE, in our experience) sometimes don't cleanly
terminate the applet, simply aborting execution rather than waiting for
it to exit. This can be a problem if the applet tries to save state
(say, back to a server) when the user tells the applet to quit.
(7) In the Developer Information FAQ, your last question talks about the lack
of a means in Netscape to invoke an automatic download of the JRE. This
contradicts what you said in the Netscape 6 section of this paper.
(8) The fonts got screwed up in the Troubleshooting Security Issues section
at the end of this paper.
(Review ID: 133790)
======================================================================