This Confluence has been LDAP enabled, if you are an ASF Committer, please use your LDAP Credentials to login. Any problems file an INFRA jira ticket please.

Child pages
  • Ofbiz as a development framework - release 9.04

Access to add and change pages is restricted. See: https://cwiki.apache.org/confluence/display/OFBIZ/Wiki+access

Skip to end of metadata
Go to start of metadata

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 9.04

I have chosen to base my instructions on Ofbiz 9.04 and not trunk because 9.04 is stable. Learning a new technology is always easier when working in a stable environment.

Download, install and setup 9.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

<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="commonext"/><!-- common component used by most other components -->
<!--
    <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"/>
-->
</component-loader>

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

<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="ecommerce"/>
    <load-component component-location="pos"/>
    <load-component component-location="hhfacility"/>
    <load-component component-location="assetmaint"/>
    <load-component component-location="cmssite"/>
    <load-component component-location="projectmgr"/>
    <load-component component-location="oagis"/>
    <load-component component-location="googlebase"/>
    <load-component component-location="ebay"/>
    <load-component component-location="myportal"/>
    <load-component component-location="webpos"/>
-->
    <!-- <load-component component-location="workflow"/> -->
    <!-- <load-component component-location="shark"/> -->
</component-loader>

Comment out the following compents in $OFBIZ_HOME/framework/component-load.xml

<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="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="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>

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

If you now startup ofbiz (e.g. using startofbiz.bat/startofbiz.sh) and go to https://localhost:8443/webtoolsand login as "admin / ofbiz", you will find that only the core components are loaded.

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.

More to follow...

  • Creating/Porting CRUD screens for:
    • User Login
    • Security Group
    • Party/Organisation

See also

There is a longer term effort looking at separating the framework, see Framework-only+distribution
Ofbiz as a development framework - release 10.04

  • No labels