Developer Guide
You need to install Maven, eclipse IDE and some plugins.
For OpenKM 4.0 and 5.0
- Maven at http://maven.apache.org/
- Eclipse galileo ( Eclipse IDE for Java EE Developers ) at http://www.eclipse.org/galileo/
- Subversion eclipse plugin at http://subclipse.tigris.org/update_1.6.x
- Maven to eclipse plugin at http://m2eclipse.sonatype.org/update
- Java JDK 1.6 at http://java.sun.com/javase/downloads/index.jsp
Configuring maven
Refer to maven installation at http://maven.apache.org/download.html#Installation
Really we'll use maven in operating system console only for some special operations like installing external libraries.
In GNU Linux Ubuntu for example you could be good adding it in .bashrc
export PATH=$PATH:/home/jllort/software/apache-maven-2.2.1/bin
Configuring java to eclipse
Go to Window / Preferences / Java / Installed JRE. You must have JDK 1.6 defined here.
Checkout OpenKM from svn
Go to File / New / Other and select Maven / Checkout Maven Projects from SCM
Select the svn type and typewrite the url https://openkm.svn.sourceforge.net/svnroot/openkm/branches/4.0/openkm to refer version 4.0.
Be patient, first time you downloading OpenKM from svn, you're downloading all libraries to your maven repository. It could need some hours depending your Internet connection.
After OpenKM it'll be donwloaded, automatically it'll be compiled
Installing external libraries to maven repository
Open an operating system console. Go to your OpenKM project path in your file system. Come into ext-libs and execute install.sh ( Windows users simply open this file with text editor and execute the command )
Execute packaging
In Eclipe select openkm root folder. Open contextual menu and select Run As / Maven Package OpenKM.War it'll be appears created under target folder
Configuring jboss server
Go to servers tab. Using contextual menus select Add / server. Select jboss server
Recomendations
We recomend donwloading jboss+openkm from sourceforge, remove OpenKM.war and develop with this jboss server configuration. For better developement we recomend not deploying OpenKM.war file it's better setting in $JBOSS_HOME/server/default/deploy some alias to target/OpenKM folder
In case you're making strong changes in OpenKM UI ( GWT ) we recomend disabling pom compile directive
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<version>1.1</version>
<configuration>
<runTarget>es.git.openkm.frontend.Main/index.html</runTarget>
</configuration>
<executions>
<execution>
<goals>
<!-- <goal>compile</goal> -->
<!-- <goal>generateAsync</goal> -->
<goal>test</goal>
</goals>
</execution>
</executions>
</plugin>
You might be interested in running frontend and backend GWT packaging from eclipse. Go to run configurations and add in maven build
For fastly compiling we use on 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. Now are two files called Main.gwt.xml one for frontend and other to backend.
<!-- Compile for firefox only more fastly for developement -->
<set-property name="user.agent" value="gecko"/>
Changes between developer guide 4.0 to 5.0
- GWT 1.7.1
Changes between developer guide 2.0 to 4.0
- Changed to Eclipse Galileo
- Now we use maven not jboss tools
Changes between developer guide 1.2 to 2.0
- Changed IDE to Eclipse Europa / Jboss tools, before was Jboss IDE.
- GWT 1.5.3 is needed to compile, before was version 1.4.6
- Changed packaging to new jboss tools packaging.
- Changed GWT generating to temporary jboss folder to project folders to developing.
- Added new generateback.sh and generateback.bat to GWT admin.
- Upgraded jboss server to version 4.2.2GA
Changes between developer guide 1.0 and 1.1 to 1.2
- GWT 1.4.6 is needed to compile, before was version 1.3.3.
- Changes on GWT shell configuration, now not uses GWTDS variable ( code deleted ).
- Configured generate.sh to deploy to tmp jboss with OpenKM.ear deployed to fast developing.
- Added gecko to Main.gwt.xml to fast compiling only gecko when is uncommented.
Developers support on environment changes
If you are a developer or simply you want to be informed when some changes are made and affect to developer environment, email us and we'll tell you, because developer guide only it'll be remixed when a new version it'll be released at last.
We think development environment now is fine, and we doubt change it on new version. Although it, especially when we make repository upgrades is needed on development to recreate repository several times on a week, this could be unpleasant for some developer if no are informed about it, because one or two weeks could be especially difficult to get a good SVN compiling code without problems. Normally when we are upgrading repository, the developers that are making UI changes must not check-outs SVN code for some time