/*
 * GNU.FREE 2002
 *
 * Copyright (c) 1999, 2000, 2001, 2002
 * The Free Software Foundation (www.fsf.org)
 *
 * GNU.FREE Co-ordinator: Jason Kitcat <jeep@free-project.org>
 *
 * GNU site: http://www.gnu.org/software/free/
 * 
 * FREE e-democracy site: http://www.free-project.org
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with this program (COPYING); if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 *
 */

JNLP-INSTALL

===================================
- Installing GNU.FREE 1.9 JNLP features
===================================

Java Network Launcher Protocol (JNLP) and Sun's Java Web Start technology which
uses the protocol provide a secure, fast and simple solution to the problem of
distributing the GNU.FREE voting client.

Why use a client at all? Because web pages aren't flexible enough to offer the level
of security we aim to achieve. So why not use Java applets? Because they also suffer 
from major limitations - and they are embedded into web pages.

JNLP is currently in very early stages of development and there are only two clients
that I'm aware of (please mail me if you know of more). The clients are basically 
helper applications for browsers (but don't need to be used through the browser).
We're using Sun's which is at: http://java.sun.com/products/javawebstart/ there is also
a GPLed client called JavaURL at http://www.amherst.edu/~tliron/javaurl/

Both are very young but Sun's is available for Solaris, Linux and Windows 9x and above while
JavaURL currently only supports the Windows family. Neither supports OS/2, MacOS Classic
or BeOS but I hope someone will implement clients for these soon. Note that the JNLP
specification is only at version 0.1 so is subject to major future changes.

Installation is simple....

1) Follow the main installation instructions to alter and compile GNU.FREE

2) Make a jar file called freeclient.jar which contains the FREE Client's code. In our
Solaris example you would do this by running the following command when in the
FREE-1.9/FreeClient/ directory:

	"/usr/java1.2/bin/jar -cf freeclient.jar *.class"

3) Sign the jar files with your certificate. You need to get a X.509 certificate - these
	can be bought from suppliers like Entrust and Verisign. Using the jarsigner tool sign
	
		freeclient.jar
		freeutil.jar
		
	The exact use of this tool depends on your platform and keystore setup but an example
	useage on Solaris would be:
	
	"jarsigner -keystore /working/mystore bundle.jar mycertificate"
	
	This would prompt you for any passwords required.
	
4) Setup your web server with the approprite MIME type:

	Files with the .jnlp file extension are set to the application/jnlp MIME type
	
5) Edit the freeclient.jnlp file to match your setup:

	The following line needs to be changed to reflect where you are storing the files.

ΚΚ	codebase="http://www.thecouch.org/free/demo"

	You might also want to change this line to point to a different webpage.

ΚΚΚ <homepage href="../index.html"/>

6) Copy the files to the web directory you specified in the .jnlp file.

	Remember to copy:
	
		freeclient.jnlp
		freeclient.jar
		freeutil.jar
		freeawt.jar
		cryptix32.jar
		icon.jpg

7) TEST TEST TEST the setup before you go live! You'll need a JNLP client and an Internet
   connection to do that.
   
8) Report any bugs, improvements and suggestions to me at jeep@free-project.org


EOF JNLP-INSTALL