Package Structure organization and it's meaning

To err is to be human, to help each other is joy. Tell your Compiere needs in your own words. Let's figure out together.

Moderator: azaharizaman

Package Structure organization and it's meaning

Postby samjoshi26 » Fri Jan 27, 2006 5:50 pm


I have been trying to understand the package structure of compiere but without success. I use Eclipse for compiere.

Which kind of files are placed under which packages ? For e.x:-

which files go under base package? which go under dbport ? client ?

I want to add 'manufacturing' module to compiere but cannot guess where to put the files. I am confused about the packages and their structure.

Can you help me ?

Thanking in advance,


winners never quit. Quitters never win !!
Posts: 11
Joined: Mon Sep 19, 2005 6:43 pm

Postby lofx » Fri Jan 27, 2006 6:58 pm


the structure of the source code renders quite organized once you have been playing around with it for some time. Base, for instance, includes the java files for the underlying logic of the app. Dbport includes all the files necessary for the interaction between the code and de DB, like the X_ files that describe the structure of the DB and speed up the transactions through the PO.
Client contains the files necessary to build up the different clients (specially the java client) of the app.

One useful approach to adding new functionalities is the comparison method.
Let us say i need to add a new form, for which of course i need coding and i need a java class to be launched and executed. I should look at the app and see where the java file is stored (use the AD for this) and store my new one in the same place.
Compiere is at this moment complete and powerful enough so that you do not really create anything new, but rather introduce modifications or add-ons to the already existing structure, so it is just a matter of patientfully peering into it.

Posts: 86
Joined: Fri Sep 24, 2004 11:55 pm

Postby clapas » Fri Jan 27, 2006 9:00 pm

from the main Compilo document (


[base folder]

Often debugging is in org.compiere.model and org.compiere.process of this [the base] folder.
The model package also contains the Callout source codes, which should be the focus of any field level business logic.
The Process package houses most of the push-button process logic.
This folder is compiled into the CClient.jar with other folders and any changes to them
should only affect that jar.

[server folder]

Accounts process and posting actions are handled by the org.compiere.acct package
of the Server folder.Any changes there are compiled into the CServer.jar.

Some insight into other code folders are touched on by Marco in earlier chapters such as the one on Jasper Integration. Marco also touched on Ant Build.



"Sorprenderse, extrañarse, es comenzar a entender."
-- José Ortega y Gasset
Posts: 6
Joined: Sat Jan 21, 2006 12:05 am
Location: canary islands

Return to Ask RED1 personally

Who is online

Users browsing this forum: No registered users and 1 guest