This guide describes how to get started with development on a Flowfuse-based workflow application. If you rather like to install the sample application, there will be a installation guide at Flowfuse in Five Minutes soon.
Until the Flowfuse development team will provide stable releases it is best to checkout the latest sources from CVS.
See here for information about getting the source.
Before starting development make sure that you have set up your development environment properly. The following packages are required:
Make sure you have set up your JDK properly (JAVA_HOME set, JAVA_HOME/bin added to your path). Flowfuse has been developed using 1.4.2. Other versions may also work.
Flowfuse uses Maven 1.0 as its build system. To install Maven the following steps are requred:
After that you have to configure your build system:
Note: Do NEVER check-in build.properties!
After that have a look at FF_HOME\src\main\config\flowfuse.properties and adjust it if required.
The Flowfuse developers use MySQL for development and testing. Other databases should work, too, but have not been tested (please let us know if you do so).
$ create database flowfuse;
$ maven ff:setupdb
#alter table OS_HISTORYSTEP drop foreign key FK7835C76583353828; #alter table OS_CURRENTSTEP drop foreign key FK8710A5CA83353828; drop table if exists OS_HISTORYSTEP; :
A servlet container is required to run Flowfuse. Flowfuse has been developed and tested with Tomcat, but other containers may work to (please let us know). Installing Tomcat requires the following steps:
set JAVA_OPTS=-Dflowfuse.configuration=
<FF_HOME>\\src\\main\\config\\flowfuse.propertiesset JAVA_OPTS=-Xdebug -Xnoagent -Djava.compiler=NONE
-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005
-Dflowfuse.configuration=<FF_HOME>\\src\\main\\config\\flowfuse.properties$ maven ff:setuptomcat
Note: You have to restart Tomcat to let this change affect Tomcat.
Regardless of what IDE you use (we prefer either Eclipse or IDEA) you can leverage Maven's goals to generate project files for your favourite IDE:
$ maven eclipse
$ maven idea
Ok, now we're ready to rumble: Either you can build the WAR and deploy it manually in Tomcat or you let Maven also do the deployment. The latter is recommended.
Build a WAR file using the following command:
$ maven war
However, it is much easier to let Maven do both:
$ maven tomcat:deploy -Dmaven.test.skip=true
Please note: If you have already deployed Flowfuse, use this one:
$ maven tomcat:redeploy -Dmaven.test.skip=true