[IMP] developer: improve navigation in top-level pages

Prior to this commit, users had to either know in advance or guess the
location of the content they were looking for. Top-level pages of the
"Developer" section of the documentation, in particular the "Developer"
page itself, were listing their sub-pages without directions for users.

This commit brings the following changes to improve the navigation:
- add directions for users on the "Developer" page and list the three
  main categories of developer documentation ("Tutorials", "How-to
  guides", and "Reference") with explanations of their content and
  target audience;
- add categories for content cards on the "Tutorials" and "How-to
  guides" pages, and fine-tune the toctree of the "Reference" page to
  more easily locate specific topics;
- clarify what are the "Python framework" and the "JavaScript framework"
  by relabelling them to "Server framework" and "Web framework" on
  top-level pages, as some users were confused to find that the JS
  framework was not responsible for the server, and others that the
  documentation for QWeb template is located in the Python documentation;
- extract the "Setup guide" from the "Getting started" tutorial and
  rename the latter to "Server framework 101" to allow reusing the setup
  guide in other tutorials and make clear that the "Server framework 101"
  tutorial is not about the Web framework.

task-3802536

closes odoo/documentation#8712

X-original-commit: 7f623b6ad5
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Co-authored-by: Valeriya (vchu) <vchu@odoo.com>
This commit is contained in:
Antoine Vandevenne (anv)
2024-04-09 11:54:08 +02:00
parent b8dae6e6b2
commit 57b7ca69d9
111 changed files with 424 additions and 363 deletions
@@ -3,11 +3,9 @@ Define module data
==================
.. important::
This tutorial is an extension of the :doc:`getting_started` tutorial. Make sure you have
This tutorial is an extension of the :doc:`server_framework_101` tutorial. Make sure you have
completed it and use the `estate` module you have built as a base for the exercises in this
tutorial. Fetch the branch `{BRANCH}-core` from the `technical-training-solutions
<https://github.com/odoo/technical-training-solutions/tree/{BRANCH}-core>`_ repository if you
want to start from a clean base.
tutorial.
Data Types
==========
@@ -193,7 +191,7 @@ When the data to create is more complex it can be useful, or even necessary, to
Data Extension
~~~~~~~~~~~~~~
During the Core Training, we saw in the :ref:`tutorials/getting_started/13_inheritance` chapter we
During the Core Training, we saw in the :doc:`server_framework_101/12_inheritance` chapter we
could inherit (extend) an existing view. This was a special case of data extension: any data can be
extended in a module.
@@ -251,7 +249,7 @@ works too if you are in the module declaring it).
The value to assign to a field is not always a simple string and you might need to compute it.
It can also be used to optimize the insertion of related values, or because a constraint forces you
to add the related values in batch. See ::ref:`Add X2many fields
<tutorials/getting_started/C_data/x2m>`.
<tutorials/define_module_data/x2m>`.
.. code-block:: xml
@@ -298,7 +296,7 @@ You might also need to execute python code when loading data.
others.
.. _tutorials/getting_started/C_data/x2m:
.. _tutorials/define_module_data/x2m:
Add X2many fields
-----------------
@@ -362,7 +360,7 @@ In CSV, the title of the column must be suffixed with ``:id`` or ``/id``.
"child3","module.parent","Name3"
In SQL, it is more complicated, see :ref:`the advanced section
<tutorials/getting_started/C_data/xml_id>`.
<tutorials/define_module_data/xml_id>`.
.. warning:: Data can always be deleted by the user. Always code defensively, taking this into
account.
@@ -373,7 +371,7 @@ In SQL, it is more complicated, see :ref:`the advanced section
Advanced
========
.. _tutorials/getting_started/C_data/xml_id:
.. _tutorials/define_module_data/xml_id:
What is the XML id?
-------------------