8000 [IMP] tutorials/server_framework_101/01: update and restructure content · odoo/documentation@7bb6a8b · GitHub
[go: up one dir, main page]

Skip to content

Commit 7bb6a8b

Browse files
committed
[IMP] tutorials/server_framework_101/01: update and restructure content
A great deal of content is removed to focus on the essentials: get the reader to learn the basics of the Odoo architecture. It's not the place to discuss module composition, module structure, Odoo editions... task-3802536
1 parent f4ea23f commit 7bb6a8b

File tree

6 files changed

+56
-135
lines changed

6 files changed

+56
-135
lines changed

content/developer/tutorials/server_framework_101.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ previous one, so make sure to follow them in order.
2626

2727
Ready? Let's get started!
2828

29-
* :doc:`server_framework_101/01_architecture`
29+
* :doc:`server_framework_101/01_architecture_overview`
3030
* :doc:`server_framework_101/02_newapp`
3131
* :doc:`server_framework_101/03_basicmodel`
3232
* :doc:`server_framework_101/04_securityintro`

content/developer/tutorials/server_framework_101/01_architecture.rst

Lines changed: 0 additions & 133 deletions
This file was deleted.
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
================================
2+
Chapter 1: Archi 8000 tecture overview
3+
================================
4+
5+
Before we start building our app, let's take a high level glance at the architecture of Odoo.
6+
7+
Multitier application
8+
=====================
9+
10+
Odoo leverages a `multitier architecture <https://en.wikipedia.org/wiki/Multitier_architecture>`_,
11+
meaning that the presentation, the business logic, and the data storage are separated. More
12+
specifically, it uses a three-tier architecture (image from Wikipedia):
13+
14+
.. image:: 01_architecture_overview/three-tier-architecture.svg
15+
:align: center
16+
:alt: Overview of a three-tier application
17+
18+
Its presentation tier is a combination of HTML5, JavaScript, and CSS. The logic tier is exclusively
19+
written in Python, while the data tier only supports PostgreSQL as an :abbr:`RDBMS
20+
(Relational Database Management System Software)`.
21+
22+
Depending on the scope of your module, Odoo development can be done in any of these tiers.
23+
Therefore, before going any further, it may be a good idea to refresh your memory if you don't have
24+
an intermediate level in these topics. In order to go through this tutorial, you will need a very
25+
basic knowledge of HTML and an intermediate level of Python. There are plenty of tutorials freely
26+
accessible, so we cannot recommend one over another since it depends on your background. For
27+
reference this is the official `Python tutorial <https://docs.python.org/3/tutorial/>`_.
28+
29+
Odoo modules
30+
============
31+
32+
Odoo relies on modular components called **modules** to extend its functionality. These modules are
33+
essentially self-contained packages of code and data that serve a specific purpose within the
34+
system. You can think of them as building blocks.
35+
36+
Modules offer two main ways to customize Odoo:
37+
38+
- Adding new functionality: You can create entirely new features with modules, such as a real-time
39+
bus fleet visualization module.
40+
- Extending existing functionality: Modules can also be used to modify or enhance existing Odoo
41+
features, like adding your country's accounting rules to the generic accounting support.
42+
43+
Terminology:
44+
45+
- Developers group their business features in Odoo *modules*.
46+
- The main user-facing modules are flagged and exposed as *Apps*, but a majority of the modules are
47+
not Apps.
48+
- *Modules* may also be referred to as *addons*.
49+
50+
----
51+
52+
Ready to start? Let's now :doc:`start building our first Odoo app <02_newapp>`!

content/developer/tutorials/server_framework_101/08_compute_onchange.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ method should set the value of the computed field for every record in
5050

5151
By convention, :attr:`~odoo.fields.Field.compute` methods are private, meaning that they cannot
5252
be called from the presentation tier, only from the business tier (see
53-
:ref:`tutorials/server_framework_101/01_architecture`). Private methods have a name starting with an
53+
:doc:`01_architecture_overview`). Private methods have a name starting with an
5454
underscore ``_``.
5555

5656
Dependencies

redirects/17.0.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ developer/tutorials/getting_started/14_other_module.rst developer/tutorials/serv
2323
developer/tutorials/getting_started/15_qwebintro.rst developer/tutorials/server_framework_101/14_qwebintro.rst
2424
developer/tutorials/getting_started/16_final_word.rst developer/tutorials/server_framework_101/15_final_word.rst
2525

26+
developer/tutorials/server_framework_101/01_architecture.rst developer/tutorials/server_framework_101/01_architecture_overview.rst
27+
2628
# applications/inventory_and_mrp
2729

2830
applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/closest_location.rst applications/inventory_and_mrp/inventory/warehouses_storage/removal_strategies/closest_location.rst # advanced_operations_warehouse/* --> removal_strategies/*

0 commit comments

Comments
 (0)
0