Configuring CWASA for HTML5 web pages
JASigning Development
The JASigning (Java Avatar Signing) software was a reimplementation of earlier work using Java to create freestanding applications and web applets that can be scripted through JavaScript on web pages. SiGML data is converted to motion data for animation using the Animgen software, written in C++. Animation data is rendered using an OpenGL renderer written in Java using the JOGL bindings.
With the advent of HTML5 and WebGL it has become practical to create software for use in web pages that is not dependent on Java. This development has become essential as Java is now deprecated in browsers and unsupported on major browsers such as Chrome and Opera.
Development is taking place in a number of stages:
- Introduction of a WebGL renderer in place of OpenGL via Java. SiGML processing continues via a simplified Java applet.
- SiGML processing delegated to an Animgen server located at UEA using a CGI script.
- Preprocessing of the HamNoSys variant of SiGML to the Gestural variant implemented in JavaScript.
- Fully client-side operation using a JavaScript implementation of Animgen.
All but the final stage has been completed.
JASigning Installation
An installation of JASigning contains a number of index web pages, web pages with embedded signing avatars, and several directories containing resources. Here we describe only elements required for HTML5 software. More can be seen in a JASigning Local Installation.
- avatars contains JARs with avatar definition data.
- sigml contains example SiGML files.
- cwa contains scripts used by HTML5 pages and further example web pages.
The use of CORS allows an installation to be used from other servers and even, in some circumstances, from files on a local file system. See JASigning Local Installation.
CWASA (CoffeeScript Web Applet Signing Avatar)
The CWASA software is largely written in CoffeeScript which generates JavaScript that is combined into a single script file in the cwa directory. CWASA is configured using settings in JSON objects. Four sources of settings are consulted, with earlier settings overriding later ones:
- Initial settings provided as an optional argument when the CWASA software is initialised. This allows web pages to be self contained.
- Client settings held in an optional file clientcfg.json at the same level as the webpage.
- Installation settings held in a file cwacfg.json in the cwa folder in the installation.
- Installation-depended default settings applied by the initialisation script.
Parameters are in two classes:
- Installation settings providing locations for installation directories.
- Settings for configuring a GUI for one or more avatar panels.