Extensions Friendly Proposal

From ADempiere
Jump to: navigation, search
This Wiki is read-only for reference purposes to avoid broken links.
Subject: making Adempiere extension friendly

** Admpiere-team IRC chat
** Carlos proposal - https://sourceforge.net/tracker/?func=detail&atid=879333&aid=1566089&group_id=176962



As a community based project, ADempiere sourcecode and model design is open to anyone to modify and reuse. For various industries will require different and disparate behaviour within the model. In order to manage it in the best manner, the community has decided to maintain a separation between what is core from what is extendable. Only what is of common and universal use across any vertical is accepted into core. What is particular to a certain industry has to be outside the core. That behaviour can only be extended via an approach described here.

Model Validators

Extensions will be integrated using model validators.


  • System level
  • Client level

Forum Discussion: [1]

Triggers on Model Validator

Document status change

  • before/after prepare
  • before/after complete
  • before/after void
  • before/after close
  • before/after reactivate
  • before/after reverse correct
  • before/after reverse accrual

Model save

  • before/after new
  • before/after change
  • before/after delete

Document Posting

  • before/after post

Triggers on Model Classes

Not recommended for core classes, just for extensions

  • before/after save
  • before/after delete

Model Class

How to find the model class for a table. [2] [3]

Callout scripts

Scripting support for callouts.

Document Class

Forum Discussion: [4]

System Event

  • post setup of new client

See Also