Table of Contents

Webswing GLI

Webswing is a technology that allows java programs to run in a browser.
Greenstone 3.11 and later comes with webswing enabled, so that GLI can be run in a browser, allowing remote users the ability to build and edit collections on the server without having to install Greenstone (and Remote GLI).
To get started using webswing GLI, see tutorial Using Webswing GLI

It is provided as an extension, in greenstone3/ext/webswing. You don't need to compile it up, Greenstone3 ships with a ready-to-go webswing JAR/WAR file.

The webswing framework requires a graphical environment. If you are on a standard desktop, then it will work out of the box. However, if you are on a headless Linux environment, then you will need to install:

You may also need the following:

To start Greenstone when you are using webswing, please use the new scripts:

These will make sure the right environment is set up for Tomcat.

When Tomcat is behind an Apache server

If you Tomcat is running behind an Apache webserver, there are some extra steps to get it running in this situation.

See https://httpd.apache.org/docs/2.4/mod/mod_proxy_wstunnel.html

You also need to edit the apache configuration file for your VirtualHost (assuming your tomcat is running on port 8383):

    RewriteEngine on

    RewriteCond %{HTTP:Upgrade} =websocket
    RewriteRule /(.*) ws://localhost:8383/$1 [P,L]

    RewriteCond %{HTTP:Upgrade} !=websocket
    RewriteRule /(.*) http://localhost:8383/$1 [P,L]

This file might be in eg /etc/apache2/sites-available/000-default-le-ssl.conf, or /etc/httpd/conf.d/yourcustomname.conf

Debugging

Configuration

There is a config file web/ext/webswing/etc/webswing.config.in. You can edit that. When you run an ant restart, webswing.config will be generated from this .in file.

Some useful settings in this file: