The purpose of this document is to define the rules each developper has to follow when configuring ERP5 Business Templates. Following those rules will tremendously ease the integration of different Business Templates into a single ERP5 site. It will also prevent from inconsistencies between different modules inside an ERP5 site.
You may also find some more information related to configuration of Forms and User Interface in UserInterfaceGuidelines.
Configuration Rules
0. All ERP5 developers must follow the ERP5 naming convention : GuidelinesForNamingConvention
1. Use appropriate titles in "british english" everywhere so that localisation becomes easy. Titles of fields, workflow states titles, transitions titles should be choosen carefully and must make sense from a business point of view. ERP5 vocabulary should be banished from user interface. Example 1 : "Shipping date" is preferred to "Start date" on a packing list. Example 2 : "Supplier" is preferred to "Source section" on a purchase order.
2. Use proxyfields of proxyfields everywhere. Each Business Template should provide libraries of fields that will be used to define the forms associated to modules and documents. Those fields must be proxyfields of fields defined in ERP5 Base and defining the rendering. Fields in ERP5 Base BT library define the "rendering". Proxyfields in other BT library define the "logic" (example : definition of possible Portal Types in the "my_source_section" relation string field)
3. Relation string fields should never permit to define relations with categories objects. Category should not be present in the Portal Type field of a relation string field (example : my_source, my_destination, my_resource field)
4. Every portal type used as first level document in a module should be associated to a validation workflow.
5. All validation workflows must define "Deleted" state and "delete" transition. Security should be configured so that only managers can view documents in "Deleted" state. That means, for a common end user, deletion of documents in ERP5 should be seen as "physical" deletion.
6. The method used to display categories in list or multilist fields must be : getTranslatedLogicalPathItemList with sort by title.
obsolete, this is now a preference. Category Listfield must be proxyfields of Base_viewFieldLibrary/my_category, and adapt the TALES for special cases (eg. my_default_address_region wants to show the content of region category, but field ID is not my_region).