Build and install the Web Interface
Here, we document how to install and build the LinkAhead Web Interface. If you are only interested in how to use it, please continue here.
Folder Structure
The
src
folder contains all source code for the web interface.The
libs
folder contains all necessary third-party libraries as zip files.The
test
folder contains the unittests for the web interface.The
ext
folder contains extension for the web interface. The make file will copy all javascript files fromext/js/
into the public folder and links the javascript in thepublic/xsl/main.xsl
.The
misc
folder contains a simple http server which is used for running the unit tests.The
build.properties.d/
folder contains configuration files for the build.
Build Configuration
The default configuration is defined in
build.properties.d/00_default.properties
.
This file defines default variables which can be used in source files and will be replaced with the defined values during the build.
All files in that directory will be sourced during make install
and make test
.
Thus any customized configuration can also be added to that folder by just placing
files in there which override the default values from 00_default.properties
.
See build.properties.d/00_default.properties
for more information.
Setup
Run
make install
to compile/copy the web interface to a newly createdpublic
folder.Also,
make install
will copy the scripts fromsrc/server_side_scripting/
tosss_bin/
. If you want to make the server-side scripts callable for the server as server-side scripts you need to include thesss_bin/
directory into the server propertySERVER_SIDE_SCRIPTING_BIN_DIRS
.
Test
See DEPENDENCIES for the requirements to run the unit tests.
Run
make test
to compile/copy the web interface and the tests to a newly createdpublic
folder.Run
make run-test-server
to start a python http server.The test suite can be started with
firefox http://localhost:8000/
.On WSL (as of Feb 2024, WSL v2.0.14.0), port 8000 is sometimes not properly forwarded to the host resulting in an unreachable test suite. Switching to a different port can be done easily by using the
TEST_PORT
environment variable, e.g. withTEST_PORT=8111 make run-test-server
. Using the X11firefox
from within WSL always works.To run the test suite non-interactively (as in CI/CD) use
make -d run-qunit
Clean
Run
make clean
to clean up everything.
Build the documentation
Build documentation in build/
with make doc
.
Requirements
sphinx
sphinx-autoapi
jsdoc (
npm install jsdoc
)jsdoc-sphinx (
npm install jsdoc-sphinx
)sphinx-js
recommonmark