Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Changed to say 10.04 is current stable release

Overview

This page is a work-in-progress to document my progress in separating the ofbiz core from the rest of the applications to allow users to focus on using ofbiz as a standalone development framework.

Why?

Ofbiz is a very productive framework for creating enterprise applications. However, installing ofbiz with all of it's OOTB functionality just to use ofbiz as a development framework is a waste of resources. Also, newcomers to ofbiz may be put off by the complexity of ofbiz OOTB.

Ofbiz 10.04

Ofbiz 10.04 will be next is the current stable release at the time of writing.

Download, install and setup 10.04.

If you are unsure how to proceed with this, I recommend reading the ofbiz beginners tutorial

Comment out the following components in $OFBIZ_HOME/applications/component-load.xml

Code Block
<component-loader xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/component-loader.xsd">
<!--    <load-component component-location="party"/>-->
<!--    <load-component component-location="securityext"/>-->
<!--    <load-component component-location="content"/>-->
<!--    <load-component component-location="workeffort"/>-->
<!--    <load-component component-location="product"/>-->
<!--    <load-component component-location="manufacturing"/>-->
<!--    <load-component component-location="accounting"/>-->
<!--    <load-component component-location="humanres"/>-->
<!--    <load-component component-location="order"/>-->
<!--    <load-component component-location="marketing"/>-->
<!-- common component used by most other components last because it uses info from most components-->
<!--    <load-component component-location="commonext"/>-->
</component-loader>

...

Code Block
<component-loader xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/component-loader.xsd">
    <load-component component-location="geronimo"/>
    <load-component component-location="sql"/>
    <load-component component-location="entity"/>
    <load-component component-location="catalina"/>
    <!-- <load-component component-location="jetty"/> -->
    <load-component component-location="security"/>
    <load-component component-location="datafile"/>
    <load-component component-location="minilang"/>
    <load-component component-location="common"/>
    <load-component component-location="service"/>
    <load-component component-location="entityext"/>
    <load-component component-location="bi"/>
    <load-component component-location="birt"/>
    <load-component component-location="webapp"/>
    <load-component component-location="guiapp"/>
    <load-component component-location="widget"/>
    <load-component component-location="appserver"/>
    <load-component component-location="testtools"/>
    <load-component component-location="webtools"/>
    <load-component component-location="webslinger"/>
    <load-component component-location="images"/>
<!--    <load-component component-location="example"/>-->
<!--    <load-component component-location="exampleext"/>-->
</component-loader>

Comment out themes - see Bugs section below

Comment out theme preferences in $OFBIZ_HOME/themes/bizznesstime/includes/header.ftl

...

Code Block
<!-- notice the last "false" in the if statement to make the if condition always return false -->
<#if webSiteId?exists && requestAttributes._CURRENT_VIEW_?exists && false>
   <#include "component://common/webcommon/includes/helplink.ftl" />
   <span><a href="javascript:lookup_popup2('showHelp?helpTopic=${helpTopic}&amp;portalPageId=${parameters.portalPageId?if_exists}','help' ,500,500);">${uiLabelMap.CommonHelp}</a></span>
</#if>

Load data and run ofbiz

Next run the ant target "run-install" and "create-admin-user-login" to populate the database.

...

At this stage, you don't have a mecanism for adding user logins or for setting user permissions.  This functionality will need to be created.

Create a component

(if the application is still running from the previous step, kill it)

...

navigate to http://localhost:8443/mycomponent/control/main - login as admin/ofbiz

Bugs

OFBIZ-3499 - Help dependency on Content
OFBIZ-3498 - Visual Themes dependency on Party
OFBIZ-3501 - ServerHitBin dependency on Content

See also

There is a longer term effort looking at separating the framework, see Framework-only+distribution