Little Island Source Code

Current Version

The current version of the Little Island Server scripts is 0.09.04.05

The current version of the Little Island Greasemonkey Client is 0.09.06.13

Server Requirements

The server code should run on any reasonably up-to-date LAMP server. The dev machine is a CentOS 5 server running Apache 2.3.3, with Perl 5.8.8, MySQL 5.0.45 and PHP 5.1.6. The primary function scripts are in Perl using the standard module set (DBI, Encode, LWP, etc). A PHP script is used to access the account handling functions such as registration and password recovery. To function correctly with Unicode input it will require the mbstring extension.

Server Installation

At present there is no automated installation system available. All installation will need to be performed manually.

The *.pl scripts should be placed in the cgi-bin or another directory with suitable permissions.

The tables.sql file contains the commands for creating the MySQL tables. The name of the database itself is up to you, 'littleisland' will suffice, but the table names are currently hard-coded. A MySQL user account needs to be added with SELECT, INSERT, UPDATE and DELETE privileges for the new database.

The config.pl script should also be modified to reflect the new MySQL database and user account details and also any other information such as paths, addresses and other settings that may be specific to your installation.

The account.php script along with the library folder (which simply contains a css file for the pages generated by the PHP script) should be placed in the site's home directory and edited to provide the correct path to the cgi-bin. This script is designed to work with with the ReCAPTCHA service though this can be disabled if not required.

Since the account.pl script is accessed via pipe from the account.php script it requires absolute paths for access to the config.pl and common.pl scripts. For this the two do '...'; instructions must be edited to indicate this path for your local system.

Since this project is still in its earliest stages many things about the installation are likely to change. If you install now you must be prepared to make alterations to the configuration file and even the MySQL table definitions.

Updating the Server

Again, there is no automation available for updates. While most of the Perl scripts can simply be replaced the config.pl script will require editing to either transfer your settings to the new script or transfer the changes in the new script to your script.

Client Requirements

The Little Island Client Greasemonkey user script requires the prior installation of the Firefox browser and the Greasemonkey extension.

Client Installation

With Firefox and Greasemonkey running the user script can be installed using this link: littleislandclient.user.js. Once clicked the Greasemonkey extention will detect the user script and provide an install dialogue.

To view the client source code right click on the link and select Save Link As....

Updating the Client

To update the Little Island Client user script simply click on a link to the script and install it again.

It may be necessary to log into your Little Island account again after updating the script.

Previous Versions

Previous versions of both the server scripts and the client are available here.

License

The Little Island server and client are released under a GNU General Public License version 3.

Additionally, the client accesses a modifies version of Paul Johnston's JavaScript implementation of the RSA Data Security, Inc. MD5 Message Digest Algorithm which is released under a BSD license. The source code for the original script is available via the project home page and a copy is made available here. Paul Johnston in no way endorses Project Little Island nor is he personally affiliated with the project in any capacity.

At some point an independent implementation of the MD5 Algorithm may be developed to leave the project 100% GPL.