Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Written By: David E. Jones, jonesde@ofbiz.org

Table of Contents 

  • Introduction
  • General Concepts
  • Data Layer
  • Logic Layer
  • Presentation Layer
  • Before Starting - Methodology Recommendations
  • Managing Your Source Differences

Introduction

This documents presents best-practices for development and architecture related to The Open For Business Project.

...

Note that this document assumes some knowledge of the OFBiz Core Framework. With some basic knowledge it can answer a lot of questions about how certain things should be used. If you are not familiar with the OFBiz Core Framework this will give you an introduction to it, but some things may not make a lot of sense to you.

General Concepts

...

Reduce Code Redundancy & Size

There are various techniques that can be applied to this problem that produce good results. The most common, but least effective, practice is code generation. Because it is not something that I consider to be a best practice, I won't discuss it further here.

...

If you are comfortable with the branching and merging features in CVS you can use those very effectively to easily maintain you differences from the OFBiz base source tree, and still keep up-to-date with the latest from OFBiz without too much trouble. CVS does three-way diff/merge operations all the time when doing updates, and this same feature can be used to do the three-way diff/merge described above, but in an automatic way that only requires your involvement for merge collisions.
To get started do a fresh checkout from the OFBiz CVS repository, then remove all CVS directories and import the tree into a new module in your local CVS repository. Tag this set of files with a name like OFBIZ_20030612 (adjust for the current date) using a command like "cvs tag -b OFBIZ_20030612". Now just change/add things as you please. Note that you are not working on that branch, you are working on the HEAD branch unless you do something like "cvs update -rOFBIZ_20030612".

...

At any time to get a list of all files changed from the base, get a list of all tags on the module and compare the HEAD revisions with the revisions tagged using the most recent OFBiz tag.

 DRAFT

Data Layer

Logic Layer

Presentation Layer

Data Import
Data Export

Reports

http://www.ofbiz.org/best-practices.html

http://ofbizwiki.go-integral.com/Wiki.jsp?page=PalmtreeDevelopmentGuidelines

Note: a draft of a similar process for SVN is available here\.

TODO

Data Import/Export
Reportshttp://docs.ofbiz.org/display/OFBIZ/SVN+Tips