Skip to content
Other versions

Loading…

Development tips

For faster development we recommend not deploying OpenKM_.war_ directly; instead, create in $TOMCAT_HOME/webapps a folder alias of target/openkm:

To compile GWT modules individually execute the command:

Terminal window
$ mvn gwt:compile -Dgwt.module=com.openkm.frontend.Main

Go to “Run configurations”, choose “Maven build” and click the “right mouse button” to “add” a new Maven build.

GWT, by default, compiles six permutations, each for different browsers. Each permutation consumes a lot of hardware resources (RAM and CPUs).

Edit the main.gwt.xml file in the OpenKM project:

<!-- Compile for Firefox only -->
<set-property name="user.agent" value="gecko1_8"/>

Edit the main.gwt.xml file in the OpenKM project:

<!-- Compile for Firefox only -->
<set-property name="user.agent" value="safari"/>

Edit the main.gwt.xml file in the OpenKM project:

<!-- Compile for Firefox only -->
<set-property name="user.agent" value="ie8"/>

Configure the number of CPUs to be used for compiling the GWT frontend

Section titled “Configure the number of CPUs to be used for compiling the GWT frontend”

The GWT compilation process can use more than one CPU. You can set the number of CPUs to be used with “localWorkers” parameter.

Edit the pom.xml project file.

<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<version>${gwt.version}</version>
<executions>
<execution>
<goals>
<goal>compile</goal>
<!-- <goal>generateAsync</goal> -->
<!-- <goal>test</goal> -->
</goals>
</execution>
</executions>
<configuration>
<runTarget>com.openkm.frontend.Main/index.html</runTarget>
<modules>
<module>com.openkm.frontend.Main</module>
</modules>
<localWorkers>4</localWorkers>
</configuration>
</plugin>

You can use a deployment script:

#!/bin/bash
# @author: Kenneth Walter
#Cleans and re-compiles the source files
mvn -Dmaven.test.skip=true clean gwt:compile install $*
#Set the TARGET_DIRECTORY to the path of your tomcat installation
TARGET_DIRECTORY=~/Downloads/tomcat-8.5.69/
FILE_TO_MOVE=target/openkm.war
#This will only attempt to replace the existing WAR if the new WAR exists
if [ -f $FILE_TO_MOVE ]
then
echo 'Deploying WAR to Tomcat Directory'
cp -v $FILE_TO_MOVE $TARGET_DIRECTORY/webapps/.
echo 'Done'
fi