documentation/content-rst/developer/howtos.rst

113 lines
2.8 KiB
ReStructuredText
Raw Permalink Normal View History

:show-content:
:hide-page-toc:
=============
How-to guides
=============
[REF][MOV] documentation apocalypse Prior to this commit, the Odoo documentation was mainly split between two repositories: odoo/odoo/doc and odoo/documentation-user. Some bits of documentation were also hosted elsewhere (e.g., wiki, upgrade, ...). This was causing several problems among which: - The theme, config, Makefile, and similar technical resources had to be duplicated. This resulted in inconsistent layout, features, and build environments from one documentation to another. - Some pages did not fit either documentation as they were relevant for both users and developers. Some were relevant to neither of the two (e.g., DB management). - Cross-doc references had to be absolute links and they broke often. - Merging large image files in the developer documentation would bloat the odoo/odoo repository. Some contributions had to be lightened to avoid merging too many images (e.g., Odoo development tutorials). - Long-time contributors to the user documentation were chilly about going through the merging process of the developer documentation because of the runbot, mergebot, `odoo-dev` repository, etc. - Some contributors would look for the developer documentation in the `odoo/documentation-user` repository. - Community issues about the user documentation were submitted on the `odoo/odoo` repository and vice-versa. Merging all documentations in one repository will allow us to have one place, one theme, one work process, and one set of tools (build environment, ...) for all of the Odoo docs. As this is a good opportunity to revamp the layout of the documentation, a brand new theme replaces the old one. It features a new way to navigate the documentation, centered on the idea of always letting the reader know what is the context (enclosing section, child pages, page structure ...) of the page they are reading. The previous theme would quickly confuse readers as they navigated the documentation and followed cross-application links. The chance is also taken to get rid of all the technical dangling parts, performance issues, and left-overs. Except for some page-specific JS scripts, the Odoo theme Sphinx extension is re-written from scratch based on the latest Sphinx release to benefit from the improvements and ease future contributions. task-2351938 task-2352371 task-2205684 task-2352544 Closes #945
2021-04-30 17:40:29 +07:00
.. toctree::
[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: 7f623b6ad5aac4c5ab3e21886cfb3331ee2b5c63 Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com> Co-authored-by: Valeriya (vchu) <vchu@odoo.com>
2024-04-09 16:54:08 +07:00
howtos/scss_tips
howtos/javascript_field
howtos/javascript_view
howtos/javascript_client_action
howtos/standalone_owl_application
howtos/frontend_owl_components
howtos/website_themes
howtos/web_services
howtos/company
howtos/create_reports
howtos/accounting_localization
howtos/translations
howtos/connect_device
howtos/upgrade_custom_db
Frontend development
====================
.. cards::
.. card:: Write lean easy-to-maintain CSS
:target: howtos/scss_tips
Follow this guide to keep the technical debt of your CSS code under control.
.. card:: Customize a field
:target: howtos/javascript_field
[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: 7f623b6ad5aac4c5ab3e21886cfb3331ee2b5c63 Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com> Co-authored-by: Valeriya (vchu) <vchu@odoo.com>
2024-04-09 16:54:08 +07:00
Learn how to customize field components in the web framework.
.. card:: Customize a view type
:target: howtos/javascript_view
[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: 7f623b6ad5aac4c5ab3e21886cfb3331ee2b5c63 Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com> Co-authored-by: Valeriya (vchu) <vchu@odoo.com>
2024-04-09 16:54:08 +07:00
Learn how to customize view types in the web framework.
.. card:: Create a client action
:target: howtos/javascript_client_action
[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: 7f623b6ad5aac4c5ab3e21886cfb3331ee2b5c63 Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com> Co-authored-by: Valeriya (vchu) <vchu@odoo.com>
2024-04-09 16:54:08 +07:00
Learn how to create client actions in the web framework.
.. card:: Create a standalone Owl application
:target: howtos/standalone_owl_application
Learn how to create a public-facing Owl application outside of the web client using a
[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: 7f623b6ad5aac4c5ab3e21886cfb3331ee2b5c63 Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com> Co-authored-by: Valeriya (vchu) <vchu@odoo.com>
2024-04-09 16:54:08 +07:00
controller and the web framework.
.. card:: Use Owl components on the portal and website
:target: howtos/frontend_owl_components
Learn how to use Owl components on the portal and website.
[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: 7f623b6ad5aac4c5ab3e21886cfb3331ee2b5c63 Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com> Co-authored-by: Valeriya (vchu) <vchu@odoo.com>
2024-04-09 16:54:08 +07:00
.. card:: Website themes
:target: howtos/website_themes
Learn how to customize your website by creating a custom theme.
Server-side development
=======================
.. cards::
.. card:: Web services
:target: howtos/web_services
Learn more about Odoo's web services.
.. card:: Multi-company guidelines
:target: howtos/company
Learn how to manage multiple companies and deal with the records-related specificities of a
multi-company environment.
.. card:: Create customized reports
:target: howtos/create_reports
Learn how to create customized reports with SQL Views.
.. card:: Accounting localization
:target: howtos/accounting_localization
Learn how to build a localization module, create bank operation models and dynamic reports.
.. card:: Translating modules
:target: howtos/translations
Learn how to provide translation abilities to your module.
.. card:: Connect with a device
:target: howtos/connect_device
Learn how to enable a module to detect and communicate with an IoT device.
[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: 7f623b6ad5aac4c5ab3e21886cfb3331ee2b5c63 Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com> Co-authored-by: Valeriya (vchu) <vchu@odoo.com>
2024-04-09 16:54:08 +07:00
Custom development
==================
.. cards::
.. card:: Upgrade a customized database
:target: howtos/upgrade_custom_db
[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: 7f623b6ad5aac4c5ab3e21886cfb3331ee2b5c63 Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com> Co-authored-by: Valeriya (vchu) <vchu@odoo.com>
2024-04-09 16:54:08 +07:00
Learn how to upgrade a customized database, as well as the code and data of its custom
modules.