Java: Difference between revisions
From Proteopedia
Jump to navigationJump to search
Eric Martz (talk | contribs) |
|||
| (27 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
''Java'' (or more specifically the ''Java virtual machine'') is software that enables programs written in the ''Java language'' to operate essentially identically on multiple computer platforms, such as Microsoft Windows, Apple Mac OS X, and linux, without special adaptation to each platform. [[Jmol]] | ''Java'' (or more specifically the ''Java virtual machine'') is software that enables programs written in the ''Java language'' to operate essentially identically on multiple computer platforms, such as Microsoft Windows, Apple Mac OS X, and linux, without special adaptation to each platform. [[Jmol]] can operate using Java or HTML5/Javascript. Jmol cannot operate in Java-mode unless Java is installed on the host computer. '''Interactive molecular visualizations in [[Proteopedia]] are computationally demanding and will perform best in Java-mode at this time'''. | ||
* See [[Installing and enabling Java]] to make sure Java is up to date, and enabled in your favorite web browser. | |||
* See [[Using Java for Rendering Structures]] for how to opt in to Java mode in Proteopedia. | |||
The original (and still most widely used) Java is developed by Sun Microsystems (a subsidiary of Oracle Corporation), and [http://en.wikipedia.org/wiki/Java_(software_platform)#Licensing since mid-2007, has been open-source software]. | |||
Occasionally bugs in current java releases affect the performance of Proteopedia or Jmol. These are generally resolved in subsequent releases. You should be able to bypass these problems now by running Jmol withing Proteopedia in HTML5/Javascript mode. | |||
Occasionally bugs in current java releases affect the performance of Proteopedia or Jmol. These are generally resolved in subsequent releases. | |||
==Enable Java on your computer== | ==Enable Java on your computer== | ||
Please see [[Installing and enabling Java]] for detailed instructions. | |||
==Detecting your Java version== | ==Detecting your Java version== | ||
| Line 24: | Line 24: | ||
In January, 2013, the [http://www.us-cert.gov/cas/techalerts/TA13-032A.html US Department of Homeland Security issued a warning recommending that Java be disabled in web browsers]. For a few days at the end of January, 2013, Apple blocked the use of java in web browsers on Mac computers worldwide. This was a major inconvenience to some, but clearly Apple felt the security risks were quite serious. Oracle, the company providing Java, subsequently fixed some of the vulnerabilities in Java (and Apple re-enabled Java on Macs), but most likely other security risks remain. | In January, 2013, the [http://www.us-cert.gov/cas/techalerts/TA13-032A.html US Department of Homeland Security issued a warning recommending that Java be disabled in web browsers]. For a few days at the end of January, 2013, Apple blocked the use of java in web browsers on Mac computers worldwide. This was a major inconvenience to some, but clearly Apple felt the security risks were quite serious. Oracle, the company providing Java, subsequently fixed some of the vulnerabilities in Java (and Apple re-enabled Java on Macs), but most likely other security risks remain. | ||
In January 2014, Proteopedia moved to using a signed Java applet certified by the Jmol developers. Jmol is developed in the open by trustworthy developers and users can now easily opt to accept to run the Java code from these developers. | |||
==How to be as safe as possible with Java== | ==How to be as safe as possible with Java== | ||
Assuming that you wish to use Proteopedia and other Jmol-based resources, such as [[FirstGlance in Jmol]], you will need java. (If you don't, simply uninstall Java.) How can you minimize your risk? | Assuming that you wish to use Proteopedia and other Jmol-based resources, such as [[FirstGlance in Jmol]], at their optimum ability you will need java. (If you don't, simply uninstall Java.) How can you minimize your risk? | ||
*Whenever an '''update''' for Java is available, install it. To confirm that you have the latest Java, visit [http://java.com/ java.com], click on the link "Do I have Java?" and then on the button "Verify Java". | *Whenever an '''update''' for Java is available, install it. To confirm that you have the latest Java, visit [http://java.com/ java.com], click on the link "Do I have Java?" and then on the button "Verify Java". | ||
| Line 34: | Line 36: | ||
*'''Disable java''' in the web browser that you use for general-purpose browsing, email, google searches, etc. Here are instructions for [http://www.java.com/en/download/help/disable_browser.xml disabling java in a particular browser]. Use a '''different browser''' for resources that require Java. | *'''Disable java''' in the web browser that you use for general-purpose browsing, email, google searches, etc. Here are instructions for [http://www.java.com/en/download/help/disable_browser.xml disabling java in a particular browser]. Use a '''different browser''' for resources that require Java. | ||
**'''Windows users''': Due to a limitation in Internet Explorer, you should '''use Internet Explorer for java'''. Use a different browser such as Firefox or Chrome for general web browsing, | **'''Windows users''': Due to a limitation in Internet Explorer, you should '''use Internet Explorer for java'''. Use a different browser such as Firefox or Chrome for general web browsing. [[Installing_and_enabling_Java#Java_Applets_Do_Not_Work_In_Chrome|Chrome no longer supports Java]], but you should disable Java in Firefox for general web browsing. | ||
These recommendations were made by Michael Horowitz in his Defensive Computing Blog in his January 2013 post [http://blogs.computerworld.com/cybercrime-and-hacking/21626/how-be-safe-possible-java How to be as safe as possible with Java]. | These recommendations were made by Michael Horowitz in his Defensive Computing Blog in his January 2013 post [http://blogs.computerworld.com/cybercrime-and-hacking/21626/how-be-safe-possible-java How to be as safe as possible with Java]. | ||
== | ==Jmol is now a signed Java applet== | ||
In the quest to make Java less of a security risk Oracle has made it so that after January 15th, 2014, Java will no longer work with unsigned Java applets. The | In the quest to make Java less of a security risk Oracle has made it so that after January 15th, 2014, Java will no longer work with unsigned Java applets. Jmol on Proteopedia now runs with a signed applet and so you should be able to run Jmol in Java mode with no problem if you have an up to date installation of Java. | ||
Recently with the changes users had to add Proteopedia to a trusted list of applets. We are leaving these oboselete directions on how to do that below in case you have issues while this transition is still new. | |||
The version of the [[Jmol]] structure viewer previously utilized by Proteopedia ran on an unsigned applet. If you are having problems because you have not updated your Java and are unable to at the present time, you may be able to add the Proteopedia site to a list of allow exceptions on your computer and get past security warnings. The following is how to do this: | |||
* Copy the below URL to your clipboard by highlighting the text and select '''copy''' from under your browsers edit menu. | * Copy the below URL to your clipboard by highlighting the text and select '''copy''' from under your browsers '''edit''' menu. | ||
<code><nowiki>http://proteopedia.org/wiki/</nowiki></code> | <code><nowiki>http://proteopedia.org/wiki/</nowiki></code> | ||
| Line 50: | Line 56: | ||
Linux/Solaris - Run the jcontrol command. | Linux/Solaris - Run the jcontrol command. | ||
* Choose the Security tab. | * Choose the '''Security tab'''. | ||
* Click the '''Edit Site List''' button near the bottom left. | * Click the '''Edit Site List''' button near the bottom left. | ||
*Click the '''Add''' button and paste in the text you copied earlier. | *Click the '''Add''' button and paste in the text you copied earlier. | ||
| Line 57: | Line 63: | ||
*Open or reload the page on Proteopedia in your browser and you should get prompts you can now allow to activate Java again.. | *Open or reload the page on Proteopedia in your browser and you should get prompts you can now allow to activate Java again.. | ||
The technical version of above with some images that may help can be found [https://blogs.oracle.com/java-platform-group/entry/upcoming_exception_site_list_in?msgid=3-9509477622 here] under '''Adding a site to the Exception Site List''''. | The technical version of above with some images that may help can be found [https://blogs.oracle.com/java-platform-group/entry/upcoming_exception_site_list_in?msgid=3-9509477622 here], under '''Adding a site to the Exception Site List'''. | ||
At present Proteopedia uses a signed applet and adding Proteopedia to the exceptions list '''should not be needed'''. | |||
==An alternative to Java has been implemented in Proteopedia== | |||
The solely Java-based [[Jmol]] has been phased out of Jmol development in favor of a version of Jmol that does not absolutely require Java, see [http://wiki.jmol.org/index.php/JSmol JSmol object in the Jmol wiki]). It has the ability to either run in Java or use HTML5/Javascript on devices or machines not running Java. | |||
Proteopedia is now using this new version of [[Jmol]]. This offers users a way to use Proteopedia without the need for Java. Another big advantage is that even tablets and mobile devices can now use Proteopedia. It is now even possible to author on your favorite tablet an entire page that includes 3D Proteopedia scenes. | |||
Java-based [[Jmol]] has significant performance advantages over running in the HTML5/Javascript and power users may wish to keep using Java-based Jmol. Registered Proteopedia users wishing to still use Java-based [[Jmol]] still have that ability. It just needs to be on your machine and enabled in your Proteopedia preferences. Non-registered users can simply append <code>?_USE=SIGNED</code> to the URL of any Proteopedia page. For more about these options, see [[Using Java for Rendering Structures|here]]. | |||
For those wishing to see how the performance differs, we have [[Testing PDB File Sizes|a benchmarking page testing various structures operating on different platforms in different modes]]. | |||
==Controlling if Proteopedia scenes are rendered with Java== | |||
See [[Using Java for Rendering Structures]] for how to opt in to Java mode. Otherwise, the default is the HMTL5/Javascript mode that has slower performance. | |||
==See Also== | ==See Also== | ||
* [[Installing and enabling Java]] | |||
* [[Using Java for Rendering Structures]] | |||
* [http://en.wikipedia.org/wiki/Java_(software_platform) Java (software platform)] at Wikipedia. | * [http://en.wikipedia.org/wiki/Java_(software_platform) Java (software platform)] at Wikipedia. | ||
* [http://www.apple.com/pr/library/2010/11/12openjdk.html Oracle and Apple Announce OpenJDK Project for Mac OS X] (November, 2010). | * [http://www.apple.com/pr/library/2010/11/12openjdk.html Oracle and Apple Announce OpenJDK Project for Mac OS X] (November, 2010). | ||