Development tips OpenKM 6.0

From OpenKM Documentation
Jump to: navigation, search

We recommend downloading Tomcat+OpenKM from SourceForge, remove OpenKM.war and develop with this JBoss server configuration. For better development we recommend not deploying OpenKM.war file it's better setting in $TOMCAT_HOME/webapps some alias to target/OpenKM folder:


Okm dev guide 041.png



Nota clasica.png To create symbolic links in windows use juntion.exe http://technet.microsoft.com/en-us/sysinternals/bb896768


In case you're making strong changes in OpenKM UI (GWT) we recommend disabling pom compile directive

<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>

Nota clasica.png Important, depending the number of cores and memory decrease the number of gwt instances compiled at same time decreasing locarlWorkers, otherside your computer may hang


Nota idea.png Is possible to compile GWT modules individually by this way:
$ mvn gwt:compile -Dgwt.module=com.openkm.frontend.Main

You might be interested in running frontend and backend GWT packaging from eclipse. Go to run configurations and add in maven build


Okm dev guide 031.jpeg


Okm dev guide 032.jpeg


To achieve a faster compile we use to development Firefox, uncommenting gecko line on file Main.gwt.xml GWT compilation only for gecko browser runs fine. Don't forget at finish to comment it and try application with IE or other browsers.

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

User contribution script modified to tomcat deploy

#!/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 JBoss 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 JBoss Directory'
   cp -v $FILE_TO_MOVE $TARGET_DIRECTORY/webapps/.
   echo 'Done'
fi

More info about this script at Cannot create or use example extensions forum thread.