Most Powerful Open Source ERP

Developer Documentation

Guideline Never Use GetPath To Retrieve A Url In ERP5

Absolute and physical path may differ.

Guideline Never Use ZODB Temp Folder Across Multiple Requests

Incompatible with ZEO and clustering.

Guideline Never Store Calculation Result In Python Property

Only store original content.

Guideline Never Use Aq_parent To Get Document Parent In Python

Use getParentValue()

Guideline Never Access State_change Object In ERP5 Workflow Scripts

Use state_change["attribute_name"].

Guideline Never Modify 100+ Objects In A Transaction

Use activities instead.

Guideline Never Name A Base Category The Same As A Property In ERP5

They form a global vocabulary.

Guideline Cookies Are Not Allowed

Cookies have limitations and should not be used in ERP5.

Guideline Never Write To ZODB If Not Required

ZODB is an incremental storage and every write creates more data.

Guideline Never Hardcode Interactions

Use interaction workflows instead.

Guideline Never Override Python Builtin Names

Debugging will be much harder.

Guideline Never Use ContentValues or ObjectValues On More Than 50 Documents In ZODB

Folders may contain million of documents.

Guideline Never Use Reindex In ERP5

Reindexing is for debugging only.

Guideline Never Use Or Overload Reserved CSS Ids

To ensure the UI stays consistent.

Guideline Never Show Or Make User Work With Document Id

Expose title and reference only.

Guideline Never Set Search Row And Select Column On Listbox Inside Document View

It is not allowed in view mode.

Guideline Never Allow Relation String Fields To Set Relations To Categories

Categories are too complex to relate.

Guideline Never Hardcode Category In Scripts Or Classes

Reduces code flexibility and portability.

Guideline Never Use Multiple Modules For Person Or Organisation

Use roles for classification.

Guideline Never Print Directly

Always go through a dialog.