Modular development, explained simply
Odoo is built from bricks. Laying them well is what lets you change one without bringing the wall down.
In one image
Picture a house made of bricks that can be taken out one by one. Each brick carries a label: “I need this brick and that one below me”. As long as the labels tell the truth, a brick can be replaced, added or removed without touching the others. An Odoo module is a brick with its label.
What to remember
-
One brick, one role
Each brick does one thing, and its name says so. You know what you remove when you remove it, and what you add when you add it.
-
The label says it all
A brick rests only on what its label announces, and it never looks upwards: it ignores who rests on it. That is what lets it be replaced without breaking anything above.
-
Two bricks that must talk
Neither is bent. A small brick is laid between the two, which links them, and which only appears when both are there. Without it, each lives its own life.
-
Your settings in their own brick
What is specific to your company lives in a brick of its own, laid on the others. The generic bricks stay reusable, and what is yours can be seen.
An example: billing the time spent
Three bricks, each useful on its own.
-
Mark the time
Each hour spent is billable, or is not.
-
Count the budget
The hours agreed with the customer, and what is left of them. This brick rests on the first.
-
Bill
Billable hours become an invoice. This brick rests on the other two, and exists only because a customer needed it.
To go further
-
Modular development, explained to developers
The rules, an example in three modules and two code samples, for whoever starts out with Odoo.
A question?
I answer the curious too: write to me.