JNLP Handler

From OLPC
Jump to navigation Jump to search

Overview

Under the current situation where java is not part of the core, the entire JRE (or possibly a stripped down version of it) is supposed to be included in this activity.

Tested with JRE 1.6.0_03 on build 623, and sugar-jhbuild.

Caution

Currently there is a problem (http://dev.laptop.org/ticket/6026) that prevents many of the existing web start applications from running on Sugar. If you have access to the source code, you can modify your code according to the ticket and hopefully succeed.

Also, the matchbox window manager strips off the frame and display the content on fullscreen, so you are doomed if the only way to close your window is the close icon on the title bar.


Downloading the Activity

With subversion installed, do

 svn co http://svn.concord.org/svn/projects/trunk/common/olpc/webstart-activity/jnlp_handler.activity


Installing the Bundle

System Install

Put jnlp_handler.activity under /usr/share/activities

User Install

Put jnlp_handler.activity under ~olpc/Activities Or if you have the .xo, run

 sugar-install-bundle jnlp_handler-1.xo 

in the terminal.

Be sure also to have JRE and correct activity.info.

activity.info

There are two versions of activity.info under activity/. If you're working with latest source on jhbuild, use activity.info.jhbuild, that is,

 cp activity.info.jhbuild activity.info

activity.info.623 is for somewhat older versions of sugar, tested on build 623:

 cp activity.info.623 activity.info


Java Runtime

The whole JRE should be copied under jre/, which is currently empty. The MANIFEST should correctly reflect the contents of the jre/ subdirectory.

For example, you can do

 cd jnlp_handler.activity
 rmdir jre
 sh jre-6u3-linux-i586.bin
 ln -s jre1.6_03 jre


The JRE can be downloaded from http://java.sun.com/javase/downloads.

Look for Java Runtime Environment (JRE), or specifically, the file named "re-6u3-linux-i586.bin".

Creating the Bundle Package (.xo)

Have MANIFEST contain all the files to be included. In case you include the JRE tree, it'll be hard to add the entries manually. Instead you can do for example (after removing the existing jre/ entries in MANIFEST, which is based on jre-6u3-linux-i586.bin),

 cd jnlp_handler.activity
 find jre -type f >> MANIFEST

Then

 ./setup.py dist

That will create, for example, jnlp_handler-1.xo in the current directory.