Developer Guide

From OpenKM Documentation
Revision as of 18:48, 21 January 2010 by Pavila (talk | contribs) (Developers support on environment changes)

Jump to: navigation, search

You need to install Maven, eclipse IDE and some plugins.

For OpenKM 4.0 and 5.0

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.

Okm dev guide 004.jpeg


Okm dev guide 005.jpeg

Checkout OpenKM from svn

Go to File / New / Other and select Maven / Checkout Maven Projects from SCM

Okm dev guide 001.jpeg

Select the svn type and typewrite the url https://openkm.svn.sourceforge.net/svnroot/openkm/branches/4.0/openkm to refer version 4.0.

Okm dev guide 002.jpeg

Okm dev guide 003.jpeg


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

Into eclipe select openkm root folder.

Open contextual menu and select Run As / Maven Package OpenKM.War it'll be appears created under target folder


Okm dev guide 006.jpeg


Configuring jboss server

Go to servers tab. Using contextual menus select Add / server

Select jboss server


Okm dev guide 007.jpeg


Okm dev guide 008.jpeg


Okm dev guide 009.jpeg


Okm dev guide 010.jpeg


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

Okm dev guide 011.jpeg

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


Okm dev guide 012.jpeg


Okm dev guide 013.jpeg


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 enviroment now is fine, and we doubt change it on new version. Althought 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 cvs compiling code without problems. Normally when we are upgrading repository, the developers that are making UI changes must not check-outs cvs code for some time