Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Info
titlePre Gradle version

This page documents the usage with Gradle, the pre-Gradle documentation is here: Demo and Test Setup Guide

This page documents the trunk version, the documentation for the R16.11 version is here: Demo and Test Setup Guide

 

Table of contents

Table of Contents

Introduction

This document describes an initial setup process and basic configuration options for the Open For Business Project. For more detail see related documents such as the Framework Configuration Guide, the Entity Engine Configuration Guide, the Service Engine Configuration Guide, and other related documents you may found at OFBiz Documentation Index

If you run into trouble there are various resources available to help. The first steps would be to search on the New OFBiz Docs Site and Old OFBiz Wiki (now archived), and then on the OFBiz Mailing Lists. If you can't find you answer there, then subscribe to the Apache OFBiz Users Mailing List, and send a message with as much detail as possible about the problem you are having.

Quick & Easy Setup

There are 3 2 possibilities to get up and running OFBiz quickly by following some simple instructions:

For more options and explanations, see the rest of this document.

  1. Download and install Java 1.6 8 or higher JDK/J2SDK (not the JRE, you need the full SDK) from Sun's Java (J2SE) site. If you intent to use a release prior to R11.04 then use Java 1.5. In any case, make You can use OpenJdk 8 (or higher).
    Make sure your JAVA_HOME environment variable is set to this JDK after installation (NOTE that for Mac OS X no JVM setup is needed, just make sure Java is up to date with the OS X Software Update facility). You can use OpenJdk 7 (or higher) from R12.04
    There are still people using older versions, even it it's of course not recommened, notably for security reasons. By and large see this page on system requirements.
  2. "Download" OFBiz in the directory of your choice (see comments below about that). This should create one sub-directory: ofbiz. This will be the OFBIZ_HOME location.
  3. (not for snapshots) Load OFBiz demo data in the embedded Apache Derby data base database running "ant load-demogradlew loadAll" on Windows or "./ant load-demogradlew loadAll" on Linux/Unix/OSX ("ant run-install" or "./ant run-install" for versions prior to R12.04).
  4. Start OFBiz with embedded Tomcat by going into the ofbiz directory and then running
    • Windows: "ant start" ("ant run" for version prior to R12.04) gradlew ofbiz" or "startofbiz.bat" (or even "%JAVA_HOME%\bin\java -jar build\libs\ofbiz.jar")
    • Linux/Unix/OSX: "./ant start" ("./ant run" for version prior to R12.04) gradlew ofbiz" or "./startofbiz.sh" (or even "$JAVA_HOME/bin/java -jar build/libs/ofbiz.jar").
  5. Open a browser and go to http
    https://127.0.0.1:8080localhost:8443/ecommerce /control/mainor https://localhost:8443/ecomseo for the ecommerce application or
    https://127.0.0.1localhost:8443/webtools /control/main
    for the WebTools application or
    https://127.0.0.1localhost:8443/catalog /control/mainfor the Catalog Manager application.
  6. The default administrative account is username: "admin", password: "ofbiz".
  7. Have fun with it! You are running on a Java database. For more discussion of databases, read the section below on that topic.
  8. For more detailed options and configuration information, read on!

...

When building, a release or a svn checkout, you will use AntGradle, and sufficient Ant libraries sufficient Gradle libraries (notably the gradlew wrapper) and scripts are embedded with OFBiz.

In the directory where you want OFBiz to be, do a SVN checkout of, for instance, the ofbiz trunk (releases branches are also availble). For example:

...

Now go into the "ofbiz" directory and run "antgradlew" (Windows), or "./antgradlew" (Linux/Unix/OSX). It will compile all modules and leave you an executable jar (ofbiz.jar) in the "ofbiz/build/libs" directory.

Tip
titleAbout AntGradle
  • On *nix platforms, You need to add "./" ahead of "antgradlew" to get the embedded ant Gradlew wrapper running. On Windows it's normally not needed, but in case, the same can be achieved using "ant.bat". If on a *nix plaftorm you have Ant installed separately just make sure you have version 1.9 or later.Then you can run the "ant" command as normal intead of always adding "./" ahead of it.
  • Note that when running an ant commant a Java command line is generated on the following line. You can copy and use/modify it suiting your needs...

To load the seed and demo data, from run

  • prior to R12.04: ant run-install
  • trunk and from R12.04: "ant load-demo"
    As an alternative to the previous step: to load the seed data only: "ant load-seed"

To start the server run

  • prior to R12.04: "ant run"
  • trunk and from R12.04: "ant start"
  • You might use your own Gradle installation but that's out of the scope of this page.

To start the server run "gradlew ofbiz"

Another build option that is useful is "gradlew Another build option in the Ant build script that is useful is "ant clean" (Windows) or "./ant gradlew clean" (Linux/Unix/OSX). That will clean out all built classes allowing you to run "antgradlew" again to get a clean build. If you are running into funny errors after updating from SVN in the future, give this clean build process a try first.

You can get more information about available ant possiblities Gradle possibilities using "ant -pgradlew tasks" (Windows) or "./ant -pgradlew tasks" (Linux/Unix/OSX)

Database Setup

Database setup is done in the entityengine.xml file. There are many options there which are described in the Entity Engine Configuration Guide

The OFBiz package comes with Apache Derby, an open source Java database with DB2 specs and is based on the IBM Cloudscape product. This database is good for demonstration purposes because it is easy to setup and use. It is not the best for large data sets and does not provide the same performance or scalability that a major database would, but compared to HypersonicSQL (that we used to use) it is significantly better because while not as fast for small scale operations it is closer to a production database environment and allows us to catch issues earlier on. Smaller sites might even consider this as an option for their production deployment, especially once the database is a bit more stabilized.

There are many open source databases that will scale well and deliver good performance. The two most popular are PostgreSQL and MySQL. Postgres is a very full featured database with transaction support, foreign keys, stored procedures, et cetera. Postgres also has very friendly license terms. MySQL is a pretty good option these days as well but we recommend PostgreSQL. Please note that if you use MySQL in a commercial production instance you may have to purchase a commercial license because it is GPL licensed and so is the JDBC driver. MySQL AB allows use of the JDBC driver in open source projects in spite the GPL license, but this may not apply for commercial use of a modified OFBiz. For some, a commercial license is the preferred way to go anyway because of support and warranty and other issues. For those with this preference considering Postgres there is also a commercial Postgres derivative called EnterpriseDB.

...

Default data can be loaded through the "load-demoloadAll" Ant Gradle target as mentioned in the Building from SVN section.

...

OFBiz comes and runs by default with Tomcat for a Servlet/JSP container, the Apache Geronimo Transaction Manager for a transaction (JTA) manager, and Apache DBCP for a transaction aware connection pool.

OFBiz can also be configured to run in different containers, but there may be issues with certain quirks that other containers have, especially with servlet containers. We have always been able to find work-arounds for these, but they also seem to keep on appearing, so that is just something to watch for.

Because of the difficulty of deploying in an external application server we have created a configuration and script template tool that takes the classpath and webapp settings from the various OFBiz files to more easily generate the files you need. For more information, see the README file in the ofbiz/framework/appservers directory. If you are looking for a good commercial J2EE app server, Orion is a good place to start, but we recommend trying out Tomcat and Geronimo TM and see if they meet your needs.