ERP5: Designing for Maximum Adaptability > Conclusion

21.6. Conclusion

The ERP5 team was able to implement a highly flexible tool, used for both "traditional" project management and for order planning and execution control, by making substantial reuse of already existing core concepts and code. Actually, reuse is a daily operation in ERP5 development, to the point where entire new modules are created just by changing GUI elements and adjusting workflows.

Because of this emphasis on reuse, queries on the object database can be done at the abstraction levels of portal types or meta classes. In the first case, the specific business domain concept is retrieved, such as a project task. In the second case, all objects related to the UBM generic concepts are retrieved, which is quite interesting for such requirements as statistics gathering.

In this chapter, we have edited some code snippets to make them more readable. All ERP5 code in its raw state is available at http://svn.erp5.org/erp5/trunk.

21.6.1. Acknowledgments

We would like to thank Jean-Paul Smets-Solanes, ERP5 creator and chief architect, and all the guys on the team, especially Romain Courteaud and Thierry Faucher. When the authors say we during the discussion of ERP5 design and implementation, they are refer-ring to all those nice folks at Nexedi.