[3501] in Release_7.7_team

home help back first fref pref prev next nref lref last post

more Java plugin woes

daemon@ATHENA.MIT.EDU (Alex T Prengel)
Mon Sep 16 19:12:11 2002

Message-Id: <200209162312.TAA17831@dit.mit.edu>
To: tbelton@MIT.EDU
cc: alexp@MIT.EDU, facdev@MIT.EDU, release-team@MIT.EDU
Date: Mon, 16 Sep 2002 19:12:08 -0400
From: Alex T Prengel <alexp@MIT.EDU>


Continuing with our never-ending Java plugin woes- I just got an
urgent Email from a course administrator:

>I desperately need a way to configure Netscape on Athena to use an older 
>version (1.3.1_02) of the Java Plugin, rather than the newer 1.4.

>I'm the system manager of Prof. Jesus del Alamo's Weblab project 
>(http://weblab.mit.edu/), which is being used by students for graded 
>coursework in 6.720 and 6.012 this semester (their first assignment is due 
>this Wednesday).  This summer, we deployed a new graphical version of our 
>client applet, and tested it extensively on Athena and other platforms 
>under version 1.3.1_02 of the Java Plugin.  At the time, we selected a 
>version by manually setting NPX_PLUGIN_PATH (without this, Netscape didn't 
>find the plugin at all).  Unfortunately, the script in 
>/var/athena/infoagents/arch/share/bin/netscape.adjusted has recently been 
>modified to set NPX_PLUGIN_PATH for the *current* version of the Java 
>Plugin (now 1.4) in such a way that I don't see any obvious way to 
>override it.
>
>Our applet does not work at all well with version 1.4 of the plugin (it 
>crashes and hangs).  Please let me know as soon as possible how to get 
>Netscape to use the earlier version of the plugin, so that I can pass the 
>information on to the 6.720 students.

I think there's a way to deal with this with a minimal script change- 
in the current /var/athena/infoagents/arch/share/bin/netscape.adjusted 
script, can you change the lines:

if [ "$uname" = "Linux" ] || [ "$uname" = "SunOS" ]
then
    if test ${NPX_PLUGIN_PATH-undefined} = "undefined"
    then
	NPX_PLUGIN_PATH="/afs/athena.mit.edu/software/java/current/distrib/${ATHENA_SYS}/jre/plugin/${ATHENA_SYS}/ns4"
    else
	NPX_PLUGIN_PATH="/afs/athena.mit.edu/software/java/current/distrib/${ATHENA_SYS}/jre/plugin/${ATHENA_SYS}/ns4:${NPX_PLUGIN_PATH}"
    fi
fi

to:

if [ "$uname" = "Linux" ] || [ "$uname" = "SunOS" ]
then
    if test ${NPX_PLUGIN_PATH-undefined} = "undefined"
    then
	NPX_PLUGIN_PATH="/afs/athena.mit.edu/software/java/current/distrib/${ATHENA_SYS}/jre/plugin/${ATHENA_SYS}/ns4"
    else
	NPX_PLUGIN_PATH="${NPX_PLUGIN_PATH}:/afs/athena.mit.edu/software/java/current/distrib/${ATHENA_SYS}/jre/plugin/${ATHENA_SYS}/ns4"
    fi
fi

If you look close, all that is done is to move ${NPX_PLUGIN_PATH} to the front
of the path and not the end in that case that this is defined already. This
allows users to set NPX_PLUGIN_PATH in their environment, and have Netscape
pick up that value by virtue of it being found first in the path. If they
don't set it, it picks up the default "java/current" value.

I tested it myself and it seems to work fine. Can you try it as soon
as you can and implement it ASAP (unless I'm overlooking something)?

Unfortunately this may need to be set conditionally on platform- as
far as I recall java_v1.3.0 is the only 1.3 value that works reliably on Sun,
and we didn't get a working Linux plugin until java_v1.3.1_01, I think.

We're bound to get other problems like this- csnowden was working
today on problems a faculty member started having after the switch to
the 1.4.0_01 plugin.

                                                Thanks,

                                                       Alex

home help back first fref pref prev next nref lref last post