Java Explorer Status

## Changes in 1.0.4

- Shift+Mouse Click in any Java Explorer Image applet will cause the applet to pop its image up in a new browser window. This enables the user to save the image.
- Java Explorer's web page generation mechanism will now automatically generate applet tags in the .html file which result in the content produced by the DXLOutput tool being displayed in an applet running in the browser. Examples of this mechanism in place are MutualFund and Thunderstorm Simulation.
- The dx.net package in Java Explorer includes the dx.net.DXLinkHandler interface which an applet can implement in order to handle output produced by a DXLOutput tool in a net.
- A new menu in the 'Execution' panel provides a selection of views - Front, Back, Left, Right, etc.

## Changes from 1.0.3 to 1.0.4

- Data-driven selector and selector list interactors were malfunctioning on the second execution following receipt of new input values for stringdata and valuelist inputs. They would continue to malfunction until the user selected a new value in the interactor. The specific symptom was that the selector or selector list tool would output a value from its most recent user input or from the stored net if the user had never entered a value.
- The mechanism by which DXServer erases old gif files malfunctioned on the pc with an httpd program causing DXServer to erase these files too soon. As a result, the browser's Java Console would contain error messages indicating that AppletClient couldn't load .gif.

## Changes from 1.0.2 to 1.0.3

- A bug in Netscape 4.05 and earlier versions prevented data-driven selector interactors from working properly. Since that bug is fixed in Netscape 4.06, the Java Explorer applets attempt to distinguish between 4.06 and other versions in handling these interactors at run time. If Java Explorer mistakenly identifies a pre-4.06 browser as a 4.06 browser, then the Java Explorer applet will crash when it handles an option-menu style data-driven selector interactor message. There will be a corresponding message in the browser's Java Console.
- The distributed execution mechanism did not work using the SGI version of DXServer due to a syntax error in the remote shell script used to spawn dx sessions. The DXServers for the other platforms experienced protocol errors due to dropped data packets.
- Java Explorer obeys the Image tool's interaction mode input parameter. You may include an interactor in your visualization to control the parameter. If the input is tab down then Java Explorer may overwrite it. Java Explorer will obey the value of the input if the value is one of "none", "rotate", "pick", "panzoom", or "zoom". If the value is "panzoom", then Java Explorer will enter its pan mode.
- Java Explorer's Image and Pick menus in the Execution panel will be included in the user interface if there are 2 or more image or pick tools respectively. Previously these menus were included if there was 1 image tool or pick tool.
- Java Explorer will honor the image tool's interactionmode input parameter value saved in a .net file. In other words if you save a visual program with the Image tool in Pick or Rotate mode, then Java Explorer will be in Pick or Rotate mode (respectively) when the browser hits the web page resulting from that net.
- A bug in DXServer in 1.0.2 and earlier versions in which the DXServer entered an infinite loop if dxexec crashed is now fixed.
- Java Explorer now uses Netscape's Document Object Model for locating image window destinations within the web page only for vrml output and not for image output.

## Changes from 1.0.0 to 1.0.2

- All .class files required by Java Explorer are now in one jar file. As a result the time taken by a browser to load Java Explorer's classes over the internet should be reasonable.
- Support for Data Explorer's sequencer is now included. If your visual program contains multiple images tools, 2 or more of which should sequence together, then set the groupName input of their associated WebOptions tools to a common string. The Java Explorer sequencer works differently from the Data Explorer sequencer in that it cycles the Data Explorer sequencer through one time, then replays images from a local cache for good performance. The Data Explorer sequencer does not replay images from an image cache. Instead it actually reexecutes the net with every step, relying on data caching in the executive for good performance. The differences which would be obvious to an end user are:
  1. When the Java Explorer sequencer has finished one cycle the green execution light goes off, unlike in Data Explorer.
  If an interactor value is changed while Java Explorer is replaying images from its cache, the change will not be reflected in the image unless the user selects Sequence in the Mode menu again.
- Camera interaction modes now operate in the coordinate space of the viewer.
- Camera interaction modes allow you to stroke in the image with the mouse.
- DXLExitDX now successfully terminates dxexec in the pc version of DXServer.
- The input types to WebOptions have changed. In the previous release, the inputs were all of type "value list or string list or object". Now the mdf information for WebOptions contains appropriate types for all the inputs. As a result you may get warning messages from dxui when loading an older net saved with a WebOptions. If you do get such a warning, then you must check the values entered in the configuration dialog for WebOptions. It's likely that one or more values were lost.
- Some interfaces used in the java code generated by dxui have changed. In order to use nets saved with the previous version of Java Explorer with this version, you must do the following:
  1. Remove or hide the old version of WebOptions (found in weboptionsmac.net).
  2. Add the new version found in installDir/java/server/dxmacros to your DXMACROS.
  3. Load and visual program then save it using 'File/Save'.
  4. Save a new java file using 'Edit/Java/Net To Applet'.
- Dxui used to write the files comprising a web page into its current working directory. Now it writes them into the same directory as the .net file.
- So that you aren't required to hand edit the makefile generated by 'Edit/Java/Save As Web Page' you may make settings for the following in $HOME/DX:
  - DX*cosmoDir: /some/where/vrml

    > A value is required for cosmoDir only if you're generating web pages which use vrml. The files pointed to by cosmoDir are supplied with the cosmo plug-in.

  - DX*dxJarFile: installDir/java/htmlpages/dx.jar
  - DX*jdkDir: /usr/jdk_base/lib/classes.zip

    > This location depends on your installation of java.

  - DX*htmlDir: installDir/java/htmlpages
  - DX*serverDir: installDir/java/server
- You may produce an Orbit and use it in a web page without using a connection to DXServer. To do this, simply follow the instructions for producing a Java Explorer web page. Then remove the applet tag pointing to myprog.class from the .html file.
- A display in orbit mode now gives the user an indication that an orbit is available by changing the cursor. However, this works only in Internet Explorer.