This learning track is designed for developers who want to
understand ERP5 in depth. It should four days for fast developers, ten days
in average and up to three weeks for beginners to complete.
Table of Contents
There are multiple ways to install ERP5.
For learning purposes and developer setup you can directly
follow the instructions on how to get an
ERP5 webrunner through
SlapOS, our cloud hosting
and deployment platform. This will give you the core setup everyone at Nexedi
uses to develop ERP5.
For evaluation of ERP5 we recommend installing ERP5 on a
Virtual Machine. This approach
requires little technical knowledge and is used in our
OSOE class teaching business students in class or via MOOC
how to use an ERP system.
Once you have a working ERP5 instance, you need to understand the basics of
working with ERP5 and what ERP5 is all about. The more you understand how users
interact with ERP5, the more you will be able to provide them with suitable
developments and customisations of ERP5 software.
We recommend to follow the user tutorials which are available on
Learn how to use ERP5.
The tutorials should take a few hours to complete. Note, that
ERP5 tutorials are being regularly updated and improved as part of a partnership
program with universities called One
Student One ERP (OSOE). Under this program, students can get a free ERP5
SaaS instance from OSOE. Professors
can customise ERP5 to fit their educational goals. If you are interested in
contributing to improve ERP5 education, please contact
Read "Dive Into Python" to
learn python. Python is easy to learn and was designed to teach programming to
children. Python also provides advanced reflexive programming approaches which
do not exist for example in Java. Such reflexive programming techniques are
used intensively in ERP5 and are one of the reasons why ERP5 code base can be
Also read "ERP5 Python Introduction"
and make sure that there is nothing new for you.
►Tutorial: ERP5 Python Introduction (Read - Download)
This tutorial is an introduction to Python. It presents the basics of the
programming language. It must be well understood to be able to develop ERP5
applications on your own.
Zope is the application server and object database which ERP5 is based on. Read
the Zope Book, a comprehensive
documentation about Zope. If you lack time, here is a list of the most important
chapters to read:
Chapters about Zope service and DTML are less useful for ERP5. You may skip them.
On the other hand, page templates are really important to understand.
Once you have learned Zope, read Page Template Introduction and make sure there is nothing new for you.
Tutorial: ERP5 Page Template Introduction (Read - Download)
This tutorial is an introduction to Page Templates in Zope. It must be well
understood to be able to develop ERP5 applications on your own.
The next step is to read the Zope Developer's Guide
This documentation is a bit tough to read. However, it provides one of the best
views about the internals of Zope. Read it once for now, even if you do not
understand it completely. You will need it sooner or later if you need to debug
some difficult issue.
Now that you are familiar with ERP5, you can start the forum tutorial. This
tutorial is made of seven presentations which each teach a specific aspect of
Tutorial 1: How To Create A New Module
This tutorial explains how to create a new module into ERP5. In our example, we
will create a forum module (Discussion Threads) and its objects.
Tutorial 2: How to create a new portal type (Read - Download)
This tutorial explains how to create a new type of content into ERP5. In our
example we will create the discussion post type.
Tutorial 3: How to create a new workflow (Read - Download)
This tutorial explains how to design and implement workflows into ERP5. We will
design the workflow we should associate with a Discussion Post and a Discussion
Tutorial 4: How to create a view (Read - Download)
This tutorial explains some of the rendering features of ERP5. The purpose here
is to display a list of all Discussion Threads then below each Discussion Thread,
all Discussion Posts from which is made the specific Discussion Thread.
Tutorial 5: How to create security rules (Read - Download)
This tutorial explains how to create security rules into ERP5. This is important
in ERP systems since you might not want everyone to be able to perform all
actions into the system. In our example we will define three roles, the
administrator of the forum, the user and the visitors.
Tutorial 6: How to create a Business Template (Read - Download)
This tutorial explains how to create a business template with all your code.
Business Templates (bt5) are the packaging system of ERP5 and let you easily
move and install features from one ERP5 installation to another. In our case we
will create the "erp5_discussion" business template.
Tutorial 7: Create unit tests (Read - Download)
This tutorial explains how to create unit tests and by so how to make sure your
business template will keep working from one upgrade to another. If you don't
test your business template, it will sooner or later stop working and maybe
even without you noticing when it happens.
Once you have finished all tutorials, you should already be able to use ERP5 as
a development platform. It is now time to increase your knowledge by reading
ERP5 is developed by people located on all continents in the world. In order
to keep consistency across such as distributed team, guidelines have been
written. Make sure you know them and that you enforce them all. This will save
a lot of time to developers during the peer-review of your code. Guidelines can
be found in the
developer documentation and include: