> Some RSS browsers (e.g. newsmonster) can invoke eg XSLT to transform
> the RSS to a viewable entity. We are thinking of a short XSLT
> transform to wrap the CML in the RSS file with the Jmol applet
> viewer, so that the RSS alert can contain a molecule. The problem I
> see, unless I have it badly wrong, is that the Java applet will
> produce a security exception, since clearly the RSS => HTML transform
> produces a local data domain outside of the Applet's sandbox?
I believe you are correct, the browser security manager prevents the
applet from accessing files outside of its "sandbox".
I have given some thought to this problem, and I think I have a
workaround/solution. See below.
> So is the only solution to produce a signed jar to allow it to
> display outside of this sandbox?
Yes, my understanding is that a signed applet should be able to access
local files and files stored on remote web servers. (But I haven't tried
> I would hate to have to go back to Chime
> (which in any case does not support CML, and so we would be faced with
> the CML2Mol transform using XSLT, which is non trivial).
Yuck! ... Let's not go there :-)
I hate the idea of end-users having to accept a signed applet, let alone
install a plug-in that only supports limited system configurations.
Here is my thinking:
I want to make it easy to deploy the Jmol applet on web sites.
People should be able to build web sites that access molecular models
stored in other web databases (yours, pdb, etc.)
I don't like signed applets ... I never accept them.
The applet can only talk to the web server from which it was loaded.
Therefore, we should put a small 'redirector' on the web server.
- the 'redirector' is a cgi which lives on the web server
- the applet passes a fully-qualified URL to the redirector cgi
on the web server
- the cgi uses the fully-qualified URL to fetch the remote file
- it then returns the file to the applet
My plan is to write the redirector as a perl script (and maybe a .jsp
version) and include it as part of the distribution.
I would very much like your feedback on this idea. Would it meet your
needs? Do you see any flaws?