Skip to content
Other versions

Loading…

Development tips

For faster development we recommend not deploying OpenKM.war directly, file and 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 on “right mouse button” to “add” new maven buil.

GWT by default compiles six permutations, each one for distinct browsers. Each permutation consumes a lot of hardware resources ( RAM and CPU’s).

Edit the main.gwt.xml OpenKM project file:

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

Edit the main.gwt.xml OpenKM project file:

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

Edit the main.gwt.xml OpenKM project file:

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

Configure number of CPU’s to be used for compiling GWT frontend

Section titled “Configure number of CPU’s to be used for compiling GWT frontend”

GWT compilation process can use more than one cpu. You can set the number of cpu 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 deploying 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-7.0.27/
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