Java applications

Overview

iKnowBase comes with two web applications that comprise the server side components of iKnowBase:

Special requirements

Installing plugins and patches

When using the iKnowBase embedded web server, jar plugins in the ./plugin directory are automatically included in the application. However, there are a few scenarios where you will have to assemble a new .war-file containing both the original application and all plugins:

To do this, perform the following steps:

First create the required directories, “plugins” to store the plugins, and “wars” to store the custom application (the output). Add all .jar/.war plugins and patches to the plugins directory:

mkdir /opt/iknowbase/production/plugins
mkdir /opt/iknowbase/production/wars

# Copy plugins, e.g. from /opt/my-plugins
# cp /my-plugins/*.jar /opt/iknowbase/production/plugins/
# cp /my-plugins/*.war /opt/iknowbase/production/plugins/

Next, create an instance-specific web application based on the original iKnowBase web application + all plugins. Always patch from the original application, as this ensures you know which plugins you’ve added at all times:

cd /opt/iknowbase/production
./iknowbase.sh production.properties assembleWar \
               /opt/iknowbase/iknowbase-7.1.7/wars/iknowbase-webapp-7.1.7.war \
               /opt/iknowbase/production/wars/iknowbase-webapp-7.1.7-custom.war \
               /opt/iknowbase/production/plugins/*

Finally, deploy the newly created iKnowBase web application instead of the original web application. For the iKnowBase web server, this implies making two changes to the property-file, one to specify the location of the war-file, and one to stop loading plugins at runtime (since they are now part of the war-file):

webIkbWebApp.war= /opt/iknowbase/production/wars/iknowbase-webapp-7.1.7-custom.war
web.extraClasspath=./plugins/*.jar

Install/upgrade

For the iKnowBase web server, installation is quick and mostly automatic:

$ cd /opt/iknowbase/production
$ ./iknowbase.sh production.properties setIkbPassword orcladmin secretpassword
$ ./iknowbase.sh production.properties webServer

When the server has started, you should be able to navigate to a few interesting links:

For further configuration options, or if you want to install on an alternative application server, see the details for each of them:

Web application security

During or after deployment, you need to configure security for the application (NOT the same as content security). Again, the configuration method will vary from application server to application server.

See Installation Guide > Web Application Security for details and examples.

Advanced topics

Deploy with alternative context root (/ikbViewer)

In the default and recommended installation, the iKnowBase web application is deployed to “/”, so that you can access pages and components without an application-specific prefix. For compatibility reasons, the server will automatically also handle all requests to “/ikbViewer/*”, and redirect them to “/*”.

While it is technically possible to deploy to a different root (e.g. “/ikbViewer”), we do not recommend this. It brings no apparent benefit, but the user experience is negatively impacted. That said, should you choose to do so:

Note that the WebDAV service will not work when deployed to a context root other than “/”.

Clustering

The iKnowBase application itself supports clustered deployment, but the “Instant” module does not. If you intend to use this modules in an otherwise clustered environment, it must be deployed to a standalone server instance with no clustering.

In a clustered setup, load balancers must use session persistence / sticky sessions so that a single user session is always served by the same host.