Change in generated files for SE API docs, caused by change to not generate frames

Jonathan Gibbons jonathan.gibbons at oracle.com
Mon Jun 4 21:11:12 UTC 2018


JDK-8196202 [1] introduced a change to the javadoc tool (and because of 
that, to the Java SE API documentation) such that frames are not 
generated by default.

This has had a deliberate but somewhat unexpected consequence on the 
Java SE API docs, of getting "404: Not found" on URLs that explicitly 
referenced the .../api/overview-summary.html page.

Here is what happened:

The issue is that previously there were two pages:

  * index.html (contained the frame definitions)
  * overview-summary.html (contained the content for the main top-level
    user-visible page)

Now that we are not generating frames by default, we only need one 
page.  The tool is generating the content for the main top-level 
user-visible page in index.html, and there is no need for 
overview-summary.html page, which is therefore not generated.

This behavior has been the behavior since the javadoc option --no-frames 
was added a year ago. In other words, the recent change [2]  was just to 
flip the default, not to substantially change the behavior of the 
--frames and --no-frames options.

@@ -197,13 +197,13 @@
       */
      public boolean createoverview = false;
  
      /**
       * Specifies whether or not frames should be generated.
-     * Defaults to true; can be set by --frames; can be set to false by --no-frames; last one wins.
+     * Defaults to false; can be set to true by --frames; can be set to false by --no-frames; last one wins.
       */
-    public boolean frames = true;
+    public boolean frames = false;
  
      /**
       * This is the HTML version of the generated pages.
       * The default value is determined later.
       */


So, what are our options.

0.  Do nothing.  People, and search engines, will learn to use a URL 
ending in "api/" or "api/index.html"

1. Back out the change.  This is undesirable, because the plan is to 
eventually eliminate all support for frames, and this change was one 
step in that sequence.

2. Without backing out the change to the tool, we could reverse the 
effect of the change in the Java SE API documentation, by specifying the 
use of the --frames options to generate the Java SE API docs. But like 
#1, this is undesirable because of the plan to remove support for frames.

3. Generate overview-summary.html instead of index.html.   This will 
break folk that think that api/index.html is the top level file.

4. Generate overview-summary.html instead of index.html, and generate 
index.html with a redirect to overview-summary.html

5. Leave the current behavior, but add back overview-summary.html as a 
redirect to index.html.


Long term, of the two names, index.html is a better default for the top 
level page than overview-summary.html. This suggests that the top two 
choices are option #0 and option #5, with #5 providing some minor 
short-term relief for folk who expect to see overview-summary.html.


-- Jon



[1] https://bugs.openjdk.java.net/browse/JDK-8196202
[2] http://cr.openjdk.java.net/~jjg/8196202/webrev.00/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/javadoc-dev/attachments/20180604/36fdd482/attachment.html>


More information about the javadoc-dev mailing list