Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4515137

Java Plug-in developer guide needs work

XMLWordPrintable

    • 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)
      ======================================================================

            lmartinsunw Louis Martin (Inactive)
            yyoungsunw Yung-ching Young (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: