Compare commits

..

541 Commits

Author SHA1 Message Date
Michael (mcm) dc7681af00 [IMP] web: update documentation of patch function
This commit updates the documentation of the patch function
with the changes done in https://github.com/odoo/odoo/pull/125716.
2023-08-03 12:38:53 +02:00
tiku-odoo 7e29da60b9 [IMP] Misc: Oauth Azure
closes odoo/documentation#5041

closes odoo/documentation#5255

X-original-commit: 66b2a3d50e
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Co-authored-by: Zachary Straub <zst@odoo.com>
2023-08-03 00:33:44 +02:00
John Holton (hojo) 8edb63948c [IMP] Inventory: Update Multi-package shipments doc
closes odoo/documentation#5246

X-original-commit: 7df2d749a8
Signed-off-by: John Holton (hojo) <hojo@odoo.com>
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-08-02 11:16:53 +02:00
“Chiara 76c781226d [ADD] l10n: saudi arabia e-invoicing
task-3422500

closes odoo/documentation#5233

X-original-commit: 24ff6624bb
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2023-07-28 23:16:34 +02:00
Martin Trigaux fd4065b3c6 [I18N] *: export translations
closes odoo/documentation#5223

X-original-commit: 013da823cc
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2023-07-28 10:33:22 +02:00
Xavier (XPL) b755d0330e [IMP] payments: update ACH section content to match 16.0
closes odoo/documentation#5216

X-original-commit: 992fc9f4d6
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2023-07-27 03:50:48 +02:00
Xavier (XPL) b5dbf4779a [IMP] accounting: year-end closing
task-2823858

closes odoo/documentation#5211

X-original-commit: 8c03442791
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2023-07-26 16:11:49 +02:00
Victor Feyens db05d69be6 [IMP] accounting: new behavior of the sepa provider
Sepa mandates are not automatically confirmed anymore,
customers have to make one successful bank transfer
matching the expected payment details to confirm
their mandate.

See https://github.com/odoo/odoo/commit/fd2fb212c50952ca5a8e162ba5d82ce433cd5989
See https://github.com/odoo/enterprise/commit/9b729b157b6978e10fbbed45052226f150e5559f

closes odoo/documentation#5201

X-original-commit: bc1cf93455
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-07-26 13:22:07 +02:00
Donatienne Pirlot c795231f1c [ADD] elearning: creating a new elearning doc page
To add updated information related to the elearning app

closes odoo/documentation#5155

Id: 3251391
X-original-commit: 2e9c99c941
Signed-off-by: Donatienne Pirlot (dopi) <dopi@odoo.com>
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2023-07-26 08:08:02 +02:00
Xavier (XPL) 5114140efe [IMP] payments: add section about ACH payments
task-3303591

closes odoo/documentation#5198

X-original-commit: 0155844ef5
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2023-07-25 21:22:56 +02:00
Levi Siuzdak (sile) dd7ab18b9e [IMP] developer: add notes on entity references & fix illegal XML
Using `<` inside XML elements will result in a parsing error,
an entity reference should be used instead: `&lt;`.

closes odoo/documentation#5184

X-original-commit: a7743d513b
Signed-off-by: Levi Siuzdak (sile) <sile@odoo.com>
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-07-24 23:04:05 +02:00
Tom Aarab (toaa) 32cb0d8244 [IMP] accounting: multicurrency
Changed the "bank statement" section to "bank transactions"

taskid-3433653

closes odoo/documentation#5171

X-original-commit: 4b142c2a70
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
Signed-off-by: Tom Aarab (toaa) <toaa@odoo.com>
2023-07-20 15:45:03 +02:00
“Dallas” 80b4cd05d3 [IMP] accounting: update payment terms
task-3211595

closes odoo/documentation#5175

X-original-commit: 26c4c01889
Signed-off-by: Dallas Dean (dade) <dade@odoo.com>
2023-07-20 14:23:33 +02:00
tong-odoo 421e760581 [ADD] accounting: add Vietnam localisations
Impacted Version:

- 16.4 and above

This commit improve below features:

- Vietnam accounting documentation
- Vietnamese QR banking code documentation

task-3344654

closes odoo/documentation#5043

Related: odoo/odoo#127689
Signed-off-by: Tommy Ng (tong) <tong@odoo.com>
2023-07-20 06:40:45 +02:00
Valentin Chevalier 3bd570ae64 [IMP] Stripe: update doc to match the new flow
Stripe now implements a direct flow instead a redirect.

This commit focuses on updating the documentation to match the changes.

task-3322020

closes odoo/documentation#4719

Related: odoo/upgrade#4748
Related: odoo/enterprise#42196
Related: odoo/odoo#123573
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-07-19 13:13:04 +02:00
Xavier (XPL) 3e199d9825 [IMP] general: add screenshot of stacked line chart in reporting
task-3375264

closes odoo/documentation#5156

X-original-commit: 5ee932e14b
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2023-07-19 10:24:02 +02:00
Demesmaeker ca475f8ad5 [IMP] sale_amazon: support stock synchronization from Odoo
task-2864098

closes odoo/documentation#4773

Related: odoo/enterprise#40720
Related: odoo/upgrade#4810
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-07-18 19:27:41 +02:00
Louis Wicket ae0c4d809d [FIX] incoterms: fix typo: DPA → DAP
closes odoo/documentation#5146

X-original-commit: 1227c9cf79
Signed-off-by: Louis Wicket (wil) <wil@odoo.com>
2023-07-18 18:18:23 +02:00
chyde-clearwater 3758cd5899 [IMP] tutorials/getting_started: disambiguate example model name
I removed the dot notation in the  "_name" variable for the example
model. AKA, "test.model" is now named "test_model".

Dot notation implies a data structure relationship between a <model> and
it's parent (or class etc) <test> (like test.model() or Test.model).
There is no relationship like this between a <test> and <model> - it's
just one thing: a <test model>.

The seeming "benefit" of the ORM translating dots to underscores doesn't
justify this naming convention.  Yes, I know it's a string, but still,
this seems confusing for newbies and adds unnecessary complexity (why
name the same thing differently in different places?)

closes odoo/documentation#5141

X-original-commit: f36c612d13
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-07-18 13:07:47 +02:00
Henrique Dias 9514d7df55 [FW][ADD] rpc: Go examples
Examples rely on `kolo/xmlrpc` as well as on the standard library package `log` to panic on error, matching snippets in other languages (which tend to raise exceptions).

As with other languages, only the RPC interaction is spelled out.

closes odoo/documentation#5129

Forward-port-of: odoo/documentation#5064
Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
2023-07-15 12:00:28 +02:00
John Holton (hojo) f704ee9cc1 [DEL] MRP: Delete Alternative Work Centers 16.0
closes odoo/documentation#5123

X-original-commit: a67a69beae
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-07-15 12:00:01 +02:00
Martin Trigaux 0031e37c63 [FIX] developer: document changes of message_post API
closes odoo/documentation#5119

X-original-commit: 8bf2d026b7
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2023-07-15 10:54:41 +02:00
Lara Martini (larm) 89b550252a [IMP] Inventory: update for 16
closes odoo/documentation#5104

X-original-commit: 29db8bf1e6
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-07-13 20:37:30 +02:00
Jess Rogers (jero) 27d8dc2acd [IMP] live chat: add note for 16.3 command changes
closes odoo/documentation#5103

X-original-commit: a187b7cde4
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-07-13 20:37:27 +02:00
Loredana Perazzo 4367502c08 [IMP] pos: move part of the intro into generate tab
task-3372676

closes odoo/documentation#5115

X-original-commit: d5466bea0d
Signed-off-by: Loredana Perazzo (lrpz) <lrpz@odoo.com>
2023-07-13 19:28:23 +02:00
Marc Durepos 9988d0b214 [FIX] Remove reference to assets_qweb in assets.rst
Reflects the fact that assets_qweb bundle is no longer used in 16.0

closes odoo/documentation#5109

X-original-commit: c85031b3fc
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-07-13 19:28:18 +02:00
Odoo's Mergebot 665bf423ec [FW][FIX] install: remove duplicate note
The notes displayed before and after the tabs under the Git paragraph in `install.rst` were identical, except for one sentence. Added the sentence to the post-tabs note and removed the pre-tabs one.

closes odoo/documentation#5092

Forward-port-of: odoo/documentation#5087
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2023-07-13 08:28:26 +02:00
Aymen Sellami 8bf5772a97 Remove duplicate note
The notes displayed before and after the tabs under the Git paragraph in install.rst were identical, except for one sentence. Added the sentence to the post-tabs note and removed the pre-tabs one.

X-original-commit: 481a867a05
Part-of: odoo/documentation#5092
2023-07-13 08:28:25 +02:00
Leonardo Pavan Rocha 6462ed0112 [IMP] web: merge quick_add with quick_create_form_view id in views
https://github.com/odoo/odoo/pull/114827 added a new attribute
quick_create_form_view_id to the calendar view that would allow showing a form
view when clicking on quick_create. This attribute was only used in calendar,
however it could be useful for other modules as well. It was decided to merge
this new attribute with the quick_add attribute, as they are related. Now, the
quick_add attribute accepts either a boolean or a form view id. This commit
changes the documentation of this attribute.

task-3286969

closes odoo/documentation#4707

Related: odoo/odoo#122923
Signed-off-by: Arnaud Joset (arj) <arj@odoo.com>
2023-07-12 20:33:53 +02:00
Xavier (XPL) 1c2ce72416 [IMP] payments: clarify authorize.net statement import steps
task-2382237

closes odoo/documentation#5077

X-original-commit: 22d45407c4
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2023-07-11 04:52:41 +02:00
Martin Trigaux fb681d1305 [I18N] *: export translations
closes odoo/documentation#5069

X-original-commit: 921b483e2e
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2023-07-10 16:59:30 +02:00
Tom Aarab (toaa) e005fa9896 [IMP] authorize.net statement import
taskid-2382237

closes odoo/documentation#5063

X-original-commit: ca38752795
Signed-off-by: Tom Aarab (toaa) <toaa@odoo.com>
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2023-07-07 17:58:09 +02:00
Antoine Vandevenne (anv) 7d70725925 [FIX] odoo_theme/switchers: fallback to the original target URL
Attempting to switch from one version to another when navigating
<old_version>/applications/hr/employees.html led to the user being
redirected to /applications/documentation/<new_version>/hr/employees.html
because `hr` was interpreted as a version string, and thus the generated
target URLs of the version switcher were all wrong.

This commit ensures the redirection now falls back onto the original
target URL when all the generated ones point to a 404.

closes odoo/documentation#5059

X-original-commit: c81a91db9c
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-07-07 17:58:06 +02:00
Zuzanna Luczynska 4590a4c25a [ADD] project: recurring tasks, FW port edit 16.2
closes odoo/documentation#5049

Id: 3255317
X-original-commit: c2d174fb4e
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2023-07-07 17:57:52 +02:00
tong-odoo 057a1c11d2 [FIX] accounting: AU rebrands Keypay to Employment Hero
task-3250954

closes odoo/documentation#5035

X-original-commit: d252a96747
Related: odoo/enterprise#43735
Signed-off-by: Jonathan Castillo (jcs) <jcs@odoo.com>
Signed-off-by: Tommy Ng (tong) <tong@odoo.com>
2023-07-06 19:46:32 +02:00
Xavier (XPL) 7d01392c9a [IMP] accounting: l10n chile deliver guides warning
task-3410367

closes odoo/documentation#5030

X-original-commit: b729d05e57
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2023-07-05 15:58:34 +02:00
Julien Mougenot 35aae86dbd [IMP] web: Owl DateTimePicker
This commit introduces a date picker OWL component meant to handle the
following use-cases:
- date picker
- date & time picker
- date range picker
- date & time range picker

Basically, this component is the union of the two previous third-party
libraries handling these cases: TempusDominus and DateRangePicker.

New components introduced:

* The main addition of this commit is the `DateTimePicker` itself which
handles the display and interactions of the calendar and time pickers.
> see @web/core/datetime/datetime_picker

* The picker can then be coupled to an input using the
`useDateTimePicker` hook. The purpose of this hook is to handle events
on a given input element and syncronize its value to a date picker it
will spawn in a popover.
> see @web/core/datetime/datetime_hook

* Lastly, a simple `DateTimeInput` component will render an input and
call the hook mentioned above to handle it. This component is
effectively replacing the previous DatePicker and DateTimePicker
components (note that it does not handle range values).
> see @web/core/datetime/datetime_input

Another noticeable change of this commit is the definition of daterange
fields in views:

- Previously, the arch would have to define both fields
and bind them via their options, while also adding an arrow between
inputs or other forms of connection.

- In the new implementation, only the start date field must be declared,
and a date range can be spawned by providing an `end_date_field` in its
options.

Example:
```xml
<field
    name="start_datetime"
    widget="daterange"
    options="{'end_date_field': 'end_datetime'}"
/>
```

warning Added limitations:

- this new way of declaring date ranges means that templates have been
revised to declare one field tag instead of two. This means that list
views using date ranges have lost the ability to be sorted on their end
date fields.

> Justification: the current use cases have been reviewed and it has
been decided that it was not needed to sort on the end date on the
affected list views.

> Workaround: drop the date range and declare both fields as simple date
pickers (i.e. without the end_date_field option).

- all modifiers applied to a field using a date range will be copied and
applied to the end date field. There is no way to define modifiers
specific to one field or the other.

> Justification: there was no use case where one of the two fields
needed specific modifiers.

> Workaround: same as the previous point: split the range into 2 simple
date picker fields.

Additional notes:

- the widget="daterange" is not mandatory in form views, but is required
in list views because only fields with explicit widgets will not be
rendered as simple <span> elements. The date range feature will be
available as soon as an end_date_field is specified.

- as the end date field is not explicitly defined in the view anymore,
any modifier depending on it need to have it defined as invisible
somewhere in the arch.

Task ID: 3121497

closes odoo/documentation#5013

Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Julien Mougenot (jum) <jum@odoo.com>
2023-07-04 12:47:02 +02:00
Julien Mougenot a9c82ebb94 [REF] web: update JS fields documentation
This commit updates the documentation of JS fields:

- style and notation have been adapted to keep in line with the current
documentation writing guidelines;

- some outdated bits have been updated or removed (this is rather a
correction of misleading information than a proper update as no new
information has been added).

Part-of: odoo/documentation#5013
2023-07-04 12:47:01 +02:00
Brandon Seltenrich (BRSE) 453284ba8e [IMP] purchase: update manage vendor bills
closes odoo/documentation#5012

X-original-commit: 688220bb51
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Brandon Seltenrich (brse) <brse@odoo.com>
2023-07-04 07:55:31 +02:00
Xavier 42115759bc [IMP] maintain: odoo online database management
task-2995394

closes odoo/documentation#5006

X-original-commit: c6e6401e36
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2023-07-04 07:55:29 +02:00
tong-odoo 94a6a0b204 [IMP] localization: AU rebrands Keypay to Employment Hero
task-3250954

closes odoo/documentation#4998

X-original-commit: 35fc637ed4
Signed-off-by: Jonathan Castillo (jcs) <jcs@odoo.com>
2023-07-04 07:55:26 +02:00
AMZIL Ayoub f51b991fd4 [DOC] cleanup of pec server documentation
PEC Server is removed from 16 (onwards)

closes odoo/documentation#4991

X-original-commit: f3e3490ba4
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2023-07-04 00:51:48 +02:00
John Holton (hojo) c76f97777a [ADD] Inventory: Add Replenish on order (MTO)
closes odoo/documentation#4984

X-original-commit: d9ece7b353
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-07-01 19:13:00 +02:00
John Holton (hojo) e80d7ae220 [ADD] Inventory: Add reordering rules
closes odoo/documentation#4977

X-original-commit: eb347c2681
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-07-01 19:12:57 +02:00
John Holton (hojo) f27df8f077 [ADD] MRP: Work center time off
closes odoo/documentation#4970

X-original-commit: 18a9b88a11
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-07-01 19:12:55 +02:00
Jess Rogers (jero) 06d5e0b096 [ADD] livechat: added chatbot doc
closes odoo/documentation#4969

X-original-commit: 729881c7b1
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-07-01 18:05:18 +02:00
Lara Martini (larm) 137e58719b [IMP] Inventory: updated images and removed edit and save directions
closes odoo/documentation#4959

X-original-commit: 710c373354
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-07-01 04:44:58 +02:00
John Holton (hojo) 9cac3b3d1a [IMP] Administration: Rewrite Upgrade Odoo SaaS
closes odoo/documentation#4951

X-original-commit: 45b1a62782
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2023-06-30 10:42:11 +02:00
Tom Aarab (toaa) 7dfd6421db [IMP] accounting: checks
task-2979887

closes odoo/documentation#4942

X-original-commit: 5b78ee96af
Signed-off-by: Tom Aarab (toaa) <toaa@odoo.com>
2023-06-29 11:59:51 +02:00
Xavier b0a042b928 [FIX] accounting: remove fullscreen property from tutorial link
task-3389168

closes odoo/documentation#4936

X-original-commit: 88da0a9256
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2023-06-28 19:08:51 +02:00
Jess Rogers (jero) facb3f184e [IMP] livechat: update commands and canned responses
closes odoo/documentation#4931

X-original-commit: e8aaefd283
Signed-off-by: Jessica Rogers (jero) <jero@odoo.com>
2023-06-28 17:41:59 +02:00
Rémy Voet (ryv) 13544bca17 [IMP] orm: name_get into display_name
odoo/odoo#122085
odoo/enterprise#42599
odoo/upgrade#4780

closes odoo/documentation#4639

Signed-off-by: Rémy Voet (ryv) <ryv@odoo.com>
2023-06-28 17:41:15 +02:00
Xavier 9e54525d61 [ADD] website: reCAPTCHA
task-3336129

closes odoo/documentation#4920

X-original-commit: 329f6dd8d5
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2023-06-27 22:40:15 +02:00
Timothy Kukulka (tiku) 1ed317ebd7 [IMP] IoT: edits to all IoT docs
closes odoo/documentation#4927

X-original-commit: e7457c992b
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-06-27 21:27:56 +02:00
Benoit Socias 0df9068892 [FIX] howto/rdtraining: ch.13 adapt reference to salesperson field
In chapter 13 the `property_ids` field is defined as the inverse of a
`user_id` field. But in chapter 8 when the salesperson field is added,
no such name is given to it.

This commit adapts the description to reference the general concept of
the field used to link to the salesperson instead of an actual field
identifier.

task-3381757

closes odoo/documentation#4913

X-original-commit: 3a131c829a
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-06-27 13:44:38 +02:00
Benoit Socias 2161dd5acf [IMP] developer/views: add optional attribute for fields of list views
The attributes of fields of list views do not mention the `optional`
attribute while it is used by chapter 12 of the R&D Training.

This commit describes this `optional` attribute.

task-3380953

closes odoo/documentation#4912

X-original-commit: 5a446f5c59
Signed-off-by: Benoit Socias (bso) <bso@odoo.com>
2023-06-27 13:44:35 +02:00
KC (ksc) 9989131931 [IMP] sales: updated down payment doc for RST and image reasons
closes odoo/documentation#4897

X-original-commit: 802dc467de
Signed-off-by: Kevin Scannell (ksc) <ksc@odoo.com>
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-06-27 01:34:51 +02:00
Brandon Seltenrich (BRSE) f1d048fdff [IMP] inventory: update expiration dates doc
closes odoo/documentation#4890

X-original-commit: 49029eda37
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Brandon Seltenrich (brse) <brse@odoo.com>
2023-06-26 23:23:09 +02:00
Jess Rogers (jero) 5cfd1623ae [IMP] live chat:update getting started doc
closes odoo/documentation#4883

X-original-commit: c24f4b237e
Signed-off-by: Jessica Rogers (jero) <jero@odoo.com>
2023-06-26 23:23:01 +02:00
Lara Martini (larm) 432d9bb10b [ADD] Employees: anning a new employee
closes odoo/documentation#4858

X-original-commit: 547ad6fca5
Signed-off-by: Lara Martini (larm) <larm@odoo.com>
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-06-26 21:09:52 +02:00
Donatienne Pirlot 1be31fda81 [ADD] localization: belgian accounting
closes odoo/documentation#4842

Id: 3143421
X-original-commit: 4d477a598f
Signed-off-by: Jonathan Castillo (jcs) <jcs@odoo.com>
2023-06-26 20:01:07 +02:00
Lara Martini (larm) 4d61833e46 [IMP] inventory: update strategies second person and images
closes odoo/documentation#4869

X-original-commit: 6201ee8760
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-06-24 04:41:55 +02:00
Jess Rogers (jero) 46d85d4f00 [IMP] helpdesk: update help center documentation
closes odoo/documentation#4875

X-original-commit: bafe824f38
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-06-24 01:03:01 +02:00
Xavier 5720cd2802 [ADD] Spreadsheet: templates
task-3235170

closes odoo/documentation#4863

X-original-commit: 1853f226e7
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
Co-authored-by: Xavier <xpl@odoo.com>
Co-authored-by: Loredana <lrpz@odoo.com>
2023-06-23 10:27:55 +02:00
“Audrey 9fc59e3237 [IMP] Payment providers - Stripe: Add missing webhook events
task-3373642

closes odoo/documentation#4780

X-original-commit: c04399c0b3
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2023-06-23 09:20:53 +02:00
Lara Martini (larm) 5b04581623 [IMP] Expenses: updating for new 16 design
closes odoo/documentation#4850

X-original-commit: 0433e84a0c
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-06-22 03:20:29 +02:00
Felicious 5c82ba7762 [IMP] inventory: adjust manual val for v.16
closes odoo/documentation#4846

X-original-commit: 4c750d1bb7
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
Co-authored-by: Sam Lieber (sali) <36018073+samueljlieber@users.noreply.github.com>
Co-authored-by: Zachary Straub <zst@odoo.com>
2023-06-22 02:02:47 +02:00
Jonathan b7316e2e2e [IMP] accounting: add tutorials links to chart of accounts
closes odoo/documentation#4836

X-original-commit: a85e064ffc
Signed-off-by: Jonathan Castillo (jcs) <jcs@odoo.com>
2023-06-21 22:40:59 +02:00
Jonathan 4e61b3585e [FIX] discuss: broken link in ice_servers.rst
closes odoo/documentation#4827

X-original-commit: 8efbe3ef84
Signed-off-by: Jonathan Castillo (jcs) <jcs@odoo.com>
2023-06-21 20:10:34 +02:00
Lara Martini (larm) 11401af3dd [IMP] Inventory: Updating for 16.0 no save button
closes odoo/documentation#4814

X-original-commit: e074580ffb
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-06-21 20:10:20 +02:00
Loredana Perazzo 3d0a19f329 [IMP] pos: write content on the Payment Terminals page
task-3358474

closes odoo/documentation#4798

X-original-commit: 2a5a45d6a4
Signed-off-by: Jonathan Castillo (jcs) <jcs@odoo.com>
Signed-off-by: Loredana Perazzo (lrpz) <lrpz@odoo.com>
2023-06-21 13:46:03 +02:00
Martin Trigaux 89bccb44ff [I18N] *: export 16.0 source terms
closes odoo/documentation#4801

X-original-commit: ad7b636275
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2023-06-20 22:03:07 +02:00
Christophe Monniez 899ee1c4c1 [FIX] deploy: reference the config parameter
The deploy documentation is assuming that `/etc/odoo.conf` is the
default config file, which is not the case.

With this commit, the configuration file references the cli
documentation.

closes odoo/documentation#4808

X-original-commit: 8aed7988ba
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Christophe Monniez (moc) <moc@odoo.com>
2023-06-20 18:02:00 +02:00
Christophe Monniez ab4cfb431f [IMP] maintain: switch to enterprise windows
* Update the title as `Upgrade Community to Enterprise` is confusing.
* Update 9.0 screenshots to more recent ones
* As the windows installer uses a real python interpreter, the install
  command is updated accordingly.

X-original-commit: f03b4ca649
Part-of: odoo/documentation#4808
2023-06-20 18:01:59 +02:00
Antoine Vandevenne (anv) 9f65cba6dc [FIX] legal: fix broken PDF link
Apply the fix of e6aa5dd0 to `terms_of_sale.rst` and
`terms_of_sale_fr.rst` that were forgotten.

closes odoo/documentation#4791

X-original-commit: 8cffb57dae
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-06-20 00:24:01 +02:00
“Dallas” 3b50c7a565 [MOV] accounting: update/move customer addresses to accounting
task-3304975

closes odoo/documentation#4778

X-original-commit: cf5a3276c9
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-06-16 23:01:31 +02:00
Xavier 4af52da507 [IMP] accounting/sales: default terms and conditions + quotation templates
task-3304938

closes odoo/documentation#4766

X-original-commit: 7ddbeb9223
Signed-off-by: Platteau Xavier (xpl) <xpl@odoo.com>
2023-06-16 12:19:00 +02:00
Tom Aarab (toaa) a7bb89ce47 [IMP] payment providers: PayPal
taskid-3184602.

16.0 -> Change extra fees category to :ref: main page payment provider
16.2 -> Remove Odoo credentials section
        Remove PDT identity token
        Remove merchant ID note
        Remove test mode section on environment test

Took the opportunity to redo the whole page.

closes odoo/documentation#4735

X-original-commit: ede03aa87b
Signed-off-by: Tom Aarab (toaa) <toaa@odoo.com>
2023-06-16 10:52:45 +02:00
KC (ksc) 532b6be429 [IMP] sales: updated pro-forma invoice doc
closes odoo/documentation#4762

X-original-commit: 3e4e8acfed
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-06-16 01:40:21 +02:00
Sam Lieber (sali) 80e8576263 [IMP] marketing: workflow_activities.rst - Format fixes
closes odoo/documentation#4754

X-original-commit: a09ca7bd0f
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-06-16 01:40:13 +02:00
Sam Lieber (sali) 75fd5255eb [IMP] marketing: testing_running.rst format fixes
closes odoo/documentation#4755

X-original-commit: 4b327417b0
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-06-16 00:30:01 +02:00
Sam Lieber (sali) 070ffa86c0 [IMP] Update rst for target_audiences.rst (v14)
closes odoo/documentation#4741

X-original-commit: 89c1c1b357
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-06-15 19:59:31 +02:00
tong-odoo 7b5ce24bba [IMP] accounting: update Hong Kong FPS content
Impacted versions:

- saas-16.4 or above

tast-3130633

closes odoo/documentation#4565

Related: odoo/odoo#122802
Related: odoo/upgrade#4727
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-06-15 17:36:11 +02:00
tong-odoo 05a09da86a [ADD] accounting: add Singapore localisations
Impacted versions:

- saas-16.4 or above

This commit improve below features:

- Singapore accounting documentation
- PayNow QR code documentation

task-3130633

Part-of: odoo/documentation#4565
2023-06-15 17:36:11 +02:00
“Audrey d0ca9fbafe [FIX] Adyen: Fix live/test URLs
closes odoo/documentation#4729

X-original-commit: 1f2f11c42b
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
Signed-off-by: auva-odoo <auva@odoo.com>
2023-06-15 09:05:22 +02:00
“Audrey c7713b218f [IMP] Website: Multiple websites
task-3190493

closes odoo/documentation#4715

X-original-commit: 1042ba86fb
Signed-off-by: auva-odoo <auva@odoo.com>
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-06-13 12:49:43 +02:00
Tom Aarab (toaa) 978bebf93c [IMP] accounting: OSS report
Added a section on where to find OSS reports and how to export them

task-3305037

closes odoo/documentation#4716

X-original-commit: 0494082a55
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
Signed-off-by: Tom Aarab (toaa) <toaa@odoo.com>
2023-06-13 08:44:23 +02:00
Loredana Perazzo 388003e6f1 [IMP] pos: update the register customers section
task-3357882

closes odoo/documentation#4706

X-original-commit: ee4b279e7c
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
Signed-off-by: Perazzo Loredana (lrpz) <lrpz@odoo.com>
2023-06-12 12:41:57 +02:00
Tom Aarab (toaa) 7a41103958 [IMP] accounting: follow-up reports
task-3316301.

closes odoo/documentation#4700

X-original-commit: 256ddb30ab
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
Signed-off-by: Tom Aarab (toaa) <toaa@odoo.com>
2023-06-12 12:41:29 +02:00
Morfosys 63a9962742 [IMP] l10n: update links in mexico.rst
Update the link for Smarter Web to the appropriate landing page for
Odoo.

closes odoo/documentation#4690

X-original-commit: 7510b4bb23
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-06-09 13:50:20 +02:00
Benjamin Hanquin 414bae03ec [IMP] odoo.sh: settings collaborators access matrix
Add the Upgrade submenu, Fix the Settings submenu to User only in
staging branches and improve the style in order to be similar to
supported versions matrix
(https://www.odoo.com/documentation/16.0/administration/maintain/supported_versions.html)

closes odoo/documentation#4689

X-original-commit: 98207740d5
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-06-09 13:50:17 +02:00
Lara Martini (larm) bbd5b4da50 [IMP] Expenses: updaitng out of date information and images
closes odoo/documentation#4553

closes odoo/documentation#4669

X-original-commit: 01f40f24ba
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-06-09 02:32:43 +02:00
Xavier-Do 2954463d6e [FIX] werkzeug version
https://werkzeug.palletsprojects.com/en/1.0.x/objects.inv now returns a
404.
2023-06-09 01:07:49 +02:00
“Audrey 18280ab5da [IMP] Adyen: Update directions for setting the URLs
task-3338125

closes odoo/documentation#4661

X-original-commit: 35d355f624
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: auva-odoo <auva@odoo.com>
2023-06-08 14:32:37 +02:00
Loredana Perazzo 1fb6059a90 [IMP] pos: update multi employees management
task-3005118

closes odoo/documentation#4657

X-original-commit: e3665393c3
Signed-off-by: Perazzo Loredana (lrpz) <lrpz@odoo.com>
2023-06-08 09:10:07 +02:00
Brandon Seltenrich (BRSE) ae506cb484 [FIX] inventory: fix two step doc
closes odoo/documentation#4652

X-original-commit: c9dcbf6d01
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Brandon Seltenrich (brse) <brse@odoo.com>
2023-06-07 23:26:04 +02:00
“Dallas” 10683c03c7 [IMP] accounting: update VIES VAT number validation
task-3329992

closes odoo/documentation#4641

X-original-commit: d472c646a8
Signed-off-by: Dallas Dean (dade) <dade@odoo.com>
2023-06-07 18:01:19 +02:00
luvi 898b0280db [IMP] web: add documentation for Core components
This commit adds some documentation for features recently added to SelectMenu
and TagsList components during the saas-16.3 development. A screenshot has
been provided to the advances use case of the SelectMenu, with a customization
of the bottom area of the dropdown, to create display a button allowing the
creation of items.

closes odoo/documentation#4631

X-original-commit: 0aad6eafda
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Luca Vitali <luvi@odoo.com>
2023-06-06 14:48:43 +02:00
Antoine Vandevenne (anv) 369aa4a662 [IMP] supported_versions: release saas-16.3
"September" didn't fit in the current table, so this commit also
replaces the previous implementation of the table by a `list-table`
directive... The real reason is that it was long due to ease future
updates of the table.

closes odoo/documentation#4629

X-original-commit: 3d1293757a
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-06-06 10:30:08 +02:00
Julien Castiaux 8459cf4db8 [FIX] install: minimal python version is 3.8
See odoo/odoo@44d60e3

closes odoo/documentation#4621

X-original-commit: 38e6d5d368
Signed-off-by: Julien Castiaux (juc) <juc@odoo.com>
2023-06-05 23:59:09 +02:00
Martin Trigaux 885bf17e4c [I18N] *: export saas-16.1 source terms
closes odoo/documentation#4619

X-original-commit: cedd35f653
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2023-06-05 14:50:16 +02:00
Tom Aarab (toaa) 844c2ef62e [IMP] accounting: OSS note removal
Removal of a note in 16 that only applies to versions below it.

task-3305037

closes odoo/documentation#4614

X-original-commit: adee414578
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-06-02 22:29:33 +02:00
Tom Aarab (toaa) f2ce4374aa [ADD] accounting: incoterms
Seperating Incoterms section from "Intrastat" doc to make it a stand
alone documentation.

task-3305222

closes odoo/documentation#4613

X-original-commit: 971543266a
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-06-02 22:29:31 +02:00
tiku-odoo 670f8bb76c [NEW]IoT- Windows IoT doc
closes odoo/documentation#4599

X-original-commit: f449011c39
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-06-02 00:35:55 +02:00
Brandon Seltenrich (BRSE) a4461a7ee4 [FIX] inventory: fix sn doc typos
closes odoo/documentation#4595

X-original-commit: 17b53be028
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Brandon Seltenrich (brse) <brse@odoo.com>
2023-06-01 20:17:13 +02:00
Brandon Seltenrich (BRSE) c30ecfb20d [FIX] inventory: fix note in inv val config
closes odoo/documentation#4594

X-original-commit: 5a55437adc
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Brandon Seltenrich (brse) <brse@odoo.com>
2023-06-01 20:17:10 +02:00
Jess Rogers (jero) 1eb2037c30 [IMP] helpdesk: combine and update invoice time docs
closes odoo/documentation#4579

X-original-commit: b7efbb61b1
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Jessica Rogers (jero) <jero@odoo.com>
2023-06-01 17:55:15 +02:00
“Audrey e3a28d6cf1 [IMP] payment providers: Wire Transfer
task-3301001

closes odoo/documentation#4571

X-original-commit: 882b4b852b
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
Signed-off-by: auva-odoo <auva@odoo.com>
2023-05-31 14:23:26 +02:00
Loredana Perazzo e99891c7b7 [ADD] k7e: how to manage articles (add, del, move, structure, share).
Task-3049957

closes odoo/documentation#4557

X-original-commit: 163d653468
Signed-off-by: Perazzo Loredana (lrpz) <lrpz@odoo.com>
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-05-30 10:31:52 +02:00
Olivier Dony ac0e703863 [FIX] legal: fix link to pt_BR PDF version 2023-05-26 20:04:54 +02:00
oco-odoo 21b604e0db [IMP] accounting: subformulas for aggregation engine in custom reports
https://github.com/odoo/enterprise/commit/f39862263c7e2332468a69736589a35d66d87b16
introduced two new subformulas for aggregations, but they were still
missing in the doc.

closes odoo/documentation#4562

X-original-commit: de095cc4ad
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-05-26 17:29:32 +02:00
“Dallas” 4566a8ec30 [IMP] accounting: update epc qr code
task-3336175

closes odoo/documentation#4545

X-original-commit: fd23308e93
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
Signed-off-by: Dean Dallas (dade) <dade@odoo.com>
2023-05-26 16:15:51 +02:00
Olivier Dony 57e2f90924 [FIX] legal: add pt_BR translation of OEEL
Courtesy of LANA :)

closes odoo/documentation#4552

X-original-commit: a718922b0c
Signed-off-by: Olivier Dony (odo) <odo@odoo.com>
2023-05-26 11:40:39 +02:00
Olivier Dony d7324b6950 [FIX] legal: rename pt_BR + build PDF version
X-original-commit: 0df79a70e0
Part-of: odoo/documentation#4552
2023-05-26 11:40:39 +02:00
jopa-odoo c2cfc63466 [ADD] Legal: Portuguese (Brasil) translation of Odoo Enterprise Agreement
X-original-commit: 966bade927
Part-of: odoo/documentation#4552
2023-05-26 11:40:39 +02:00
“Chiara 3894c41631 [IMP] accounting: fiscal position update
task-3272939

closes odoo/documentation#4532

X-original-commit: 440c18ca01
Signed-off-by: Platteau Xavier (xpl) <xpl@odoo.com>
Signed-off-by: chiaraprattico <chpr@odoo.com>
2023-05-25 12:23:36 +02:00
Gauthier Wala (gawa) 99c1636974 [IMP] accounting: default taxes in taxes.rst
Since https://github.com/odoo/odoo/pull/115222, a new line on an invoice
won't have the default sales tax put on by default. If there are no
taxes on the product, the account or from predictive, the tax will stay
empty. Its use has been restricted back to the tax put on new products.
It is still used in Accounting Firms mode, as we don't want people
to have to input the product when quick encoding.

task-3045026

closes odoo/documentation#4533

X-original-commit: 768c2b231b
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-05-25 01:08:42 +02:00
Brandon Seltenrich (BRSE) 2a11aa8a82 [IMP] inventory: fix and update lots
closes odoo/documentation#4528

X-original-commit: 5bc3b94b61
Signed-off-by: Brandon Seltenrich (brse) <brse@odoo.com>
2023-05-24 18:17:46 +02:00
“Dallas” 76b013bbe3 [IMP] contributing: change gui abbreviation to lower case
closes odoo/documentation#4514

X-original-commit: 20972dc033
Signed-off-by: Dean Dallas (dade) <dade@odoo.com>
2023-05-24 15:45:29 +02:00
“Chiara 9783721529 [IMP] accounting: improve accounting concept
task-2846856

closes odoo/documentation#4520

X-original-commit: 4fc24468e4
Signed-off-by: Platteau Xavier (xpl) <xpl@odoo.com>
Signed-off-by: chiaraprattico <chpr@odoo.com>
2023-05-24 08:39:37 +02:00
Tom Aarab (toaa) e7dad58064 [ADD] Sales: loyalty and discount programs
closes odoo/documentation#4474

X-original-commit: 04f67c0b3f
Signed-off-by: Melanie Nguyen (meng) <meng@odoo.com>
2023-05-23 16:31:55 +02:00
Tom Aarab (toaa) 93b9d802e7 [ADD] accounting: VAT units
task-2557013

16.0: Line 36 = "Create" --> "New"

closes odoo/documentation#4503

X-original-commit: 214ce3075c
Signed-off-by: Aarab Tom (toaa) <toaa@odoo.com>
2023-05-23 14:52:19 +02:00
tiku-odoo a01bd25041 [IMP]Misc:SysParm-edits-email-doc
closes odoo/documentation#4494

X-original-commit: 9267ce21a5
Signed-off-by: Timothy Kukulka (tiku) <tiku@odoo.com>
2023-05-22 23:18:24 +02:00
Melanie Nguyen (meng) 9fcd175e58 [IMP] subscriptions: update subscription plans
closes odoo/documentation#4490

X-original-commit: 71024deb7b
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-05-22 22:10:44 +02:00
Brandon Seltenrich (BRSE) 863a04708c [IMP] inventory: update serial numbers doc
closes odoo/documentation#4486

X-original-commit: af4ad4cf4d
Signed-off-by: Brandon Seltenrich (brse) <brse@odoo.com>
2023-05-22 20:11:44 +02:00
Jonathan Castillo (jcs) 8553f68bb8 [MOV] accounting: restructuration of the accounting documentation
This commit improves the structure of the accounting documentation by
- reducing the levels necessary to reach the information
- grouping some docs
- moving content to their parent category page (content in all levels)
- renaming some sections to reflect the structure of the app better

task-3330093

closes odoo/documentation#4479

X-original-commit: c68cc154ed
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-05-22 11:43:14 +02:00
Olivier Dony 36d1e577fe [CHG] legal: partnership contract v11 (updated level requirements + clarifications) 2023-05-19 12:41:44 +02:00
Mathieu Duckerts-Antoine 70b69857e9 [IMP] abstract actions: adapt code after some legacy code removal
closes odoo/documentation#3722

Signed-off-by: Géry Debongnie <ged@odoo.com>
2023-05-17 14:46:58 +02:00
Mathieu Duckerts-Antoine b4ebef7d20 [IMP] gantt: adapt doc to last changes brought during owl conversion
Part-of: odoo/documentation#3722
2023-05-17 14:46:58 +02:00
Mathieu Duckerts-Antoine 1491cce9d6 [IMP] views: document attributes "class" and "js_class"
Part-of: odoo/documentation#3722
2023-05-17 14:46:58 +02:00
Jonathan Castillo (jcs) 16224865de [FIX] accounting: mark salt edge bank sync provider available worldwide
task-3329454

closes odoo/documentation#4446

Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-05-17 13:38:07 +02:00
Christophe Monniez 38b1d8c153 [FIX] requirements: bump libsass to match odoo
In Odoo, the libsass version was bumped to 0.20.1 in order to match the
Jammy version. As a consequence, in the Docker images on the runbot this
strange behavior was observed during the image build:

* the debian package is installed -> 0.20.1
* the documentation requirements are installed -> 0.18.0
* the odoo requirements are installed -> 0.20.1

This is useless and moreover, the final version used is the one from pip
instead of the Debian package.

closes odoo/documentation#4397

X-original-commit: dcc819469a
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Christophe Monniez (moc) <moc@odoo.com>
2023-05-16 08:24:19 +02:00
Jess Rogers (jero) 129a8f33ed [IMP] helpdesk: update aftersales services
closes odoo/documentation#4438

X-original-commit: cbffc99b0f
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-05-15 23:31:42 +02:00
Jonathan Castillo (jcs) f8bcfcb83a [REM] accounting: remove page about purchase receipts
Sale and purchase receipts aren't really useful anymore. However, they
are left in the app for corner cases and to avoid upgrade issues. Since
this page is already deprecated, it is best to remove it.

closes odoo/documentation#4434

X-original-commit: b3db7fdd48
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-05-15 18:50:24 +02:00
Tommy (tong) f71915e945 [ADD] accounting: add Hong Kong localisations
closes odoo/documentation#4309

Related: odoo/odoo#120050
Signed-off-by: Platteau Xavier (xpl) <xpl@odoo.com>
2023-05-15 11:41:23 +02:00
Tom Aarab (toaa) 9556b85133 [IMP] accounting: follow-up reports
taskid-2057352.

Forward to master.

closes odoo/documentation#4390

X-original-commit: 767ee598ac
Signed-off-by: Aarab Tom (toaa) <toaa@odoo.com>
2023-05-12 19:55:02 +02:00
CVDE-odoo 26f00581c4 [ADD] developer/howto: guide for theming
A complete guide on how to create a custom website theme for Odoo

closes odoo/documentation#4420

X-original-commit: 892fd3e2ac
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-05-12 08:17:09 +02:00
Melanie Nguyen (meng) 8460cbc372 [IMP] subscriptions: update product configuration
closes odoo/documentation#4419

X-original-commit: e650e86173
Signed-off-by: Melanie Nguyen (meng) <meng@odoo.com>
2023-05-12 08:17:06 +02:00
Antoine Vandevenne (anv) fd933208d3 [IMP] tutorials/getting_started: rework the environment setup guide
This commit replaces a big chunk of the instructions relative to the
environment setup with a reference to the equivalent steps listed in the
contribution guide. It also moves the content of the "Create your first
PR" section from chapter 16 to chapter 2, as readers were struggling
with the Git configuration required to push their work to GitHub as they
progressed through the tutorial.

closes odoo/documentation#4413

X-original-commit: 26e12696c1
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-05-11 18:25:41 +02:00
Jess Rogers (jero) bf294f37cc [IMP] helpdesk: updated 16.0 reporting doc
closes odoo/documentation#4409

X-original-commit: 84390f4461
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-05-11 16:01:22 +02:00
Loredana Perazzo b29ced49c5 [IMP] pos: note about businesses requirements to use Adyen
task-3251524

closes odoo/documentation#4372

X-original-commit: 6740ad7811
Signed-off-by: Perazzo Loredana (lrpz) <lrpz@odoo.com>
2023-05-11 13:55:09 +02:00
Ahmed Elhadi 76904fe8fa [IMP] sales: Update different_addresses.rst
closes odoo/documentation#4384

X-original-commit: 2d630dffb6
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-05-10 21:18:06 +02:00
Xavier 60133f01dd [IMP] upgrade: clarify and update the SLA section
task-3300955

closes odoo/documentation#4365

X-original-commit: 8763fef3f7
Signed-off-by: Platteau Xavier (xpl) <xpl@odoo.com>
2023-05-09 06:08:01 +02:00
Loredana Perazzo 5736d332d2 [IMP] pos: correct a typo in note
task-3296759

closes odoo/documentation#4363

X-original-commit: 89a1a95a2b
Signed-off-by: Platteau Xavier (xpl) <xpl@odoo.com>
Signed-off-by: Perazzo Loredana (lrpz) <lrpz@odoo.com>
2023-05-09 06:07:56 +02:00
“Audrey d30c04ba6a [ADD] website: cookies bar
Task ID: 3297795

closes odoo/documentation#4349

X-original-commit: 3fbe44b49d
Related: odoo/odoo#120718
Signed-off-by: auva-odoo <auva@odoo.com>
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-05-05 21:36:23 +02:00
Xavier 2472f29e32 [IMP] studio: add a note about duplicating standard reports
Task ID: 3301013

closes odoo/documentation#4342

X-original-commit: af93e6532d
Signed-off-by: Platteau Xavier (xpl) <xpl@odoo.com>
2023-05-05 08:06:08 +02:00
Sam Lieber (sali) 64ca4e915c [IMP] inventory: delivery orders and incoming shipments restructure
closes odoo/documentation#4336

X-original-commit: bea00ecb40
Related: odoo/odoo#120535
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-05-04 21:32:29 +02:00
John Holton (hojo) 92110f5948 [ADD] Inventory: add create second warehouse
closes odoo/documentation#4329

X-original-commit: f2c1cb228a
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-05-03 06:25:14 +02:00
Jonathan Castillo (jcs) e10b927f08 [ADD] UAE localization
closes odoo/documentation#4314

Taskid: 2906051
X-original-commit: eea4029a33
Signed-off-by: Platteau Xavier (xpl) <xpl@odoo.com>
2023-05-02 18:06:56 +02:00
Melanie Nguyen (meng) 2d87962b37 [ADD] subscriptions: add ecommerce configuration
closes odoo/documentation#4308

X-original-commit: 591532ecca
Signed-off-by: Melanie Nguyen (meng) <meng@odoo.com>
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-05-02 15:59:07 +02:00
tiku-odoo da79ee1c06 [IMP]Maintain:Fix typo in Azure Mail
closes odoo/documentation#4287

X-original-commit: d2e6c1d647
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-05-02 14:47:21 +02:00
Timothy Kukulka (tiku) 5683287892 [IMP] Google Oauth Docs edits final review
closes odoo/documentation#4303

X-original-commit: 5b63bfcba9
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-04-30 20:08:49 +02:00
Melanie Nguyen (meng) 09ce44f314 [IMP] sales: update customer addresses
closes odoo/documentation#4293

X-original-commit: 07249080ca
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-04-28 17:22:55 +02:00
Brandon Seltenrich (BRSE) 819864f0c2 [IMP] purchase: split purchase agreements docs
closes odoo/documentation#4290

X-original-commit: a217787ad3
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Brandon Seltenrich (brse) <brse@odoo.com>
2023-04-28 16:04:41 +02:00
Antoine Vandevenne (anv) 8c29d1fd6a [FIX] reference/services: mark optional the params parameter of rpc
closes odoo/documentation#4282

X-original-commit: c1b38dc1f3
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-04-27 18:25:21 +02:00
Antoine Vandevenne (anv) b1a76aec63 [IMP] tutorials/js_framework: reword, clarify and improve instructions
X-original-commit: b58dbb1fbb
Part-of: odoo/documentation#4282
2023-04-27 18:25:21 +02:00
Antoine Vandevenne (anv) 08f472ef28 [IMP] tutorials/js_framework: freeze GitHub links with line numbers
A few links were already outdated. Either the referenced code was no
longer on the same line, or the file didn't exist anymore.

This commit freezes all links targeting a specific line on the odoo/odoo
repository by selecting a specific commit.

X-original-commit: 6e746c851f
Part-of: odoo/documentation#4282
2023-04-27 18:25:20 +02:00
Antoine Vandevenne (anv) d90e09c8b7 [IMP] tutorials/js_framework: retarget links to the current major branch
Commits pushed on the odoo/tutorials repository are not automatically
forward-ported, which makes it cumbersome to keep all SaaS branches up
to date.

Because of this, and because Odoo developers are very unlikely to follow
tutorials specific to a SaaS branch, links to odoo/tutorials now target
the current major branch, or master if applicable. SaaS branches have
also been deleted from the odoo/tutorials repository.

X-original-commit: ce14b2cfb5
Part-of: odoo/documentation#4282
2023-04-27 18:25:20 +02:00
Sam Lieber (sali) 446ecbfc39 [REF] surveys: remove overview folder
closes odoo/documentation#4276

X-original-commit: 50824b6677
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-04-26 12:44:44 +02:00
Brandon Seltenrich (BRSE) 1f50e937d5 [IMP] inventory: update stock_warehouses
closes odoo/documentation#4269

X-original-commit: 31889ddc3b
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-04-26 02:03:33 +02:00
Jonathan 918766abe1 [IMP] contributing/dev: add cd command to the git config section
closes odoo/documentation#4259

X-original-commit: 817e332160
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-04-25 14:07:43 +02:00
Jess Rogers (jero) 3a124f000c [IMP] helpdesk: update ratings doc
closes odoo/documentation#4252

X-original-commit: 6c6f2398dd
Signed-off-by: Jessica Rogers (jero) <jero@odoo.com>
2023-04-25 14:07:27 +02:00
Géry Debongnie adb845eb17 [IMP] developer/tutorials: separate js framework tutorial in two parts
This commit splits the 7 chapters of the JS tutorial in two
smaller and more focused tutorials:
- a basic one (Discover the JS framework)
- and an advanced one (Master the odoo web framework)

closes odoo/documentation#4248

X-original-commit: b6b9de70d2
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-04-25 11:22:48 +02:00
Leonardo Pavan Rocha fe2111ccbf [IMP] web: add quick_create_form_view_id attribute
In https://github.com/odoo/odoo/pull/114827, a new attribute was added in
calendar views to allow passing the id of a form view that is used internally
in the calendar module to show a different form view when quick_creating an
event.

task-3129030

closes odoo/documentation#4221

Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2023-04-24 18:26:01 +02:00
Jonathan 27647fcb38 [MOV] pos: restructuration of pos toctree
task-3284514

+ update of access pos settings + + update menu button + cash register
Task-3256407

closes #4212

closes odoo/documentation#4242

X-original-commit: f851ea0e0a
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
Co-authored-by: Jonathan Castillo <jcs@odoo.com>
Co-authored-by: Loredana Perazzo <lrpz@odoo.com>
2023-04-22 18:41:10 +02:00
KC (ksc) 6d25f69513 [ADD] social marketing: added social marketing documentation to v14
closes odoo/documentation#4235

X-original-commit: 42148acbec
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-04-22 06:54:02 +02:00
Artygo8 ef4c3555bc [IMP] reference/extract: update documentation
task-3071317

closes odoo/documentation#4224

X-original-commit: 07eef81a95
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Arthur Gossuin (goa) <goa@odoo.com>
2023-04-22 06:53:41 +02:00
Jonathan 56cf4288c7 [FIX] website: missing redirection for plausible.rst
The redirection rule for plausible.rst was missing from the forward-port
in PR #4107. Because of that, a link in the app leads to a 404 page
instead of the appropriate doc page. This commit fixes it.

closes odoo/documentation#4216

X-original-commit: b40fd5b284
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-04-19 23:41:42 +02:00
Zuzanna Luczynska 1fddd2cd67 [IMP] field service: default warehouse
task-2948598

closes odoo/documentation#4208

X-original-commit: 3ae4fbab84
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-04-19 21:58:42 +02:00
Rémy Voet (ryv) 584e44396b [ADD] add documentation about Model._read_group
task-3001022

odoo/odoo#110737

closes odoo/documentation#4064

Related: odoo/enterprise#38639
Signed-off-by: Rémy Voet <ryv@odoo.com>
2023-04-19 21:58:12 +02:00
John Holton (hojo) f4bc10e4b0 [ADD] Maintenance: add new equipment
closes odoo/documentation#4203

X-original-commit: eb067d6dc1
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-04-19 00:37:56 +02:00
Julien Van Roy 67ddab9fbc [IMP] accounting: send and print workflow in electronic_invoicing
From saas-16.2, the choice of the format can be made from the partner
form view (for the formats present in `account_edi_ubl_cii` only). And
the attachment are generated during the Send & Print flow.

PR to select the EDI format based on the partner:
https://github.com/odoo/odoo/pull/115934

PR refactoring the Send & Print flow:
https://github.com/odoo/odoo/pull/111857

closes odoo/documentation#4197

X-original-commit: 2e9789e436
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-04-18 23:35:19 +02:00
Jonathan 53aa00c871 [IMP] fiscal localizations: configuration
task-3277592

closes odoo/documentation#4195

X-original-commit: 5ce77e9fc7
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-04-18 09:24:47 +02:00
Mahmoud Metwally d69383d7ae [FW][FIX] howtos/company: fix typos
closes odoo/documentation#4183

Forward-port-of: odoo/documentation#4147
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-04-17 18:01:15 +02:00
Zuzanna Luczynska f9e15dffd5 [MOV] field service: improve the structure and merge docs
Currently, there are two pages about onsite interventions in two
separate categories. This task aims to merge both pages into a single
one and remove the useless categories.

task-3275322

closes odoo/documentation#4192

X-original-commit: 151e0554fa
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-04-15 14:54:55 +02:00
hapa-odoo 4b15e67358 [ADD] fiscal localizations: Indian GST service
In this commit, I have added documentation for GST return filing.
I have explained how to register on GST Portal, configure it in odoo,
and enable GST API Access on GST Portal. I have also explained different
GSTR Report.

task-3272960

closes odoo/documentation#4172

X-original-commit: 5280cb147e
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-04-15 13:57:52 +02:00
Elisabeth Dickinson f9f2785d9c [IMP] odoo_theme: fix menu links
When searching for a word, if that word happens to be in the menu, the
`display-flex` on the `a` would remove the space around the word because
a `span class=highlight` gets added around it.
Fixed by changing `display-flex` on the `a` to display-block (but
keeping it for `.o_toc_entry_wrapper`)

closes odoo/documentation#4185

X-original-commit: c758071861
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-04-14 19:45:57 +02:00
Julien Van Roy 0f0144abf8 [IMP] accounting/electronic_invoicing: add SG einvoicing format
Since commit
https://github.com/odoo/odoo/commit/bd06decccfffa5629c21c41a80280b6f84884bae,
the 'SG BIS Billing 3.0' format is available for singaporean companies.

closes odoo/documentation#4166

X-original-commit: 875d5ea61f
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-04-14 11:49:35 +02:00
Mahmoud Metwally 3117592e26 [FW][FIX] developer/web_services: fix typo
closes odoo/documentation#4160

Forward-port-of: odoo/documentation#4146
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-04-14 11:49:17 +02:00
Julien Van Roy e4ab323e9e [IMP] accounting/electronic_invoicing: remove useless section
In previous versions (from 14.0 to saas-15.4), `account_edi_ubl_cii` was
not auto-installed. From 16.0, it is. Thus, we no longer need the
section advising to install this module.

Manifest in saas-15.4:
https://github.com/odoo/odoo/blob/saas-15.4/addons/account_edi_ubl_cii/__manifest__.py
Manifest in 16.0:
https://github.com/odoo/odoo/blob/16.0/addons/account_edi_ubl_cii/__manifest__.py

closes odoo/documentation#4163

X-original-commit: 136187f0fb
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-04-14 10:45:06 +02:00
Martin Trigaux 62a362f30a [I18N] *: export source terms
closes odoo/documentation#4150

X-original-commit: d53ba8c7e2
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2023-04-13 17:57:26 +02:00
wangting 9fb8c5c354 [FIX] tutorials/js_framework: fix typo
closes odoo/documentation#4148

Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-04-13 16:40:41 +02:00
Martin Trigaux 1e39949363 [IMP] reference: update markup documentation
closes odoo/documentation#3612

Related: odoo/odoo#111850
Related: odoo/enterprise#36728
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2023-04-13 16:39:45 +02:00
Brandon Seltenrich (BRSE) afe0282420 [IMP] inventory: update owned_stock
closes odoo/documentation#4143

X-original-commit: 1289a9ec45
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Brandon Seltenrich (brse) <brse@odoo.com>
2023-04-13 05:07:57 +02:00
Loan (LSE) 74f4204857 [IMP] iot: add documentation regarding HTTPS certificate
Also include details/troubleshoot/solutions for redundant
support issues:
 - Error code details for HTTPS certificate generation
   (see: https://github.com/odoo/odoo/pull/114993 )
 - DNS issue with HTTPS domain

 OPW-3227004

closes odoo/documentation#4137

X-original-commit: 6f4822cb2b
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-04-13 05:07:52 +02:00
Elisabeth Dickinson 81d1f2d21b [IMP] odoo_theme: design improvements
Revamp of the side menu;
Round all borders for consistency with the buttons;
Improve .sig-* and .o_code elements;
Improve sphinx-tabs hover effect;

task-3046383

closes odoo/documentation#4114

X-original-commit: 3056c7b62d
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-04-12 12:26:14 +02:00
Elisabeth Dickinson 9dc32cdd4e [IMP] odoo_theme: general cleanup
A general reorganization of the code was needed for more clarity.
The different markup styles have been grouped together under a common
"chapter", comments have been rewritten and example pages have been
added for context.

Some levels have been removed Where there were too many for no reason.
By removing one level of styles (e.g.: `#wrap`) we avoid needing to
force overrides or adding `!important` to our code.
⌙ e.g.: before commit 9ef86cd93d8c6fc0fd96b437f629237e7a562c6e,
`.o_spoilers .accordion-body >:first-child` was being involuntarily
overridden.

task-3046383

X-original-commit: 620e3c33ef
Part-of: odoo/documentation#4114
2023-04-12 12:26:14 +02:00
Antoine Vandevenne (anv) febf7c4188 [IMP] odoo_theme: tweak the HTML structure of TOC entries
task-3046383

X-original-commit: 877d1de3c2
Part-of: odoo/documentation#4114
2023-04-12 12:26:14 +02:00
Antoine Vandevenne (anv) 71f3ea88bd [IMP] extensions/custom_admonitions: tweak the HTML structure of dfn
The structure of the `dfn` role is changed from its default
`<em class="dfn">text</em>` to
`<span class="dfn"><span>text</span></span>` to ease the styling.

task-3046383

X-original-commit: 281a893540
Part-of: odoo/documentation#4114
2023-04-12 12:26:13 +02:00
Jonathan Castillo (jcs) ad4e8e649a [MOV] calendar: "Calendar" app from "Misc" to "Productivity"
To improve the structure of the documentation, the "Miscellaneous"
section should be limited as much as possible.

This commit:
- renames "Calendars" into "Calendar" (as the app name)
- moves the app from the "Miscellaneous" section to the "Productivity"
  section
- fixes the wrong file structure to follow the toc
  (e.g. general/calendars/outlook/outlook_calendar -> productivity/calendar/outlook)

task-3217827

closes odoo/documentation#4128

X-original-commit: 3d2c5d7c16
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-04-12 08:05:50 +02:00
Jonathan Castillo (jcs) 5cfec84463 [MOV] live chat: structure
task-3269837

closes odoo/documentation#4129

X-original-commit: 1685449f61
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-04-12 07:07:47 +02:00
Jonathan Castillo (jcs) 59066fed29 [MOV] website: structure
As a first step to update the doc - at last! - we first need to update
its structure.

task-3269837

X-original-commit: 180963cd89
Part-of: odoo/documentation#4129
2023-04-12 07:07:46 +02:00
fvz-odoo eabb865415 [l10n_mx] Update exempt tax configuration.
In Mexico there are two 0% taxes, 0% VAT and 0% exempt VAT. This change
makes the tip clearer so users do not confuse both taxes. Forward to
master.

closes odoo/documentation#4120

X-original-commit: 5ef339fe82
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-04-11 19:48:38 +02:00
Jess Rogers (jero) e4624b9fdb [IMP] helpdesk: update ticket closing
closes odoo/documentation#4104

X-original-commit: a1b86849b7
Signed-off-by: Jessica Rogers (jero) <jero@odoo.com>
2023-04-11 18:49:34 +02:00
Victor Feyens b5140e2d22 [ADD] tests: image size checker
closes odoo/documentation#4100

X-original-commit: 380a5499de
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Co-authored-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-04-11 15:17:26 +02:00
Brandon Seltenrich (BRSE) 4314b73e2c [IMP] purchase: update bill control policies doc
closes odoo/documentation#4094

X-original-commit: c59db7d9f8
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-04-11 01:35:58 +02:00
John Holton (hojo) 46881ee8fb [IMP] Inventory: Update dropshipping
closes odoo/documentation#4082

X-original-commit: bbbca62f6f
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-04-10 23:07:48 +02:00
John Holton (hojo) e445c1117b [ADD] Quality: add Create quality alerts
closes odoo/documentation#4090

X-original-commit: 1b640a7a30
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-04-10 22:10:54 +02:00
Jonathan Castillo (jcs) 6b4bc0b680 [IMP] subscriptions: overhaul of the basic docs
This commit improves the structure of the Subscription doc and updates
its content (recurring products, subscription plans, sales flow)

task-3222232

closes odoo/documentation#4070

X-original-commit: 878fc0e21f
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
Co-authored-by: Xavier Platteau <xpl@odoo.com>
Co-authored-by: Tom Aarab <toaa@odoo.com>"
2023-04-08 13:40:25 +02:00
Sam Lieber (sali) cd55555d79 [IMP] purchase: update reordering rules config doc
closes odoo/documentation#4076

X-original-commit: 728a462762
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-04-08 05:27:49 +02:00
Jess Rogers (jero) c44801c718 [IMP] helpdesk: updated sla policies
closes odoo/documentation#4069

X-original-commit: 401a19fcdc
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-04-08 00:54:56 +02:00
“Chiara 2eafd205de [IMP] accounting: update batch payments
closes odoo/documentation#4058

X-original-commit: 67f10d3eca
Signed-off-by: Platteau Xavier (xpl) <xpl@odoo.com>
Signed-off-by: chiaraprattico <chpr@odoo.com>
2023-04-06 13:51:59 +02:00
John Holton (hojo) 2c819a05c2 [IMP] Inventory: Update inter-warehouse replenishment
closes odoo/documentation#4046

X-original-commit: 6f6e018db4
Signed-off-by: John Holton (hojo) <hojo@odoo.com>
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-04-06 04:16:51 +02:00
KC (ksc) 6a597e2e94 [ADD] sms marketing: added essentials/getting started docs
closes odoo/documentation#4051

X-original-commit: e8ad53cead
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-04-06 03:15:42 +02:00
Jonathan Castillo (jcs) 03dc488290 [IMP] accounting: bank statements in the transactions page
task-3264491

closes odoo/documentation#4041

X-original-commit: 2d7a48a65e
Signed-off-by: Platteau Xavier (xpl) <xpl@odoo.com>
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-04-05 23:25:15 +02:00
Melanie Nguyen (meng) 5c2e78c8a5 [FIX] crm: replace old lead scoring content with predictive lead scoring
closes odoo/documentation#4030

X-original-commit: 9f72036be8
Signed-off-by: Melanie Nguyen (meng) <meng@odoo.com>
2023-04-05 21:03:54 +02:00
Tiffany Chang (tic) ab1563e7c7 [REF] developer: rewrite sql view as a howto
SQL view was formerly part of the dashboard tutorial which is now
obsolete. Since creating a SQL view as a tutorial does not make sense
anymore, it has been converted into a simple howto.

closes odoo/documentation#4035

Task: 3226581
X-original-commit: 7124542ed9
Signed-off-by: Tiffany Chang <tic@odoo.com>
2023-04-05 17:31:58 +02:00
Tiffany Chang (tic) e18b24a176 [REM] developer: remove references to web_dashboard view
Since odoo/enterprise#31641 the dashboard view no longer exists since it
is now replaced with spreadsheet_dashboard, therefore we remove it from
the backend Views documentation.

Task: 3226581
X-original-commit: e2c880aafe
Part-of: odoo/documentation#4035
2023-04-05 17:31:58 +02:00
fdardenne 56a5b0480e [IMP] create JavaScript howtos
The JavaScript cheatsheet is outdated, we therefore remove it and
replace it by multiple howtos:

- Create a view from scratch
- Extending an existing view
- Create a field from scratch
- Extend an existing field
- Create a client action

There is other subjects to introduce as the web framework is big. Other
future contributions will cover them.

closes odoo/documentation#4020

X-original-commit: 7e4435deb8
Signed-off-by: Dardenne Florent (dafl) <dafl@odoo.com>
2023-04-05 13:57:53 +02:00
“Audrey 931920bc31 [IMP] payment_providers/flutterwave: recommend ticking all checkboxes
task-3254461

closes odoo/documentation#4023

X-original-commit: 0a384a2a35
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: auva-odoo <auva@odoo.com>
2023-04-05 09:42:34 +02:00
Tom Aarab (toaa) 2b784e9ec1 [ADD] ecommerce: performance monitoring
Adding a doc page on performance monitoring and analysis for eCommerce
websites

closes odoo/documentation#4019

Taskid: 3246984
X-original-commit: 4c623b69b1
Signed-off-by: Platteau Xavier (xpl) <xpl@odoo.com>
Signed-off-by: Aarab Tom (toaa) <toaa@odoo.com>
2023-04-05 07:44:42 +02:00
luvi 5e248b7017 [IMP] web: Add core components documentation
This commit adds the documentation for core components that have
been improved or moved during the Studio refactor. Some new props
have been added, and the documentation is now present as expected.

Components involved:
- Notebook
- SelectMenu
- TagsList

closes odoo/documentation#4007

Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-04-04 18:07:11 +02:00
kcv-odoo ff846cc48d [IMP] backend: add disable_linking option in cohort view
Related PR: https://github.com/odoo/enterprise/pull/37396

task-3186590

closes odoo/documentation#3646

Related: odoo/enterprise#37396
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-04-04 18:07:01 +02:00
Loredana Perazzo 41e1bda1cc [ADD] pos: how to add/modify customer notes from POS UI
Task ID: 2622090

closes odoo/documentation#4013

X-original-commit: 3a0e23f3f9
Signed-off-by: Platteau Xavier (xpl) <xpl@odoo.com>
Signed-off-by: Perazzo Loredana (lrpz) <lrpz@odoo.com>
2023-04-04 16:02:03 +02:00
oskarenablebanking ae399fc411 [ADD] accounting: enablebanking
task-3232701

closes odoo/documentation#4002

X-original-commit: cc194eb979
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-04-03 21:47:10 +02:00
Jonathan Castillo (jcs) d70bd0b773 [MOV] accounting: structure of bank sync docs
X-original-commit: d694c6c9f5
Part-of: odoo/documentation#4002
2023-04-03 21:47:09 +02:00
Zuzanna Luczynska ddb34dd21c [ADD] field service: default warehouse
task-2948598

closes odoo/documentation#3999

X-original-commit: 40ef1a26f9
Signed-off-by: zulu-odoo <zulu@odoo.com>
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-04-03 18:08:55 +02:00
Benoit Socias 39d5455110 [IMP] tutorials: add warning about mutable global variables
The whole concept of multi-tenancy is not really approached within the
tutorial.

This commit adds a warning about never using mutable global variables
within odoo to seed the idea in the reader's mind.

task-3059110

closes odoo/documentation#3991

X-original-commit: 1ce7166f49
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Benoit Socias (bso) <bso@odoo.com>
2023-04-03 13:55:23 +02:00
“Audrey 59bf54b668 [IMP] Website: review website translation page
task-3255779

closes odoo/documentation#3978

X-original-commit: 67bada80e6
Signed-off-by: auva-odoo <auva@odoo.com>
2023-04-03 10:41:43 +02:00
Felicious d097e51578 [IMP]: add manual valuation section
Add images and manual valuation

add ref tag and retitle doc to sentence case

Remove trailing whitespaces

update explanation

closes odoo/documentation#3984

X-original-commit: 71ede7a3d4
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-04-01 04:55:26 +02:00
Raphael Collet 4f3531f81b [IMP] tests: server-side Form and other tests features
closes odoo/documentation#3968

Related: odoo/enterprise#38858
Related: odoo/odoo#116779
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-03-31 17:02:46 +02:00
FrancoisGe 679504a05c [REF] web: remove allow_group_range_value
The allow_group_range_value option is used in one arch of a kanban in
CRM. We therefore believe that this is not standard behaviour.
So we decided to move this logic to the custom view that uses it.

closes odoo/documentation#3964

Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-03-30 13:58:28 +02:00
Tom Aarab (toaa) 5f8faeac1d [IMP] Adyen: additional minimum requirements for users
Adding requirements for users to use Adyen. Forward to master.

closes odoo/documentation#3963

Taskid: 3159712
X-original-commit: 9b0a54b7f2
Signed-off-by: Aarab Tom (toaa) <toaa@odoo.com>
2023-03-30 08:50:02 +02:00
Loan (lse) f581e7a1d7 [IMP] ePoS: vulgarise the SSL ePos issue
SSL/HTTPS topic is complicated for most of
Odoo customers as it is quite technical.

This PR should help them guide them to better
understand the issue and how to fix it themselves.

Support can't be provided to each device, browsers and OS.
But we did add some guides regarding the more
"popular" ones and some "keyword" to search
online for the others.

closes odoo/documentation#3925

X-original-commit: 415a817c57
Signed-off-by: Platteau Xavier (xpl) <xpl@odoo.com>
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
Co-authored-by: Loredana Perazzo <lrpz@odoo.com>
2023-03-29 20:54:25 +02:00
Xavier 283fa65ac2 [ADD] attendances: hr and attendances categories + hardware page
Task ID: 3251124

closes odoo/documentation#3960

X-original-commit: 0124878dd4
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-03-29 19:20:11 +02:00
Antoine Vandevenne (anv) 3ab7232f8e [IMP] supported_version: release saas-16.2
closes odoo/documentation#3929

X-original-commit: dc2a988173
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-03-29 09:33:49 +02:00
Melanie Nguyen (meng) 71d75c9d76 [IMP] mail plugins: add instructions to gmail plugin
closes odoo/documentation#3947

X-original-commit: 404d524deb
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-03-29 04:35:03 +02:00
Melanie Nguyen (meng) b5de4f8bb5 [IMP] sales: menuselection fix
Fixed a menuselection error and deleted instances of second-person pov
Closes task 3116083

closes odoo/documentation#3942

X-original-commit: f30f6d2003
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-03-29 04:35:00 +02:00
Timothy Kukulka (tiku) c26a1dafeb [IMP] General: Oauth seemore additions
closes odoo/documentation#3937

X-original-commit: aa4e5d7a01
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-03-29 03:40:13 +02:00
Loredana Perazzo 7e37798280 [IMP] pos: update fiscal positions page
Task ID: 2862506

closes odoo/documentation#3928

X-original-commit: 4a7acf8c02
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-03-28 23:17:55 +02:00
Felicious 6273085492 [FIX] inventory: fix BoM typo
closes odoo/documentation#3913

X-original-commit: f2010faafc
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-03-28 01:09:06 +02:00
Nicolas (vin) 4600151605 [IMP] coding_guidelines: fix python code indents
A few python code blocks on the coding guidelines are indented twice
(8 spaces instead of 4), which is not correct.

closes odoo/documentation#3906

X-original-commit: 16176fb508
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2023-03-27 18:12:47 +02:00
“Chiara 46a6b90110 [IMP] accounting: bank transactions
task-3204835

closes odoo/documentation#3897

X-original-commit: e89211e451
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-03-27 17:13:50 +02:00
Jess Rogers (jero) ad3ef5bfba [IMP] helpdesk: updated ticketing channels setup
closes odoo/documentation#3881

X-original-commit: ab0d9c239d
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-03-26 10:14:40 +02:00
Timothy Kukulka (tiku) bce9e4b57b [IMP] Support: Update What can I expect
closes odoo/documentation#3886

X-original-commit: 406e12822e
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-03-26 09:11:51 +02:00
Jess Rogers (jero) 8bdca172c4 [IMP] helpdesk: updated teams and stages setup content
closes odoo/documentation#3871

X-original-commit: da2e4a1a60
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-03-25 05:24:59 +01:00
LoredanaLrpz b02e24397f [IMP] pos: and update kitchen printing
Task ID: 3235139

closes odoo/documentation#3877

X-original-commit: e6fd7db226
Signed-off-by: Platteau Xavier (xpl) <xpl@odoo.com>
Signed-off-by: Perazzo Loredana (lrpz) <lrpz@odoo.com>
2023-03-25 02:47:04 +01:00
Brandon Seltenrich (BRSE) aa1771b34b [IMP] inventory: fix sendcloud doc
closes odoo/documentation#3872

X-original-commit: b9453515a0
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Brandon Seltenrich (brse) <brse@odoo.com>
2023-03-24 20:56:33 +01:00
Olivier Dony f4d032ecbc [FIX] legal: fix some broken links (pdfs, translations)
1) PDF files are generated and stored at the root of the CURRENT_BRANCH
directory. The links to those files are generated at different levels of
the doctree, which makes it impossible to use a relative path.
For example the same "Enterprise Agreement" doc in EN is published on:
 - /16.0/legal/terms/enterprise.html
 - /16.0/fr/legal/terms/enterprise.html

As a workaround, use absolute links for the PDFs. They won't work
locally for now. Can be improved later, as long as we don't break
those links located in various depths of the troctree.

2) The legal constracts aren't translated in all availables languages
(yet), so those links are 404s now. Introduced a conf.py variable
`legal_translations` with the list of languages where translated
contracts are indeed available, and falling back to the EN version
otherwise. Some languages don't have *all* the contracts translated, so
some 404 may remain temporarily.

Forward-port of f69dba70be
2023-03-23 16:43:12 +01:00
Tom Aarab (toaa) e6e609be76 [ADD] eCommerce: customer interaction
Adding a page on customer interaction and adding redirects. Forward to
master.

closes odoo/documentation#3862

Taskid: 3224716
X-original-commit: c24f6eca7a
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Aarab Tom (toaa) <toaa@odoo.com>
2023-03-21 22:25:49 +01:00
Valentin Vallaeys (vava) 04c732f89e [ADD] developer: add _get_available_tokens
Introduced with this commit:
https://github.com/odoo/odoo/commit/e534ab41e7b3b71a8286eba849fd4d70f4b27334

closes odoo/documentation#3859

X-original-commit: cb06fb7687
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Vallaeys Valentin (vava) <vava@odoo.com>
2023-03-21 19:54:31 +01:00
LoredanaLrpz 5114d766e4 [IMP] pos: take the half-up out of the last note
Task ID: 3184227

closes odoo/documentation#3857

X-original-commit: f3aafe2f09
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-03-21 17:30:18 +01:00
Jonathan Castillo (jcs) 33f99d03dc [FIX] dev/tuto: grammar mistake in 02_setup
task-3238089

closes odoo/documentation#3849

X-original-commit: 6866cfa361
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-03-20 16:51:47 +01:00
Antoine Vandevenne (anv) b3aa636f5b [IMP] supported_versions: flag saas-16.1 as supported
closes odoo/documentation#3841

X-original-commit: c466d6fd6e
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-03-17 11:47:21 +01:00
Géry Debongnie f6ce2b9904 [IMP] developer: add description of disabled prop to Dropdown
This prop has been implemented in pr https://github.com/odoo/odoo/pull/115201/files

closes odoo/documentation#3828

Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-03-14 17:03:41 +01:00
Donatienne Pirlot 2c45872c57 [IMP] accounting: intrastat documentation update
Updating the Intrastat documentation to provide information related to the Intrastat report.

closes odoo/documentation#3816

Id: 3167429
X-original-commit: 5d801fbdeb
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-03-14 12:24:06 +01:00
Jonathan Castillo (jcs) d5fc577b0b [MOV] accounting: remove "misc" category in "bank and cash"
closes odoo/documentation#3827

X-original-commit: 5888b6eb89
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-03-14 07:51:42 +01:00
Timothy Kukulka (tiku) 716699782a [IMP] Website: rewrite-keycdn-doc
closes odoo/documentation#3823

X-original-commit: 3eb3f74f70
Signed-off-by: Timothy Kukulka (tiku) <tiku@odoo.com>
2023-03-13 20:47:58 +01:00
Timothy Kukulka (tiku) d044ac2b59 [IMP] Misc: Remove section from from-address
closes odoo/documentation#3815

X-original-commit: 9eb9fa7e19
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Timothy Kukulka (tiku) <tiku@odoo.com>
2023-03-13 18:45:09 +01:00
Timothy Kukulka (tiku) 3c338ea041 [IMP] Maintain: Add process to delete account and clean-up
closes odoo/documentation#3810

X-original-commit: 6b7c550724
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Timothy Kukulka (tiku) <tiku@odoo.com>
2023-03-13 18:45:06 +01:00
Donatienne Pirlot 74d5d52874 [IMP] accounting: Analytic Accounting Documentation
closes odoo/documentation#3802

Id: 3133182
X-original-commit: 6079d0e1d7
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-03-10 21:26:59 +01:00
Antoine Vandevenne (anv) 7b9abb3bef [REF] tests: split checkers
task-2801043

closes odoo/documentation#3796

X-original-commit: 8e8c466892
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2023-03-10 11:24:06 +01:00
Victor Feyens 5f60c80baa [IMP] rst_style: new linters
X-original-commit: a33db1cbbb
Part-of: odoo/documentation#3796
2023-03-10 11:24:06 +01:00
LoredanaLrpz 830ec0c321 [imp] pos: fusion between split and print bills pages
Task ID: 3210388

closes odoo/documentation#3791

X-original-commit: 59d1ede78d
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
Signed-off-by: Perazzo Loredana (lrpz) <lrpz@odoo.com>
2023-03-10 11:24:03 +01:00
LoredanaLrpz 66024b841e [IMP] pos: structure of the restaurant category
Task ID: 3210388

X-original-commit: 9bcde595d1
Part-of: odoo/documentation#3791
2023-03-10 11:24:03 +01:00
Tom Aarab (toaa) d56d5a5af2 [ADD] eCommerce: customer accounts
Adding a page on customer accounts for the eCommerce doc. Forward to
master.

closes odoo/documentation#3786

Taskid: 3223001
X-original-commit: 49b45c9aa6
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-03-09 22:46:01 +01:00
Martin Trigaux c0b0457de5 [I18N] theme: remove reference to translation
It does not exists and was never present, making the synchronisation crash

closes odoo/documentation#3782

X-original-commit: 56a2ba7f98
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2023-03-09 12:00:58 +01:00
Demesmaeker 40d3785ddf [ADD] payment_providers: explain partial capture
Adyen now support the partial capture

task-2728768

closes odoo/documentation#2063

Related: odoo/enterprise#35205
Related: odoo/odoo#87251
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-03-09 10:51:32 +01:00
poma-odoo 75a102323b [FW][FIX] contributing/coding_guidelines: remove mention to assets.xml
We no longer load assets by xml files, but we use __manifest__.py for that.

closes odoo/documentation#3778

Forward-port-of: odoo/documentation#3720
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-03-09 08:35:52 +01:00
LoredanaLrpz 497f7660f3 [IMP] l10n: setup info for belgian pos
TaskID:3142402

closes odoo/documentation#3773

X-original-commit: d92a554ab2
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-03-08 17:33:50 +01:00
tsm-odoo 5c89f63fb9 [FIX] deploy: duplicated proxy_set_headers in serve static block
This commit removes unnecessary `proxy_set_headers` in the serve
static config block.

Indeed, the request will either be served by Nginx in which case
the request won't go to the proxy backend or by the `@odoo` backend
which have its own `proxy_set_headers` set as the user is supposed
to copy/paste the contennt of the `location /` block.

closes odoo/documentation#3768

Closes: #3675
X-original-commit: 6129288439
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
Signed-off-by: Stockbauer Matthieu (tsm) <tsm@odoo.com>
2023-03-08 11:37:16 +01:00
Tom Aarab (toaa) 24f6c4c55e [ADD] eCommerce: Handling orders
Adding a page on handling orders for the eCommerce doc, and removing
older pages. Forward to master.

closes odoo/documentation#3766

Taskid: 3214065
X-original-commit: f6fa482087
Signed-off-by: Aarab Tom (toaa) <toaa@odoo.com>
2023-03-08 10:31:20 +01:00
“Chiara 64fa68e188 [IMP] accounting: archive module description
closes odoo/documentation#3759

X-original-commit: 46175b6071
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-03-07 19:04:13 +01:00
Tom Aarab (toaa) 0da8718bf7 [IMP] eCommerce: ewallets/giftcards section
Adding ewallets/giftcards section to the eCommerce doc. Forward to
master.

closes odoo/documentation#3757

Taskid: 3215674
X-original-commit: 70267f4535
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
Signed-off-by: Aarab Tom (toaa) <toaa@odoo.com>
2023-03-07 18:03:24 +01:00
Raphael Collet 097c247449 [IMP] core: introduce search_fetch() and fetch()
closes odoo/documentation#3749

Related: odoo/odoo#114551
Signed-off-by: Raphael Collet <rco@odoo.com>
2023-03-07 18:03:13 +01:00
LoredanaLrpz 8a07f95e43 [ADD] Finance: POS certification doc blackbox setup
closes odoo/documentation#3755

X-original-commit: f6dfea8206
Signed-off-by: Perazzo Loredana (lrpz) <lrpz@odoo.com>
2023-03-07 15:15:15 +01:00
Donatienne Pirlot d85715a176 [IMP] accounting: improving snailmail documentation
Id: 3099154
X-original-commit: 3bb3acbb42

Debug mode should be activated in V15 and V16 to modify the paper format

closes odoo/documentation#3731

X-original-commit: 64aaa6f784
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Pirlot Donatienne (dopi) <dopi@odoo.com>
2023-03-07 10:06:20 +01:00
Julien Castiaux a6fb221a75 [FIX] deploy: typo in example addons path
closes odoo/documentation#3748

Closes: #3675
X-original-commit: 01d9f7cdf1
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-03-07 02:56:59 +01:00
Martin Trigaux de72e6cdfa [I18N] *: export source translations
closes odoo/documentation#3746

X-original-commit: 738f3a08f6
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2023-03-07 02:56:32 +01:00
Jonathan Castillo (jcs) 22c5ae8905 [ADD] accounting: trusted accounts (send money)
RD task-3210415
Doc task-3211601

closes odoo/documentation#3737

Related: odoo/enterprise#37789
Related: odoo/upgrade#4397
Related: odoo/odoo#114278
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-03-07 01:59:46 +01:00
Tom Aarab (toaa) eb72280e1d [IMP] ecommerce: add custom anchors, links and "see also" sections
This commit adds custom anchors, links and new see also sections

task-3212218

closes odoo/documentation#3719

X-original-commit: b7db89e77b
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-03-06 09:14:15 +01:00
Cindy 18b6872d88 [IMP] contributing: fix a punctutation mistake in contributing
For instance, "Fix a typo"
         or "Add documentation for invoicing of sales orders." instead of For instance, "Fix a typo"
         or "Add documentation for invoicing of sales orders".

closes odoo/documentation#3736

X-original-commit: da87d72167
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-03-02 19:25:22 +01:00
LoredanaLrpz 9ce0d967b2 [IMP] pos: add port num for windows os, rem useful tips and check indent
Task ID: 3193053

closes odoo/documentation#3726

X-original-commit: adad64289f
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-03-02 18:19:01 +01:00
John Holton (hojo) 4efaa8ccff [ADD] MRP: using work centers
closes odoo/documentation#3705

X-original-commit: dd304af1e3
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: John Holton (hojo) <hojo@odoo.com>
2023-03-02 00:27:40 +01:00
Tom Aarab (toaa) 707bc15352 [FIX] website: syntax error (fix for translators)
A translator notified me that one of the sentences in English made no
sense, so I'm fixing it to 1) make sense now 2) make it easier for the
translator.

Small fix, this page will be depecrated when I have time to make a new
one.

Forward to master.

closes odoo/documentation#3711

Taskid: 3211784
X-original-commit: f4ede744ae
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-03-01 23:28:41 +01:00
Sam Lieber (sali) f5326fa593 [IMP] sales: product variants config btn instructions
closes odoo/documentation#3704

X-original-commit: cc7467788d
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
2023-03-01 23:28:16 +01:00
Jonathan Castillo (jcs) 3327711e25 [IMP] accounting: new version of cash discount
task-2834752

closes odoo/documentation#3692

X-original-commit: 5fd3092ad3
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-02-28 23:49:54 +01:00
Antoine Vandevenne (anv) 009ae8ffde [ADD] extensions/cards: add an extension to implement cards
The extension adds two new directive:
- `cards` is the row container for one or more `card` directives.
- `card` is the implementation of a Bootstrap card that accepts a
  `target` argument for the href of the card, a `large` option to render
  the card on two columns, a `tag` option to display a single arbitrary
  tag on the card, and arbitrary content that is shown in the card
  body.

task-3141419

closes odoo/documentation#3689

X-original-commit: 34bc63d2bc
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-02-28 18:08:29 +01:00
Jonathan Castillo (jcs) 0fb94a128e [IMP] accounting: add custom anchors to tax_return.rst headings
closes odoo/documentation#3681

X-original-commit: 91fadf0ff6
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-02-27 13:56:11 +01:00
Timothy Kukulka (tiku) 987aef16ec [MOV] Misc: Move Portal doc to Misc
closes odoo/documentation#3634

X-original-commit: d690314ba5
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Timothy Kukulka (tiku) <tiku@odoo.com>
2023-02-24 18:16:08 +01:00
Demesmaeker 8260880d6f [IMP] Amazon_connector: manage errors in the pickings
As Odoo now gets the report following the synchronization of the picking, the doc needs to be
updated to show how to manage errors.

closes odoo/documentation#3193

Related: odoo/enterprise#28970
Related: odoo/upgrade#4146
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-02-24 16:09:41 +01:00
Sam Lieber (sali) 657e6a0cce [ADD] l10n: Ecuador fiscal localization
task-3164933

closes odoo/documentation#3671

X-original-commit: a1d2c7a6c8
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-02-24 14:20:36 +01:00
John Holton (hojo) 2b40e9103e [FIX] Odoo.sh: correct content error
closes odoo/documentation#3669

X-original-commit: 033f6de839
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2023-02-24 12:14:47 +01:00
Xavier f0814df058 [ADD] Spreadsheet/Reporting/Search
Task ID: 3053800

closes odoo/documentation#3661

X-original-commit: cf67ac8504
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Platteau Xavier (xpl) <xpl@odoo.com>
2023-02-23 16:09:04 +01:00
Antoine Vandevenne (anv) ed4b8c1320 [MOV] developer/cli: move "Command-line interface (CLI)" to the reference dir
task-2991663

closes odoo/documentation#3660

X-original-commit: 3dc6bb83c1
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-02-23 16:09:00 +01:00
Antoine Vandevenne (anv) 6d50ac96de [MOV] developer/api/extract_api: move "Extract API" to the reference dir
task-2991663

X-original-commit: 73f976e679
Part-of: odoo/documentation#3660
2023-02-23 16:09:00 +01:00
Antoine Vandevenne (anv) 518db8b02a [MOV] developer/api/external_api: move "External API" to the reference dir
task-2991663

X-original-commit: 95ed856446
Part-of: odoo/documentation#3660
2023-02-23 16:09:00 +01:00
Antoine Vandevenne (anv) cc3ca497f3 [MOV] developer/api/iap: move "In-App Purchase" to the howtos dir
task-2991663

X-original-commit: b817e16a4c
Part-of: odoo/documentation#3660
2023-02-23 16:09:00 +01:00
Antoine Vandevenne (anv) b75a798ae6 [MOV] developer/iot: move "Internet of things" the howtos dir
task-2991663

X-original-commit: 2701d91db0
Part-of: odoo/documentation#3660
2023-02-23 16:08:59 +01:00
Antoine Vandevenne (anv) ba7a47e03e [IMP] tutorials/*: hide outdated tutorials
*: backend, web, website

task-2991663

X-original-commit: 9561c9abf8
Part-of: odoo/documentation#3660
2023-02-23 16:08:59 +01:00
Antoine Vandevenne (anv) d783dd375a [MOV] howto/web: move "Customizing the webclient" to the tutorials dir
task-2991663

X-original-commit: 2d469bccbc
Part-of: odoo/documentation#3660
2023-02-23 16:08:59 +01:00
Antoine Vandevenne (anv) c2d7f03b8b [MOV] howto/website: move "Building a website" to the tutorials dir
task-2991663

X-original-commit: 58f2174c49
Part-of: odoo/documentation#3660
2023-02-23 16:08:59 +01:00
Antoine Vandevenne (anv) 1292abc9e7 [MOV] howtos/backend: move "Building a module" to the tutorials dir
task-2991663

X-original-commit: 642c4839f7
Part-of: odoo/documentation#3660
2023-02-23 16:08:58 +01:00
Antoine Vandevenne (anv) 899960a66d [MOV] howtos/discover_js_framework/*: move "Discover the JS Framework" to the tutorials dir
task-2991663

X-original-commit: 9c5ea316ff
Part-of: odoo/documentation#3660
2023-02-23 16:08:58 +01:00
Antoine Vandevenne (anv) c3a66c28a0 [MOV] tutorials/getting_started/*: promote advanced chapters to independent tutorials
task-2991663

X-original-commit: a8c78a80ba
Part-of: odoo/documentation#3660
2023-02-23 16:08:58 +01:00
Antoine Vandevenne (anv) 018d708b44 [MOV] howto/rdtraining: move "Getting started" to the tutorials dir
This commit also replaces references to the "Building a module"
tutorial by references to the "Getting started" tutorial.

task-2991663

X-original-commit: 4f4e346953
Part-of: odoo/documentation#3660
2023-02-23 16:08:58 +01:00
Antoine Vandevenne (anv) 286ae4a7b7 [ADD] developer/tutorials: add a directory for developer tutorials
task-2991663

X-original-commit: 73ce4d6cd8
Part-of: odoo/documentation#3660
2023-02-23 16:08:57 +01:00
“Chiara 5cd64c158f [ADD] Accounting: Italian warning
closes odoo/documentation#3654

Taskid: 3201538
X-original-commit: eea1aec26b
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
Signed-off-by: chiaraprattico <chpr@odoo.com>
2023-02-22 21:37:36 +01:00
Tom Aarab (toaa) 1b8da9b0a9 [ADD] eCommerce: shipping page
Added a shipping page to the eCommerce section. Forward to master.

closes odoo/documentation#3642

Taskid: 3111638
X-original-commit: 470e74492f
Signed-off-by: Aarab Tom (toaa) <toaa@odoo.com>
2023-02-20 21:23:54 +01:00
Donatienne Pirlot 26b45abb9e [IMP] accounting: updating the doc related to vendor bill to payment
closes odoo/documentation#3638

X-original-commit: 1db61fca8f
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-02-20 13:44:41 +01:00
tsm-odoo ffa10a9b0a [FIX] deploy: add set_headers, fixing wrong $host value
closes odoo/documentation#3636

X-original-commit: 8b92b734b2
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Stockbauer Matthieu (tsm) <tsm@odoo.com>
2023-02-20 12:39:32 +01:00
Jonathan Castillo (jcs) cb122ad068 [FIX] legal: RST cleanup (headings delimiters characters)
This commit changes the characters used as heading delimiters in the
/legal/ folder of the documentation. This makes it easier for writers to
figure out the heading order as all other files in this repository use
the same order of heading delimiters characters.

closes odoo/documentation#3627

X-original-commit: bab84c61a0
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-02-20 09:29:08 +01:00
Tom Aarab (toaa) edaa9773f9 [ADD] eCommerce: new price management page
Current documentation doesn't feature any pricing management info.
Forward to master.

closes odoo/documentation#3609

Taskid: 3086649
X-original-commit: d43a9b2598
Signed-off-by: Aarab Tom (toaa) <toaa@odoo.com>
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-02-18 04:36:35 +01:00
KC (ksc) 82a778ef23 [ADD] events: added complete documentation
closes odoo/documentation#3597

X-original-commit: b76b3fa3f3
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Kevin Scannell (ksc) <ksc@odoo.com>
2023-02-18 03:43:02 +01:00
Jonathan Castillo (jcs) a49d1b7c9c [IMP] install/maintain: add section about search engine indexation
task-3179504

closes odoo/documentation#3620

X-original-commit: 2fccceb964
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-02-17 22:58:22 +01:00
Donatienne Pirlot 655f923d11 [IMP] accounting: update cheat sheet
This PR change the cheat sheet of the accounting documentation.
Change done:
* Change name of the file: memento to cheat_sheet
* Adding explanation to the doc (Ex: Invoices and bills status)
* Correcting some sentences

closes odoo/documentation#3625

Task-id: 2847663
X-original-commit: 2fa9de17e1
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-02-17 22:02:43 +01:00
william-andre cd81a97399 [REF] account: remove chart templates
The way of declaring charts of accounts has completely changed.

closes odoo/documentation#3336

Related: odoo/enterprise#35836
Related: odoo/odoo#110016
Related: odoo/upgrade#4276
Signed-off-by: William André (wan) <wan@odoo.com>
2023-02-17 19:30:29 +01:00
Anita (anko) e297b6254e [IMP] paypal: remove deleted fields
task-2854184

closes odoo/documentation#3063

Related: odoo/upgrade#4025
Related: odoo/odoo#104974
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-02-17 14:09:46 +01:00
Brandon Seltenrich (BRSE) 8c6175f77d [IMP] inventory: update automated inventory valuation
closes odoo/documentation#3606

X-original-commit: aaa1de94bd
Signed-off-by: Brandon Seltenrich (brse) <brse@odoo.com>
2023-02-16 20:03:29 +01:00
Donatienne Pirlot ea6b25aba8 [IMP] sign: secured authentication info added
closes odoo/documentation#3599

Id: 3084552
X-original-commit: 817ad955af
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Pirlot Donatienne (dopi) <dopi@odoo.com>
2023-02-16 15:59:51 +01:00
LoredanaLrpz f90bc13ade [IMP] pos: rename & redo receipt page (structure, text, images)
Task ID: 3005121

Do not merge for Odoo 16 - configuration flow to modify

closes odoo/documentation#3572

X-original-commit: 295d29effd
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Perazzo Loredana (lrpz) <lrpz@odoo.com>
2023-02-16 15:59:48 +01:00
LoredanaLrpz 60095ca6e4 [IMP] knowledge: h3 titles improvement and one typo fixed
Task ID: 3189032

closes odoo/documentation#3592

X-original-commit: 403f54d1df
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-02-15 21:09:42 +01:00
Jonathan Castillo (jcs) 65d71dd7be [FIX] *: RST cleanup
RST cleanup to comply with the RST guidelines. This is required so we
can use "make test", as there are currently hundreds of errors. For now,
it is unusable because of the oldest code in this repo.

closes odoo/documentation#3589

X-original-commit: 7ae76bad42
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-02-15 16:03:06 +01:00
luvi f4c8a0f929 [ADD] web: add core components documentation
Those components were added during the Owl rewrite of the webclient
that happened in 16.0. Unfortunately, there was still no documentation
for them.

This commits fixes that by adding documentation for the Notebook and
the Colorlist components.

closes odoo/documentation#3586

X-original-commit: 7a9d807bcc
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Luca Vitali <luvi@odoo.com>
2023-02-15 16:03:03 +01:00
Amelia Williams aafa593c6a [FIX] 02_setup: remove gramatical error
closes odoo/documentation#3583

X-original-commit: 18b000602b
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-02-15 13:36:53 +01:00
Sam Lieber (sali) 7b7e87c33e [IMP] marketing: sms pricing and faq doc updates
closes odoo/documentation#3566

X-original-commit: 1591e1f087
Signed-off-by: Zachary Straub <zst@odoo.com>
2023-02-15 03:17:01 +01:00
Tom Aarab (toaa) 528a9c26a1 [ADD] ecommerce: cross and upselling page
Adding a cross/upselling page for the ecommerce section. Forward to
master.

closes odoo/documentation#3578

Taskid: 3142720
X-original-commit: 4db98bd840
Signed-off-by: Aarab Tom (toaa) <toaa@odoo.com>
2023-02-14 20:13:08 +01:00
luvi a844c0aa12 [ADD] web: add SelectMenu documentation
This commit adds the documentation for the SelectMenu component, introduced
in saas-16.1. This documentation gives some example of its usage.

An image is also added, to better illustrate the grouping functionality.

closes odoo/documentation#3575

X-original-commit: 4a220d61fe
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Luca Vitali <luvi@odoo.com>
2023-02-14 18:12:04 +01:00
LoredanaLrpz ae33eaad60 [IMP] pos: invoice issuance via qr code on receipts
Task ID: 3100959

closes odoo/documentation#3561

X-original-commit: bfa4ee56fd
Signed-off-by: Perazzo Loredana (lrpz) <lrpz@odoo.com>
2023-02-14 09:00:59 +01:00
Jonathan Castillo (jcs) 5f45c6aff8 [MOV] finance: move fiscal localisation pages and merge /overview/
The content written in the fiscal localisation pages are not only for
Accounting, but also for other apps such as Payroll and Point of Sales.
This commit moves the content to the "Finance" level, to better reflect
this reality, and merges the pages in the /overview/ folder in the main
category page.

closes odoo/documentation#3559

X-original-commit: ecbb755471
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-02-13 17:26:08 +01:00
Mahmoud Metwally a39f2d4421 [FW][FIX] developer/howtos: typos and phrasing
closes odoo/documentation#3557

Forward-port-of: odoo/documentation#3541
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2023-02-13 15:15:41 +01:00
Victor Feyens aaac56f2f4 [FIX] *: typos
closes odoo/documentation#3553

X-original-commit: 831cf23be9
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2023-02-13 14:05:35 +01:00
Victor Feyens 080835be2b [ADD] tests: add sphinxlint checkers for headings
task-2801043

X-original-commit: ad768c33aa
Part-of: odoo/documentation#3553
Co-authored-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-02-13 14:05:35 +01:00
Jonathan Castillo (jcs) fd25400847 [FIX] *: first small clean of the code
Friday afternoon cleanup. This is required so we can use "make test", as
there are currently hundreds of errors. For now, it is unusable because
of the oldest code in this repo.

closes odoo/documentation#3544

X-original-commit: 26ddeef42c
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-02-13 14:05:23 +01:00
Martin Trigaux 772a56a693 [I18N] migrate to the nex transifex API
Tansifex is deprecating it's client and switches to a go-based
solution in its API v3

The new client is still backward compatible with the old format but
the v2 API is going to be phased out.
See https://github.com/transifex/cli to install the deplyments using
the tx client

This PR is the result of the "tx migrate" command

In saas-16.1 force the content of 16.0

closes odoo/documentation#3534

X-original-commit: a497405fec
Related: odoo/enterprise#36950
Related: odoo/odoo#112402
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2023-02-10 16:49:10 +01:00
“Chiara 5d0b31a508 [IMP] accounting/l10n: Italian Localization
closes odoo/documentation#3529

Taskid: 3067241
X-original-commit: 3cfee5c99e
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-02-10 10:13:14 +01:00
Tom Aarab (toaa) 2e92bea4da [ADD] ecommerce: new payment providers page
Adding a documentation on payment providers specifically for the
ecommerce section.

closes odoo/documentation#3521

Taskid: 3138597
X-original-commit: 6b45da21c1
Signed-off-by: Aarab Tom (toaa) <toaa@odoo.com>
2023-02-09 19:07:03 +01:00
Donatienne Pirlot a1b17b9f31 [ADD] accounting: localization page for uk
closes odoo/documentation#3519

X-original-commit: 0550374968
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Pirlot Donatienne (dopi) <dopi@odoo.com>
2023-02-09 18:07:36 +01:00
Tom Aarab (toaa) f7d9f58b25 [ADD] eCommerce: checkout process page
Adding new page on checkout process for eCommerce. Forward to master.

closes odoo/documentation#3513

Taskid: 3110554
X-original-commit: 17ee191156
Signed-off-by: Aarab Tom (toaa) <toaa@odoo.com>
2023-02-09 09:47:22 +01:00
Jason Aerts 478fdc07b1 [ADD] project: project creation and management
Adding a project creation and management page for the project app. Forward to master.

closes odoo/documentation#3510

Taskid: 3117349
X-original-commit: 1689b80470
Signed-off-by: Perazzo Loredana (lrpz) <lrpz@odoo.com>
Signed-off-by: Aarab Tom (toaa) <toaa@odoo.com>
2023-02-09 07:50:48 +01:00
luvi 128bc1786c [FIX] web: fix wrong ActionSwiper documentation
Since 16.0, the documentation for this component was no longer
correct, since the component was moved to web during the refactor
of the webclient views. This commit also adds documentation of
props that were introduced during the refactor, already present
in 16.0.

closes odoo/documentation#3507

X-original-commit: fc79df42fd
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-02-08 16:50:05 +01:00
Martin Trigaux 67dff9aa43 [IMP] conf: add names for newly activated languages
closes odoo/documentation#3502

X-original-commit: 734c0ee6ef
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-02-08 12:25:57 +01:00
Tom Aarab (toaa) 4aba55b1fe [ADD] Sales: new page on eWallets and gift cards programs
Adding a new page on eWallets and gift cards programs for the Sales app
documentation.

closes odoo/documentation#3498

Taskid: 3086636
X-original-commit: 9049013dde
Signed-off-by: Aarab Tom (toaa) <toaa@odoo.com>
2023-02-07 15:35:59 +01:00
Tom Aarab (toaa) aec7a8aaed [ADD] eCommerce: add to cart page
Adding add to cart page to the eCommerce section. Forward to master.

closes odoo/documentation#3496

Taskid: 3099603
X-original-commit: d09e6a83aa
Signed-off-by: Aarab Tom (toaa) <toaa@odoo.com>
2023-02-07 15:35:57 +01:00
Tom Aarab (toaa) 4eab939d67 [IMP] ecommerce: updated variants page
Previous page was mostly on the sales app. New page focuses on ecommerce
with :ref: to sales. Forward to master.

closes odoo/documentation#3493

Taskid: 3121379
X-original-commit: bd13d34bd6
Signed-off-by: Aarab Tom (toaa) <toaa@odoo.com>
2023-02-07 08:40:52 +01:00
Zachary Straub (ZST) 4ccae58e6f [FIX] Quality: add missing/cutoff content
closes odoo/documentation#3491

X-original-commit: 591e80deb7
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
Signed-off-by: Zachary Straub <zst@odoo.com>
2023-02-06 16:28:44 +01:00
Tom Aarab (toaa) a51a8ad9fc [ADD] eCommerce: add product page
Adding a product page for the eCommerce section, currently does not
exist. V16, forward to master.

closes odoo/documentation#3484

Taskid: 2903859
X-original-commit: 5329cff046
Signed-off-by: Aarab Tom (toaa) <toaa@odoo.com>
2023-02-05 18:36:55 +01:00
Julien Van Roy 5fb8de203d [IMP] accounting/electronic_invoicing: add a-nz einvoicing format
Since commit
https://github.com/odoo/odoo/commit/9431dddd7c13ae130e7af29936307d22459d543f,
the 'A-NZ BIS Billing 3.0' format is available for australian and new
zealand companies.

closes odoo/documentation#3483

X-original-commit: e2b4e8ad84
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-02-03 17:41:13 +01:00
Mahmoud Metwally c61c65da47 [FW][FIX] developer/javascript_reference: typos and phrasing
closes odoo/documentation#3476

Forward-port-of: odoo/documentation#3470
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2023-02-03 06:06:29 +01:00
Tom Aarab (toaa) a74be8db2f [IMP] ecommerce: updated catalog page
Updated catalog page. Forward to master.

closes odoo/documentation#3466

Taskid: 3071640
X-original-commit: 029b5a183b
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Aarab Tom (toaa) <toaa@odoo.com>
2023-02-02 22:28:33 +01:00
Sam Lieber (sali) 55ccf597ef [ADD] Quality: configure quality control checks
closes odoo/documentation#3468

X-original-commit: ec1ddb34b1
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
2023-02-02 02:12:08 +01:00
Zachary Straub (ZST) 7cec0db05f [IMP] inventory: add a note on default warehouses
closes odoo/documentation#3461

X-original-commit: e5069dbf72
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-02-01 21:31:27 +01:00
Donatienne Pirlot 847f47bcc3 [MOV] purchase: moving doc page from accounting to purchase
Moving the Manage vendor bills page from the accounting app to the purchase app as it is
more relevant.

closes odoo/documentation#3456

Taskid: 2687652
X-original-commit: b5febf2299
Signed-off-by: Zachary Straub <zst@odoo.com>
2023-01-31 23:33:26 +01:00
thkl-odoo 2d1d9d773a [IMP] install/maintain: clarification in the upgrade SLA
The Service Level Agreement has to be updated. Any additional line of
code, without using studio, in standard modules is not supposed to be
covered by the upgrade team. It is slightly different than the point
telling "development of custom modules"

closes odoo/documentation#3450

X-original-commit: f469e4ef81
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-01-31 20:05:46 +01:00
Simon Goffin f2b39b8e64 [FIX] content: The outlook add-in URL
The outlook add-in URL was not updated

opw:3131547

closes odoo/documentation#3441

X-original-commit: d81513ed1c
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Simon Goffin <sig@odoo.com>
2023-01-31 00:52:07 +01:00
Melanie Nguyen (meng) c450c8f5c4 [IMP] sales: fix returns and refunds
closes odoo/documentation#3437

X-original-commit: 2fb777e3e8
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Melanie Nguyen (meng) <meng@odoo.com>
2023-01-31 00:52:04 +01:00
Sam Lieber (sali) e08338a4f4 [ADD] inventory: setup sendcloud shipping
closes odoo/documentation#3439

X-original-commit: 6f5a97705d
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
2023-01-30 22:27:09 +01:00
Jonathan Castillo (jcs) 2cd2b864a7 [IMP] accounting: update how to get api keys for silverfin integration
task 2918697

closes odoo/documentation#3428

X-original-commit: 9a0bf7bb0e
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-01-27 14:03:30 +01:00
Tommy (tong) 92851b1bb4 [IMP] payment_providers: add AsiaPay brand configuration
Since we are updating the payment_asiapay module for other AsiaPay endpoints,
the documentation of AsiaPay needs to update too.
Please refer to https://github.com/odoo/odoo/pull/110357 for more informations.

task-3073748

closes odoo/documentation#3423

Related: odoo/odoo#110357
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-01-27 14:03:22 +01:00
avg-odoo 1141780b6c [IMP] install/maintain: update content of upgrade SLA
The maintenance fees cover the maintenance of the custom code (whoever
did it) and are not specifically dedicated to custom code written by
Odoo development teams

closes odoo/documentation#3422

X-original-commit: 92de7ccb2d
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-01-26 23:12:13 +01:00
KC (ksc) afcf02cb30 [IMP] surveys:update get started docs
closes odoo/documentation#3417

X-original-commit: 3cf6e25f06
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Kevin Scannell (ksc) <ksc@odoo.com>
2023-01-26 22:09:50 +01:00
Mathieu (mano) b5efab7201 [IMP] toctrees: redesign and new card component
The goal of this commit is to propose a first step towards a new
`.. card::` directive for the toctrees. This is a first design
proposition for this new card component in raw html for the fallback
page `howtos.rst`

The long term objective is to redesign the toctrees by implementing card
components, clearer toctree list design and custom html pages.

Related to task-3059229

closes odoo/documentation#3408

X-original-commit: 64363d8640
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-01-26 18:51:23 +01:00
Donatienne Pirlot aef4f46c59 [IMP] : accounting : manage a financial budget documentation
closes odoo/documentation#3401

X-original-commit: 78d3cf489a
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Pirlot Donatienne (dopi) <dopi@odoo.com>
2023-01-26 08:18:53 +01:00
Jorge Pinna Puissant 1d6c78a006 [IMP] views: allow the use of setting tags on the form view
Since [1], it's able to use of the setting tag in any form view.

[1]: 4cdd74fc585009a19a7d307f08411ad19255f8ff

closes odoo/documentation#3403

Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2023-01-25 11:16:49 +01:00
Nishant Jain (niai) 2ceaa3ef1d [ADD] accounting/l10n: add section about E-waybill (India)
closes odoo/documentation#3395

X-original-commit: 97e914b340
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-01-24 21:11:00 +01:00
Jess Rogers (jero) ff7c86c91c [IMP] helpdesk: close_ticket.rst cleanup
closes odoo/documentation#3388

X-original-commit: 8396c2a4ad
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Jessica Rogers (jero) <jero@odoo.com>
2023-01-24 21:10:44 +01:00
Victor Feyens 73be78f25e [ADD] finance: explain how to disable online invoice payment
closes odoo/documentation#3396

X-original-commit: 55a96bbe51
Related: odoo/odoo#110843
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2023-01-24 16:18:36 +01:00
LoredanaLrpz ecf2e4f94a [ADD] knowledge: main, editing and properties pages
Task ID: 3035887

closes odoo/documentation#3391

X-original-commit: 8796ff1310
Signed-off-by: Perazzo Loredana (lrpz) <lrpz@odoo.com>
2023-01-24 09:11:55 +01:00
FrancoisGe b8ffda3c07 [IMP] backend/views: relative width of a field is no longer supported in list views
Since the conversion of the list view to owl, the relative field size has not been reimplemented. We have decided not to support it anymore. So we will remove all its uses.

The relative width consists in adding a width attribute with an integer value. This value corresponds to the weight of the field, the higher it is, the more space the field will take. This size is only used when the list is empty.

Example of this:
<tree>
    <field ... width="2">
    <field ... width="1">
</tree>

The first field will take 2x more space than the first one when the list is empty.

closes odoo/documentation#3375

Related: odoo/odoo#110382
Related: odoo/enterprise#36020
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-01-23 11:19:56 +01:00
nle-odoo e9f6ddb7c3 [FIX] developer/guidelines: odoo addons import order
The example for import order is a little confusing since it is wrong.

closes odoo/documentation#3381

X-original-commit: f7b1f66b8c
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
2023-01-20 21:56:50 +01:00
LoredanaLrpz b37ca22bb0 [IMP] POS: improve and update the barcode page (text & screenshots)
Task ID: 3004918

closes odoo/documentation#3371

X-original-commit: 8138b95b0b
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Perazzo Loredana (lrpz) <lrpz@odoo.com>
2023-01-20 20:58:37 +01:00
Anita (anko) 86dd91f009 [IMP] payment_providers,stripe: rename payment icon to payment method
task-2882564

closes odoo/documentation#2955

Related: odoo/odoo#105678
Related: odoo/enterprise#33908
Related: odoo/upgrade#4029
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-01-20 18:54:52 +01:00
pedrambiria f842fc850f [FW][FIX] productivity/outlook: correct link for plugin installation
Forward-port of a8c58815f3 for 16.0+

closes odoo/documentation#3374

Forward-port-of: odoo/documentation#3349
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
Signed-off-by: Pedram Bi Ria (pebr) <pebr@odoo.com>
2023-01-20 10:42:46 +01:00
Antoine Vandevenne (anv) ab1cb5d515 [IMP] supported_versions: add end of support dates for SaaS versions
closes odoo/documentation#3372

X-original-commit: ebce333c73
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-01-19 18:49:50 +01:00
Jonathan Castillo (jcs) d5f642d3c6 [ADD] accounting: configuration of silverfin integration
task-2918697

closes odoo/documentation#3359

X-original-commit: 7f6535dcc8
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-01-18 22:07:11 +01:00
Sam Lieber (sali) 0f1be083b5 [FW][ADD] maintain: connect office365 with azure oauth
closes odoo/documentation#3352

X-original-commit: 5b9d1cba2a
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
2023-01-18 17:38:17 +01:00
fdardenne 3690bba092 [FIX] developer: remove merge text in chapter 6
closes odoo/documentation#3353

X-original-commit: a70665ef34
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-01-18 16:19:37 +01:00
FrancoisGe 37146744a0 [IMP] web: add buttons in control panel in kanban
closes odoo/documentation#3257

Taskid: 3082390
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-01-18 13:25:16 +01:00
Wesley Kao (weka) 5457a07a4e [IMP] MRP: edited semi-finished products user doc
closes odoo/documentation#3340

X-original-commit: 79e08557d3
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-01-17 10:20:45 +01:00
Ray Carnes f02080d755 [IMP] sales: update portal.rst
Removed old and probably not needed image of the dashboard showing the Contacts App

closes odoo/documentation#3345

X-original-commit: 4d3a10e8cd
Signed-off-by: Zachary Straub <zst@odoo.com>
2023-01-16 20:51:49 +01:00
Xavier BOL (xbo) 10c7b5cbae [IMP] backend: add groups_draggable option in kanban view
Related PR: odoo/odoo#97447

task-2941335

closes odoo/documentation#3338

X-original-commit: f51633fdd5
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
2023-01-16 19:46:00 +01:00
Donatienne Pirlot 71f055f27d [ADD] accounting: add documentation related to the Kenyan localization
closes odoo/documentation#3330

Id: 3089195
X-original-commit: cc0285144a
Signed-off-by: Pirlot Donatienne (dopi) <dopi@odoo.com>
2023-01-13 17:33:23 +01:00
stefanorigano (SRI) 9571a32131 [IMP] scss: update, improve preexisting content
Add a new content focused on SCSS and user-interface.

- SCSS coding guidelines: regroup information already available (eg [1])
  or based on "oral tradition".
  The aim is not to establish new rules, ~99% of the current codebase
  is already compliant.

- SCSS inheritance: explain how SCSS assets management works in odoo.
  For example, people still find confusing that overrides are defined
  *before* the variable to customize.

- SCSS optimization tips: suggestions to lean SCSS code. Based on SCSS
  optimization task's know-how [2].

- CSS variables: explain how this feature is commonly used in odoo to
  adapt layout & design without raw CSS overrides.

- UI Icons: Add link to fontAwesome4 library . Replace the picture of
  odoo icons with the actual font (90kb image VS 15Kb font)

[1] https://github.com/odoo/odoo/wiki/SCSS-coding-guidelines
[2] https://www.odoo.com/web#id=2704984&menu_id=4720&cids=1&model=project.task&view_type=form

task-3090800

closes odoo/documentation#3327

X-original-commit: 2ca32b40bc
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-01-13 17:33:02 +01:00
fdardenne 8a30786495 [IMP] developer: JavaScript tutorial: chapter 3-7
This commit adds the chapter 3,4,5,6 and 7 of the JavaScript web
framework tutorial.

This new tutorial allows people to discover Owl and the building blocks
of the Odoo JavaScript framework.

closes odoo/documentation#3325

X-original-commit: 54628b4f5b
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Co-authored-by: Géry Debongnie <ged@odoo.com>
Co-authored-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-01-12 19:08:49 +01:00
Antoine Vandevenne (anv) cc13f28fd2 [CLN] remove files for saas-15.1 and saas-15.3
closes odoo/documentation#3324

X-original-commit: ce4aa42fb4
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-01-12 16:30:25 +01:00
Elisabeth Dickinson ee5a4d74c9 [IMP] odoo_theme: Fix alerts and accordions colors
closes odoo/documentation#3320

X-original-commit: 8aebb79237
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-01-12 09:00:51 +01:00
Elisabeth Dickinson f8e1df2c8f [IMP] odoo_theme: Fix text-dark on homepage
While doing the changes on the text-dark issue, we noticed the
homepage's text color isn't aligned with the rest of the website.
`.text-muted` was too light, so we changed it to `.text-dark`.

X-original-commit: ee2390fdaf
Part-of: odoo/documentation#3320
2023-01-12 09:00:51 +01:00
Elisabeth Dickinson ad08d78593 [IMP] odoo-theme: Revert $dark color variable to initial $gray-900
This was changed to get a good text/background contrast on the
alert-dark (Exercise).
By doing so, the .text-dark class generated by BS from the $dark
theme-color was gray instead of the intended near-black color.

By changing the variable, the contrast issue with the alert was back,
to solve this we directly override the alert's background color instead.

X-original-commit: 32c9e59ae6
Part-of: odoo/documentation#3320
2023-01-12 09:00:51 +01:00
Horacio Tellez d8c9f6afa4 [FIX] developer: typo on a code example in the framework overview
There was a variable being used that was undeclared.

closes odoo/documentation#3316

Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-01-11 15:39:02 +01:00
Xavier BOL (xbo) b909a21d1f [IMP] backend: add default_group_by option in list view
Related PR: odoo/odoo#109281

task-3084850

closes odoo/documentation#3311

Related: odoo/enterprise#35504
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-01-10 15:43:05 +01:00
luvi ad6cde3181 [IMP] web: update usePosition API
This commit updates the documentation of the position hook, to add
the latest variant "fit". This variant was introduced recently in
commit (1), when using it in the SelectMenu component.

(1): https://github.com/odoo/odoo/commit/c21c415f3865b73c6dee9c9cf92224e684226f36

closes odoo/documentation#3261

Signed-off-by: Luca Vitali <luvi@odoo.com>
2023-01-09 12:22:44 +01:00
luvi bca9ac151f [ADD] web: add useSpellCheck hook documentation
This commit brings the documentation for the useSpellCheck hook,
introduced in commit (1). The documentation contains some example
and details on how to use the hook properly.

(1): https://github.com/odoo/odoo/commit/130719e584d3ec817e43009e8b0f6a35ffff6177

Part-of: odoo/documentation#3261
2023-01-09 12:22:44 +01:00
Olivier Dony 5045aecce2 [CHG] legal: partnership contract v10 (update SH commission)
Version not bumped for ES translation, since it needs other updates
first
2023-01-09 11:57:17 +01:00
Olivier Dony 9966e8771a [FIX] legal: show license for Odoo 16 2023-01-09 11:44:47 +01:00
Antoine Vandevenne (anv) 9af7a4ca01 [FIX] odoo_theme: handle non-TOC pages when expanding top menu entries
Trying to "expand" those pages lead to a crash that prevented the menu
to be shown at all.

Incidentally, this commit also handles menus built with `make fast`.

closes odoo/documentation#3275

Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-01-09 09:07:02 +01:00
Antoine Vandevenne (anv) 0ef10a1606 [IMP] odoo_theme: scroll the active menu entry into view
In large and deeply nested TOCs like finance/accounting/fiscal_localizations/localizations/...
the user had to constantly scroll the menu to the menu entry they just
clicked because the expanded menu would not fit entirely on the page.
With this commit, the active menu entry is scrolled into view each time
the page is reloaded.

The previous behavior was also the reason for expanding the top menu
entries on only the homepage. Thanks to the scroll, they now always
expand.

Part-of: odoo/documentation#3275
2023-01-09 09:07:01 +01:00
Sam Lieber (sali) 076534b1f0 [ADD] maintain: setup mailjet api
closes odoo/documentation#3307

X-original-commit: 197a1cc932
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
2023-01-06 16:34:17 +01:00
Antoine Vandevenne (anv) 49eb51b5d8 [FIX] odoo_theme: re-enable redirect fallback logic
closes odoo/documentation#3303

Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-01-06 12:29:46 +01:00
Valentin Vallaeys (vava) da9c9aa1ab [IMP] payment_providers: add paragraph about currency field
The lists of supported currencies by payment provider are displayed on
the form view and are editable, because our list may not be up-to-date.
Empty lists stand for "no filtering" on the payment providers to access
payment methods.

task-2926016

closes odoo/documentation#2788

Related: odoo/enterprise#34158
Related: odoo/odoo#101018
Related: odoo/upgrade#4069
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-01-05 16:51:53 +01:00
Odoo's Mergebot d4f4e8684e [MERGE] odoo_theme: SCSS code clean up
In order to reduce the size of our css files:
Some unused or repeated code was found and removed.
Variables have been cleaned up, the way the admonitions (alerts) were created has been modified,

Expanding the use of BS variables in order to reduce repeated code and to stay consistent in the general design.
Sphinx was updated which made some changes in the DOM, breaking some of the CSS:
the literals for example, these have been fixed in this PR.
The font sizes were breaking the typescale, this has been fixed by modifying the typescale
rather than hardcoding font sizes.

closes odoo/documentation#3296

Forward-port-of: odoo/documentation#3293
Forward-port-of: odoo/documentation#3225
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-01-05 15:37:29 +01:00
Jorge Pinna Puissant 68a35753c6 [IMP] * : kanban, unify dropdown definition in archs
This commit add the documentation for the new 'kanban-menu' template
(the ellipsis dropdown menu).

No that, this commit add also the documentation for the 'kanban-tooltip'
template.

closes odoo/documentation#3284

Task-id: 3096776
Related: odoo/odoo#107589
Related: odoo/enterprise#34962
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-01-05 15:37:07 +01:00
Elisabeth Dickinson e74a893812 [IMP][CSS] Replace text-decoration on link with BS override 2023-01-05 12:53:11 +01:00
Elisabeth Dickinson 35230f0fc5 [IMP][CSS] Reorder styles according to styles guidelines 2023-01-05 12:53:11 +01:00
Elisabeth Dickinson 11aa498ed5 [IMP] fix typo 2023-01-05 12:53:11 +01:00
Elisabeth Dickinson fef7820521 [IMP] icon fixes 2023-01-05 12:53:11 +01:00
Elisabeth Dickinson 6d09d506b9 [IMP][CSS] Fix unresponsive font-size on alert text
By removing $font-size-sm on the alerts, the text is bigger. The title
text and its icon have been increased as well.
2023-01-05 12:53:11 +01:00
Elisabeth Dickinson d52966b147 [IMP][CSS] Remove browser prefixes and unnecessary mixins 2023-01-05 12:53:11 +01:00
Elisabeth Dickinson 530774b60b [IMP][CSS] Fix literals in alerts containing tabs 2023-01-05 12:53:11 +01:00
Elisabeth Dickinson ba0c7f42ba [IMP][CSS] Fix data indentation 2023-01-05 12:53:11 +01:00
Elisabeth Dickinson b65f74055f [IMP][CSS] Fix alignment on modal btn-close 2023-01-05 12:53:11 +01:00
Elisabeth Dickinson 93e7ee9673 [IMP] Indentation fix 2023-01-05 12:53:11 +01:00
Elisabeth Dickinson 8d6d1a7b3c [REM] Removal of changelog
The idea was not developed and it has since been decided not to do it.
2023-01-05 12:53:11 +01:00
Elisabeth Dickinson 21b1bf81b9 [IMP][CSS] Use BS font-weight variables and fix
Instead of redefining font-weights, we override the BS variables and add
one extra font-weight in the newly-introduced extended utilities file.
After this change all the variables needed replacing and some tweaking
was needed to get the same or closely similar result as before this
change.

By doing so the font-weight classes in the typography file were obsolete
and hence removed.
Some other font-weight issues which were already there have been fixed
in this commit too.
2023-01-05 12:53:11 +01:00
Elisabeth Dickinson f2c8501d8f [IMP][CSS] Fix color variable issue 2023-01-05 12:53:11 +01:00
Elisabeth Dickinson 699fdc0ceb [IMP][CSS] Revamp of the .o_spoiler element to use same code as alerts 2023-01-05 12:53:11 +01:00
Elisabeth Dickinson 61e5bf08b5 [IMP][CSS]Change order of imported scss files
The aim of this cleanup is to use as many bootstrap classes, functions
and utilities as possible to reduce the amount of extra code.
Instead of redefining variables, BS variables are overridden in the
bootstrap_overridden file.

In order to be able to reuse these overridden variables within our own
custom variable file — and after consultation with SRI — it was
determined that the variables.scss file should come after the bootstrap
files in the order of importation, unlike the order of odoo website's
scss files.

Changes to variables in bootstrap_overridden have been made to adapt to
the new structure.
2023-01-05 12:53:11 +01:00
Elisabeth Dickinson 6dbff460fb [IMP][CSS] Use CSS variables to style different alert types
CSS variables avoid having to repeat code for each alert type.
Also remove the need to add "tip" to the theme-colors (no need for "tip"
styled buttons, badges etc, especially as tips use the primary color) by
styling `.alert-tip` with customized copy of BS alert mechanism.

In order to be able to modify the icons with a CSS variable,
the `content` attribute has been removed from the `o-inline-icon` mixin.
Code where this mixin is called in other places has been adapted.
2023-01-05 12:53:11 +01:00
Elisabeth Dickinson 60ad2bdb7d [IMP][CSS] Place overrides in bootstrap_overridden file 2023-01-05 12:53:11 +01:00
Elisabeth Dickinson 35aaad62c9 [IMP][CSS] Clean up the file according to conventions
Includes reordering styles, renaming variables ($o-*),
re-indenting lines, removing commented code
2023-01-05 12:53:11 +01:00
Elisabeth Dickinson 9cd2ec28f7 [IMP][CSS] Set gray background to it's original darker color 2023-01-05 12:53:11 +01:00
Elisabeth Dickinson bed5b9edb7 [IMP][CSS] Improve literals styling (o_code, .sig-*) 2023-01-05 12:53:11 +01:00
Elisabeth Dickinson 5c931f7ec8 [IMP][CSS] Update _sphinx_basic.css after update of Sphinx
Note: Some code is commented instead of being deleted.
This allows us to keep track of what should be commented out in future
versions of Sphinx' basic CSS.
2023-01-05 12:53:10 +01:00
Elisabeth Dickinson b85a92be63 [IMP][CSS] Remove repetitive or unnused CSS 2023-01-05 12:53:10 +01:00
Elisabeth Dickinson e4afa7c177 [IMP][CSS] Improve margins on headings and sections 2023-01-05 12:53:10 +01:00
Elisabeth Dickinson a9d1450111 [IMP][CSS] Replace margin and padding values with variables 2023-01-05 12:53:10 +01:00
Elisabeth Dickinson 001fe6bd1e [IMP][CSS] Revamp modal to use all BS classes and variables 2023-01-05 12:53:10 +01:00
Elisabeth Dickinson 33cccf063f [IMP][CSS] Rescale heading fonts 2023-01-05 12:53:10 +01:00
Elisabeth Dickinson 4eab217696 [IMP][CSS] Cleanup font variables 2023-01-05 12:53:10 +01:00
Elisabeth Dickinson a85cb3bc92 [IMP][CSS] Cleanup admonitions (alerts) 2023-01-05 12:53:10 +01:00
Elisabeth Dickinson 1e0b95df13 [IMP][CSS] Cleanup color variables 2023-01-05 12:53:10 +01:00
Elisabeth Dickinson 778fbc37a6 [IMP][CSS] update literals styles (.o_code, .sig-*) 2023-01-05 12:53:10 +01:00
Antoine Vandevenne (anv) 2ef1219109 [IMP] odoo_theme: add the class o_code on literals
The SCSS that styles the `literal`, `code`, `file`, and `command` roles
is excessively complex because the traduction from RST to HTML is not
consistent from one role to another: some use `<code>` elements, some
have the `code` class, some wrap the literal with a `span` element.

This commit sets the `o_code` class on all of these roles' parent node
at translation time to allow simplifying the SCSS target.
2023-01-05 12:53:10 +01:00
Mahmoud Metwally 1a95d1cd6f Update qweb.rst
closes odoo/documentation#3289

X-original-commit: 8cde1f7b74
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-01-04 15:48:18 +01:00
Mahmoud Metwally 14be609d38 [FIX] rdtraining: fix writing errors
closes odoo/documentation#3276

Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-01-04 11:35:54 +01:00
Sam Lieber (sali) a63621dc7a [FIX] maintain: correct cname definition
closes odoo/documentation#3281

X-original-commit: 96cbb2375b
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-01-03 23:42:51 +01:00
Jason (jaae) 5c8abb54b9 [IMP] project: adding description to app page
closes odoo/documentation#3274

X-original-commit: cfaf4386c2
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-01-03 21:23:00 +01:00
Antoine Vandevenne (anv) 4d51aecd95 [IMP] README: remove version from links and rephrase explanations
task-2897123

closes odoo/documentation#3265

Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-01-03 20:14:55 +01:00
Antoine Vandevenne (anv) 872bee0033 [IMP] contributing/documentation: rewrite the contribution guide
This commit restructures the contributing/documentation page to re-use
content introduced with the contributing/development page and to
display the two ways to contribute (github vs git) in content tabs
rather than sections.

The guide is simplified and updated to delegate long explanations to
other pages or websites, remove useless images and focus on getting
users ready to contribute.

task-2897123

Part-of: odoo/documentation#3265
2023-01-03 20:14:55 +01:00
Antoine Vandevenne (anv) f778ba89af [ADD] contributing/development: add a guide to contribute to the codebase
In addition, this commit extracts the git guidelines from the coding
guidelines. This helps link the git guidelines and unclutter the coding
guidelines, which should focus on only the programming languages.

task-2897123

Part-of: odoo/documentation#3265
2023-01-03 20:14:55 +01:00
Julien Castiaux ca445c86c8 [IMP] core: additionnal country db for geoip
closes odoo/documentation#2151

Task: 2848206
Related: odoo/enterprise#27399
Related: odoo/odoo#91337
Signed-off-by: Julien Castiaux <juc@odoo.com>
Co-authored-by: Lau-Odoo <46811180+Lau-Odoo@users.noreply.github.com>
Co-authored-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-01-03 13:15:55 +01:00
LoredanaLrpz 26364227a6 [IMP] pos: update tip info, remove and update screenshots
closes odoo/documentation#3253

Taskid: 3005150
X-original-commit: 4b258e1401
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-01-03 09:52:46 +01:00
Michelle Vu (mivu) 49e02a9097 [IMP] Calendar: Outlook sync warning
If committed, this will add a more elaborate warning on what users must
do before syncing Odoo Calendar and Outlook Calendar. It also removes
mentions of the import/export process and archiving events, as these
methods will not prevent email spam from Outlook.

closes odoo/documentation#3234

X-original-commit: 5979a772e6
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Michelle (mivu) <mivu@odoo.com>
2022-12-27 19:05:53 +01:00
Antoine Vandevenne (anv) 03573426e1 [FIX] odoo_theme: update the aria attributes when scrolling the page TOC
The 'aria-expanded' attribute was not correctly updated on the `i` tag
when the user scrolled through the page TOC. This caused a minor issue
where an arrow (`i`) that was collapsed manually with a click would no
longer automatically expand afterward.

task-3106339

closes odoo/documentation#3239

X-original-commit: f068065d39
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-12-27 13:18:14 +01:00
Antoine Vandevenne (anv) 520cd5fb9e [IMP] odoo_theme: expand top level menu items on the homepage
When the user browses the homepage, it might be hard to figure out
where they want to go next. Expanding the top-level menu items could
help them with that.

task-3106339

X-original-commit: 5526f1ea07
Part-of: odoo/documentation#3239
2022-12-27 13:18:13 +01:00
oco-odoo a88ce0cb9e [IMP] accounting: full documentation of the new report engine
Engine report for accounting.

closes odoo/documentation#3226

Taskid: 3042880
X-original-commit: bf2d3d9ed2
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2022-12-21 18:38:49 +01:00
Antoine Vandevenne (anv) 88a6ef872a [FIX] legal: fix path to PDF version of legal agreements
closes odoo/documentation#3220

X-original-commit: 3b80d99db7
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-12-20 11:29:18 +01:00
Sam Lieber (sali) 90d76fabf7 [IMP] general: add notes about dev mode toggle
closes odoo/documentation#3212

X-original-commit: 54b903e512
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
2022-12-19 18:53:45 +01:00
LoredanaLrpz f1e601a3a2 [IMP] POS: upgrade the getting started page for 16.0
Task ID: 3090486

closes odoo/documentation#3219

X-original-commit: 4ba98634b8
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Perazzo Loredana (lrpz) <lrpz@odoo.com>
2022-12-19 16:48:53 +01:00
FrancoisGe e045da51b3 [IMP] web: adds the header to the list view
This commit adds the documentation related to the <header> tag to the list view.

closes odoo/documentation#3044

Related: odoo/odoo#106519
Related: odoo/enterprise#34387
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-12-16 18:40:01 +01:00
Zachary Straub (ZST) c619a6fca8 [IMP] email: add mail.default.from_filter
closes odoo/documentation#3211

X-original-commit: df041b1212
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
Signed-off-by: Zachary Straub <zst@odoo.com>
2022-12-15 21:19:02 +01:00
Victor Feyens 992223a284 [FIX] core: latex build
* latest droid package does not allow \usepackage{droid} anymore,
replace it with the right package

See https://github.com/MiKTeX/miktex-packaging/issues/136

* remove reference to package texlive-generic-recommended since
it's not available nor necessary since ubuntu 20.04.

closes odoo/documentation#3204

X-original-commit: 816f437064
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2022-12-15 21:18:57 +01:00
fdardenne 90313bc380 [IMP] developer: JavaScript tutorial: enhance chapter 1
This commit adds several small information on chapter 1 of the training
 owl:

- 1.1 How to get to the playground controller
- 1.2 Add a reference on sub component
- 1.4 How to activate the dev mode in owl

closes odoo/documentation#3194

X-original-commit: 1bd7e803e0
Signed-off-by: Dardenne Florent (dafl) <dafl@odoo.com>
2022-12-15 08:37:50 +01:00
LoredanaLrpz cafdb815e3 [ADD] pos: Stripe payment terminal + link to doc in payment provider
Task ID: 2574495

closes odoo/documentation#3189

X-original-commit: 6b6104f081
Signed-off-by: Perazzo Loredana (lrpz) <lrpz@odoo.com>
2022-12-13 10:05:15 +01:00
Tom Aarab (toaa) b0ad5ac69e [IMP] odoo.sh: Python libraries and packages
Added a note on packages and extensions support

closes odoo/documentation#3188

Taskid: 2836438
X-original-commit: b1f92ba879
Signed-off-by: Aarab Tom (toaa) <toaa@odoo.com>
2022-12-13 09:01:54 +01:00
Horacio Tellez eb8184542b [FIX] rdtraining: remove outdated line about journal_id in chapter 14
In chapter 14 there was a line pointing to how to deduce a default journal for an `account.move` record.
This is no longer needed as the journal is automatically deduced using the `move_type`. Also, the link
point to an outdated line of code that causes an error.

closes odoo/documentation#3183

X-original-commit: 67a75a3e11
Signed-off-by: Horacio Tellez Perez (hote) <hote@odoo.com>
2022-12-12 09:30:37 +01:00
Valentin Vallaeys (vava) 2ce56e4fb1 [FIX] developer: better definition for oe_inline
closes odoo/documentation#3173

X-original-commit: b2d0ab29a5
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-12-09 21:01:00 +01:00
Antoine Vandevenne (anv) b3a1f27461 [IMP] conf.py, *: interpolate the version and releases in the content
This commit replaces hard-coded occurrences of the version and of the
last, current and next releases' version with placeholders interpolated
at build time to avoid manually updating these after each freeze.

task-2917614

closes odoo/documentation#3170

X-original-commit: fa2d0f6363
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-12-09 13:03:46 +01:00
fdardenne 8a0df31fc5 [IMP] developer: JavaScript tutorial: chapter 2
This commit adds the chapter 2 of the JavaScript tutorial.

This new tutorial allows people to discover Owl and the building blocks
of the Odoo JavaScript framework.

closes odoo/documentation#3164

X-original-commit: c5c6daef22
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Dardenne Florent (dafl) <dafl@odoo.com>
Co-authored-by: Géry Debongnie <ged@odoo.com>
Co-authored-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-12-08 18:58:06 +01:00
KC (ksc) 124021800d [ADD] marketing automation: added 'getting started' section and docs to round out documentation
closes odoo/documentation#3162

X-original-commit: 4f6b03dc5b
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2022-12-08 16:59:01 +01:00
Antoine Vandevenne (anv) 2035a0b878 [IMP] contributing: list the ways to contribute to Odoo
task-2897123

closes odoo/documentation#3155

X-original-commit: a309372d83
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2022-12-08 15:51:24 +01:00
Donatienne Pirlot 52d7d84edb [IMP] accounting: different ways to record a payment
closes odoo/documentation#3148

X-original-commit: 7a57fb3c81
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2022-12-08 13:38:14 +01:00
Morgane (morm) 10bf041900 [IMP] documentation: legal page design
Prior to this commit, the terms and conditions were displayed in a table
with all the languages and it was not practical for the futur, with many
more languages.

task-3073198

closes odoo/documentation#3139

X-original-commit: a52a9eef2d
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-12-08 12:31:09 +01:00
Donatienne Pirlot 882123671b [IMP] sign: update the documentation related to sign app
closes odoo/documentation#3119

X-original-commit: 64e952bbe1
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2022-12-08 11:29:21 +01:00
jopa-odoo 7aef470156 [IMP] legal/fr: fix typos, spellcheck French translation
No changes to actual contents/semantics.

closes odoo/documentation#3138

X-original-commit: f9db0854b7
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2022-12-08 01:41:55 +01:00
Zachary Straub (ZST) 2aa3b2d89a [IMP] CRM: updating flow and screenshots about lead mining
Task: 2543815
Cherry pick from #998

Omitted changes proposed in the **track_leads** directory (e.g. `lead_scoring.rst` + image folder). Both the content and image updates were already pushed from another PR so what was proposed on #998 was outdated and no longer necessary.

What’s left over are the original proposed changes in #998, within the **acquire_leads** directory which include updates to `lead_mining.rst` and corresponding image files.

On top of these proposals, I went ahead and made the following changes:

- renamed the image files in the asset directory, since they were using outdated naming convention (e.g. LM1.png, LM6.png, LM7.png)
- cleaned up rst formatting issues (headings, line breaks, added guilabels, etc.)
- rewrote document so content was more concise + followed content guidelines. You can see the first version of proposals here to compare the changes made.

closes odoo/documentation#3131

X-original-commit: 2416a2e5e9
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Zachary Straub <zst@odoo.com>
2022-12-07 18:29:20 +01:00
“Chiara b4a1a4a0d0 [ACC] accounting: Forecasting bills
closes odoo/documentation#3127

Tasikd: 3069519
X-original-commit: 939d40c16d
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: chiaraprattico <chpr@odoo.com>
2022-12-07 15:32:09 +01:00
Jorge Pinna Puissant d0ae1cbce0 [IMP] views: setting view
This commit, add the documentation of the new DSL created exclusively
for the settings.

closes odoo/documentation#3092

Task-id: 3081367
Signed-off-by: Jorge Pinna Puissant (jpp) <jpp@odoo.com>
2022-12-07 11:49:50 +01:00
“Chiara 339b5dbfb6 [IMP] accounting: tax return
closes odoo/documentation#3117

X-original-commit: 1db9968faa
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: chiaraprattico <chpr@odoo.com>
2022-12-06 17:12:27 +01:00
Melanie Nguyen (meng) 914e339b37 [IMP] mail plugins: gmail plugin updates
Updated to reflect how to download Gmail Plugin from Google Workspace Marketplace for Odoo Online users; added new images

Closes Odoo Task 3001713

closes odoo/documentation#3111

X-original-commit: 88e00bf021
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2022-12-06 17:12:13 +01:00
Sam Lieber (sali) c58a06bede [IMP] accounting/l10n: AR update documentation
closes odoo/documentation#3107

X-original-commit: efb165d791
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2022-12-06 13:35:08 +01:00
Morgane (morm) b3b20ef355 [FIX] documentation: tabs responsiveness
Prior of this commit, the tabs were not responsive in the documentation

closes odoo/documentation#3081

X-original-commit: c9a001d22b
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-12-06 12:00:45 +01:00
“Chiara 9b57df9a8d [IMP] accounting: SEPA
closes odoo/documentation#3100

Taskid: 2890089
X-original-commit: 5628762fae
Signed-off-by: Platteau Xavier (xpl) <xpl@odoo.com>
Signed-off-by: chiaraprattico <chpr@odoo.com>
2022-12-06 08:23:53 +01:00
LoredanaLrpz 90bc7cba78 [IMP] POS: improve the page - update text and screenshots
closes odoo/documentation#3089

Taskid: 3004917
X-original-commit: 8ae05b9a4b
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Perazzo Loredana (lrpz) <lrpz@odoo.com>
2022-12-05 13:02:26 +01:00
Tom Aarab (toaa) 77a70dc8bf [IMP] Payment providers: advertise and document the "demo" provider
New page to document the new features of the demo payment provider, and
modifications to related pages

task id: 2982367

closes odoo/documentation#3088

X-original-commit: a1f4c3704b
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
Signed-off-by: Aarab Tom (toaa) <toaa@odoo.com>
2022-12-03 09:52:51 +01:00
Tom Aarab (toaa) 0e22a3c582 [IMP] paypal: typo update
V14 has a dedicated "Fees" tab for PayPal, current documentation does not reflect that.

closes odoo/documentation#3087

Taskid: 3089273
X-original-commit: d774094e87
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
Signed-off-by: Aarab Tom (toaa) <toaa@odoo.com>
2022-12-02 22:04:57 +01:00
LoredanaLrpz fc663c9a8c [IMP] pos: update and improve the page and screenshots
closes odoo/documentation#3073

Taskid: 3062150
X-original-commit: f2b8645a3c
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Perazzo Loredana (lrpz) <lrpz@odoo.com>
2022-12-02 12:45:19 +01:00
fdardenne 2110671090 [ADD] developer: add a tutorial on Owl
This commit adds the introduction and the chapter 1 of the new
Owl/JavaScript framework tutorial.

This new tutorial allows people to discover Owl and the building blocks
of the Odoo JavaScript framework.

closes odoo/documentation#3069

X-original-commit: 62051b643f
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Co-authored-by: Géry Debongnie <ged@odoo.com>
Co-authored-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-12-02 10:11:21 +01:00
“Chiara 3289d1a1c7 [IMP] accounting: update payments by check
closes odoo/documentation#3068

Taskid: 3062532
X-original-commit: 528d16c611
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: chiaraprattico <chpr@odoo.com>
2022-12-02 09:10:57 +01:00
Sam Lieber (sali) 7062012490 [ADD] discuss: specific email server from
closes odoo/documentation#2993

X-original-commit: ce1d0b216d
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
2022-11-30 16:07:46 +01:00
Jonathan Castillo (jcs) 9491605213 [IMP] contribution: typo in documentation.rst
closes odoo/documentation#3056

X-original-commit: f0fa7a2e22
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2022-11-30 15:06:25 +01:00
Antoine Vandevenne (anv) 6be97f3219 [IMP] contributing/documentation: suggest to clone with ssh
GitHub requires users to "use token-based authentication for all
authenticated operations", for example `git push`. See
https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/

This commit suggests new contributors to clone the repository with SSH
so that the remote URL is automatically configured with the SSH
protocol.

task-3036845

closes odoo/documentation#3042

X-original-commit: dfb7801484
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-11-29 15:22:41 +01:00
Wesley Kao (weka) 6f9ee7b414 [IMP] MRP: updated Kits doc rst content
Went through the existing kits documentation and changed a lot of the
content, as much of it was outdated. Also replaced the images with new
ones.

closes odoo/documentation#2997

X-original-commit: 426b66ec7b
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: weka-odoo <weka@odoo.com>
2022-11-28 18:51:44 +01:00
“Chiara bfadc58fbc [IMP] accounting: batch payments sdd
Forward to 16.0

closes odoo/documentation#3037

X-original-commit: d8f9c121ff
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: chiaraprattico <chpr@odoo.com>
2022-11-25 18:55:08 +01:00
Victor Feyens 2d1361c026 [FIX] developer/*: code blocks linting & fixes
invalid xml
invalid python
correct indentation

closes odoo/documentation#3029

X-original-commit: b2121b7891
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2022-11-25 10:52:04 +01:00
Victor Feyens 2b75fb4bbb [FIX] developer/*: consistent code-block language specification
X-original-commit: 387cf15e7f
Part-of: odoo/documentation#3029
2022-11-25 10:52:04 +01:00
Donatienne Pirlot aef7d05dc5 [IMP] Documents: improve and update the Documents documentation
closes odoo/documentation#3030

Id: 2899532
X-original-commit: 84e900f0f3
Signed-off-by: Pirlot Donatienne (dopi) <dopi@odoo.com>
2022-11-25 08:52:09 +01:00
Ivan Kropotkin 6c7ee83bc4 [FW][FIX] developer/reference: code example
closes odoo/documentation#3028

Forward-port-of: odoo/documentation#2943
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2022-11-24 19:25:27 +01:00
Jeff Nyalik 963de80d3e [FW][FIX] rdtraining: fix typo
Kind of a typo here " it will not possible" to "it will not be possible"

closes odoo/documentation#3023

Forward-port-of: odoo/documentation#3016
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-11-23 21:56:06 +01:00
Loan (lse) c2959cefce [IMP] point_of_sale: Adyen Event URLs configuration
Add more details as of how to set Adyen Event URLs.
This is important to configure as it is necessary to
receive a callback from Adyen terminal when a transaction
have been done.

OPW-3041117
OPW-3041117

closes odoo/documentation#3022

X-original-commit: aa9126b037
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2022-11-23 21:01:52 +01:00
Tori (vpk) dc6c4986d6 [ADD] Sales: new doc about returns and refunds
Task Number: 2514789

closes odoo/documentation#2989

X-original-commit: be0a995e21
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-11-23 18:15:42 +01:00
Donatienne Pirlot efe7cbcd26 [IMP] upgrade: updating screenshots and process steps
closes odoo/documentation#3015

X-original-commit: f0f6083ee5
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2022-11-22 20:50:30 +01:00
william-andre 7b7f79073a [IMP] cli: suggest auto complete script
Add a hint to how to build autocompletion values for odoo-bin

closes odoo/documentation#3010

X-original-commit: 025e365a9b
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: William André (wan) <wan@odoo.com>
2022-11-22 18:12:33 +01:00
Victor Feyens f6ac437b68 [IMP] developer/howtos: deprecate themes tutorial
This tutorial was already outdated in 13.0 (but
supposedly working).

In 14.0+, a lot of changes happened in website logic,
especially for 'website option definitions', breaking
the existing theme tutorial.

Considering the fact that a new tutorial is being made,
and that fixing the whole existing tutorial would be
a big work, it will be kept, but hidden as 'most things
being said still make sense'.

closes odoo/documentation#3006

X-original-commit: 9cc60baf46
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2022-11-21 22:20:35 +01:00
Victor Feyens 17fa2e0333 [FIX] developer/mobile: use spaces and not tabs for indentation
closes odoo/documentation#2984

Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2022-11-18 18:04:50 +01:00
Victor Feyens 197dbea3d2 [FIX] *: unbalanced literal markups
Part-of: odoo/documentation#2984
2022-11-18 18:04:50 +01:00
Victor Feyens c2f8d4bd44 [FIX] *: remove trailing whitespaces
Part-of: odoo/documentation#2984
2022-11-18 18:04:50 +01:00
Victor Feyens c60bc5f919 [FIX] *: enforce 1 newline on files end
Part-of: odoo/documentation#2984
2022-11-18 18:04:49 +01:00
Julien Castiaux 31aacc1791 [FIX] deploy.rst: nginx config for static files
In case of a source install the various places where static files can be
found are spread on the filesystem. The previous configuration sample
used custom internal locations but it turns out that it is only possible
to `try_files` on filesystem paths and on "named location (@ ones)".

This commit fixes the configuration sample so that it works for the
given situation where community and enterprise has been cloned from git.

task-3049538

closes odoo/documentation#2945

X-original-commit: 67cb3acd6a
Signed-off-by: Julien Castiaux <juc@odoo.com>
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-11-18 12:57:55 +01:00
Wesley Kao (weka) b208529745 [IMP] MRP: updated bills of materials rst content
Reviewed the 15.0 doc for Bills of Materials and made some edits to
clean up inconsistencies and made minor wording changes.

closes odoo/documentation#2966

X-original-commit: 1645e8c3da
Signed-off-by: Zachary Straub <zst@odoo.com>
2022-11-17 20:06:39 +01:00
Victor Feyens 5e3d4d0414 [CLN] core: upgrade to python 3.6
& sort imports

closes odoo/documentation#2976

X-original-commit: 57784a2f90
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2022-11-17 11:58:56 +01:00
Donatienne Pirlot 73730b3cf5 [IMP] accounting: ai powered document digitization page updated
ID: 2989846

If you feel that it might help a future reader to understand your commit

closes odoo/documentation#2953

X-original-commit: e381c454a2
Signed-off-by: Pirlot Donatienne (dopi) <dopi@odoo.com>
2022-11-15 19:21:54 +01:00
Donatienne Pirlot cab1a56722 [IMP] accounting: update the doc related to internal transfers
closes odoo/documentation#2951

Id: 2901915
X-original-commit: d36bacb54a
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Pirlot Donatienne (dopi) <dopi@odoo.com>
2022-11-15 18:25:34 +01:00
Donatienne Pirlot aced62f4b3 [ADD] accounting: provide information on the tax carryover feature
closes odoo/documentation#2947

X-original-commit: cc65809ec5
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Pirlot Donatienne (dopi) <dopi@odoo.com>
2022-11-15 18:25:31 +01:00
jopa-odoo 68b2aa6df4 [IMP] Legal: Update Dutch translation
Update of the Dutch translation of Odoo Enterprise Subscription agreemnt
2022-11-15 17:53:33 +01:00
Christophe Monniez ce9072f27a [FIX] install: update 15.0 references to 16.0
closes odoo/documentation#2944

X-original-commit: 62f9a96972
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2022-11-14 17:18:08 +01:00
Loan (lse) 35e09b26c1 [IMP] iot: Add part regarding screen
Add  more details as of how to connect a screen to the IoT box
and how it can be used.

OPW-2962462

closes odoo/documentation#2940

X-original-commit: 21edc4fcc7
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-11-14 13:02:03 +01:00
Tom Aarab (toaa) c69596bebc [IMP] accounting: updated chart of accounts v15
Creating account groups part was outdated.

task id: 2950820

closes odoo/documentation#2933

X-original-commit: 60ad93ea31
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Aarab Tom (toaa) <toaa@odoo.com>
2022-11-10 18:51:43 +01:00
Tom Aarab (toaa) 87facd654d [IMP] TaxCloud: updated doc
Changed out-of-date function and updated doc/changed grammar. Forward up to 16 (16 exluded)

task id: 2909436

closes odoo/documentation#2908

X-original-commit: 7cf109db1e
Signed-off-by: Platteau Xavier (xpl) <xpl@odoo.com>
2022-11-08 10:39:54 +01:00
Tom Aarab (toaa) 6725754169 [IMP] accounting: updated multiple payments page
Previous page was based on V13. Forward up to 16.

closes odoo/documentation#2919

Taskid: 3045197
X-original-commit: e4839ea7e9
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-11-07 13:50:26 +01:00
Tom Aarab (toaa) cabd6e7f85 [IMP] accounting: updated bank statement page
Previous version used V13 screenshots.

task - 2902004

closes odoo/documentation#2914

X-original-commit: de7fddab6c
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-11-07 11:27:04 +01:00
Chong Wang (cwg) d4923d6350 [IMP] orm/changelog: store translations in jsonb
closes odoo/documentation#2901

X-original-commit: f2fd03b8fc
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-11-03 16:43:31 +01:00
Xavier 8db94fe7fe [ADD] Studio: PDF reports
closes odoo/documentation#2895

Id: 2978638
X-original-commit: 5ad9d5eb0b
Signed-off-by: Platteau Xavier (xpl) <xpl@odoo.com>
2022-11-02 21:17:01 +01:00
“Chiara 5d7209d635 [IMP] accounting: Bank Synchronization: automatic import
closes odoo/documentation#2900

X-original-commit: 7fb5a21d64
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-11-02 19:19:53 +01:00
Antoine Vandevenne (anv) a154e01cee [IMP] extensions/spoilers: add an extension for spoilers
It is often needed in developer tutorials to show excerpts of code for
examples and solutions. This takes quite some page space and, for the
latter, it is not always desired to show the final code result right
after the exercise objective.

This commit adds a spoiler feature to the documentation to allow hiding
content until the reader wants to display it.

The feature relies on the new `.. spoiler:: Button label` directive.

task-3036845

closes odoo/documentation#2877

X-original-commit: 4d7a88639a
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Co-authored-by: Morgan Meganck <morm@odoo.com>
Co-authored-by: Stefano Rigano <sri@odoo.com>
2022-10-28 14:21:05 +02:00
stefanorigano (SRI) ece2d4c081 [IMP] odoo_theme: add default BS functions
Prior to this change it was not possible to use Bootstrap default SCSS
functions in 'bootstrap_overridden.scss'.

This commit mirrors odoo framework's architecture, injecting bootstrap
'_functions.scss' at the beginning of the documentation's SCSS "bundle".

Commit preparatory to the introduction of the 'Spoiler' documentation
component.

task-3036845

X-original-commit: 1691e8970b
Part-of: odoo/documentation#2877
2022-10-28 14:21:04 +02:00
Donatienne Pirlot 57f447e302 [IMP] accounting: update and improve the cash basis taxes documentation
closes odoo/documentation#2872

Id: 2381690
X-original-commit: 8770938a97
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-10-28 14:20:56 +02:00
Donatienne Pirlot 7858ac6c68 [IMP] accounting: update the bank accounts documentation
ID:2607774

closes odoo/documentation#2881

X-original-commit: 285252d1fd
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2022-10-28 13:23:09 +02:00
Olivier Dony e56bc8a5b9 [IMP] legal: OE v10a - clarified wording for Section 5.1
The "(at that time") wording could be confusing - the goal was really to
refer to the price at the time of the deviation, not the price at the
conclusion of the agreement. This should be clearer.

Validated with SBR.
2022-10-27 18:14:27 +02:00
Xavier Morel 18c2c74848 [REM] reference: long deprecated SavepointCase
closes odoo/documentation#2844

Related: odoo/enterprise#33244
Related: odoo/odoo#98138
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2022-10-26 19:03:50 +02:00
Victor Feyens e63b92a718 [FIX] developer/cli: remove unsupported cli options
Removed by https://github.com/odoo/odoo/commit/c0647b5c527440cf9f94b51f1c9a9c4d1f3b508e

Fixes odoo/odoo#104060

closes odoo/documentation#2863

X-original-commit: 1225c93112
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2022-10-26 01:58:48 +02:00
Victor Feyens ac813f2b5b [FIX] developer/guidelines: do not mention deprecated xml tags
act_window & report xml tags have been deprecated by
https://github.com/odoo/odoo/commit/6835aeb0de6895f7f4d6b23e0b4654465ef21d6a
two years ago, we should avoid mentioning them in the guidelines.

Furthermore, in 17.0 they won't be available anymore.

closes odoo/documentation#2862

X-original-commit: 758463edd4
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2022-10-25 21:20:53 +02:00
Zachary Straub (ZST) 6419980663 [IMP] inventory: thd batch updates
closes odoo/documentation#2855

X-original-commit: ac3ec17266
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-10-25 21:20:45 +02:00
niyasraphy 894e1be9c6 [IMP] report_barcode function: parameter type to barcode_type
https://github.com/odoo/odoo/commit/ee324e8374536cebca4d7302210b07e8f33d3852

closes odoo/documentation#2847

X-original-commit: 3f34c3874c
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2022-10-24 18:59:30 +02:00
Christophe Monniez 59db0ca18c [FIX] install: update installation from the nightly debian repo
As the `apt-key` command will is deprecated and will be removed in the
next Debian release, it's time to update the documentation.

closes odoo/documentation#2846

X-original-commit: 1c2d59b280
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-10-24 17:07:13 +02:00
Jonathan Castillo (jcs) ab1a7d0a69 [IMP] *: Remove "SaaS" to keep only the "Odoo Online" appellation
task-3034812

closes odoo/documentation#2839

X-original-commit: 9b69e0d77e
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2022-10-21 20:00:56 +02:00
Jonathan Castillo (jcs) 06d0ff6ca8 [IMP] *: consistency for the use of "Odoo Online" (and SaaS)
task-3034812

X-original-commit: 2c17b6fb4a
Part-of: odoo/documentation#2839
2022-10-21 20:00:55 +02:00
Xavier Morel 219a7cc82f [ADD] reference/orm: grouped method
closes odoo/documentation#2783

Related: odoo/odoo#101522
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2022-10-21 13:06:06 +02:00
nbe-odoo b9217c292a [FIX] website: rst and file organization for plausible.rst
- external links
- notes
- indentation
- media filenames
- images compression
- images alt tags
- light content improvement

closes odoo/documentation#2831

X-original-commit: 87392b7262
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
Co-authored-by: Nicolas Bebawi (nbe) <nbe@odoo.com>
Co-authored-by: Jonathan Castillo (jcs) <jcs@odoo.com>
2022-10-20 17:17:18 +02:00
zzk2000 814917793a [FW][FIX] administration/install: Odoo 16 distribution link
closes odoo/documentation#2830

Forward-port-of: odoo/documentation#2817
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2022-10-20 17:17:15 +02:00
tsm-odoo 7423cfa8f8 [IMP] install: add $connection_upgrade map documentation
Before this commit, following the install documentation to setup
the odoochat server would fail. This was due to the fact that the
documentation about how to define the `$connection_upgrade` variable
was missing.

This PR fixes this issue.

closes odoo/documentation#2829

X-original-commit: 9ed3575f19
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
Signed-off-by: Stockbauer Matthieu (tsm) <tsm@odoo.com>
2022-10-20 17:17:12 +02:00
Olivier Dony 9d9548da4a [IMP] legal: make PDF links relative
This way we don't need to update the links nor risk a desynchronization
between the version of the PDF and the HTML.

Previously version 15.0 and 16.0 still referenced the 14.0 PDFs
(which are the same at the moment, but still...)
2022-10-19 19:11:49 +02:00
Olivier Dony c1bc6ddf6e [FIX] legal: enterprise terms FR fall 2022 pricing typo 2022-10-19 19:11:45 +02:00
“Friederike f42bf525e9 [FIX] legal: enterprise terms DE translation update (v9c) 2022-10-19 19:11:41 +02:00
Elias ade054b752 [FIX] developer/howtos/rdtraining: Update warning message
Update warning output for missing access rules.
Also reflect up-to-date contents of res.country.state.csv.

closes odoo/documentation#2826

X-original-commit: e21dbd01c9
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2022-10-18 13:17:37 +02:00
Victor Feyens 9a5b5b0614 [FIX] *: Odoo 16 requires postgresql 12
Update the minimal version in the installation doc
Make all postgresql docs references target the v12 documentation
Fix some non http links on the way

closes odoo/documentation#2822

X-original-commit: 93b383e95d
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2022-10-18 12:19:30 +02:00
Olivier Dony 4fe6fbee12 [CHG] legal: enterprise terms for fall 2022 pricing
- removal of "per app" notion
- addition of "subscription plan" notion
2022-10-13 12:20:27 +02:00
Antoine Vandevenne (anv) cd549cb386 [IMP] supported_version: release 16.0 and deprecate 13.0
closes odoo/documentation#2814

X-original-commit: 3c61d24b1d
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-10-12 09:39:45 +02:00
Demesmaeker d41a66758f [IMP] sale_amazon: support all marketplaces
task-2939972

closes odoo/documentation#2806

X-original-commit: 91f3859a53
Related: odoo/enterprise#32699
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-10-11 16:57:18 +02:00
Victor Feyens 3a7be7730d [IMP] developer/orm: environment documentation
Move Environment explanation to the class docstring and autogenerate the
doc

Add documentation on some util methods.

closes odoo/documentation#2803

X-original-commit: 7c42ab8eaf
Related: odoo/odoo#102969
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2022-10-10 19:55:40 +02:00
Victor Feyens c8ab0c1535 [FIX] developer/iap: wrong :class: element
X-original-commit: b7f5b3e04b
Part-of: odoo/documentation#2803
2022-10-10 19:55:40 +02:00
Antoine Vandevenne (anv) 0e567a08de [IMP] reference/payment: auto-document the method _get_removal_values
Task - 3002532

closes odoo/documentation#2802

X-original-commit: 7696235acb
Related: odoo/odoo#102951
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-10-10 19:03:20 +02:00
Antoine Vandevenne (anv) 9baab389c9 [ADD] reference/standard_modules: API reference for the payment engine
task-2804999

closes odoo/documentation#2797

X-original-commit: 668ac2c650
Related: odoo/odoo#102716
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-10-09 09:11:46 +02:00
Xavier-Do 46a80f60c5 [ADD] developer/reference: add a reference page on performance
closes odoo/documentation#2794

X-original-commit: 4d8e3f9785
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Xavier Dollé (xdo) <xdo@odoo.com>
Co-authored-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-10-06 18:01:00 +02:00
Julien Van Roy aab2d6615a [IMP] accounting/electronic_invoicing: update factur-x usage
Update Factur-X mentions and screenshot.

task-2957808
https://github.com/odoo/odoo/pull/99699

closes odoo/documentation#2789

X-original-commit: 1387c5e8c3
Related: odoo/odoo#102311
Related: odoo/enterprise#32344
Signed-off-by: Julien Van Roy <juvr@odoo.com>
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2022-10-06 10:43:01 +02:00
Denis Ledoux 991b8142fe [IMP] developer/reference: move model view related methods out of orm
The model method `get_views` and `get_view` are moved
from `odoo/models.py` to `odoo/addons/base/models/ir_ui_view.py`.

The documentation is updated accordingly,
to put the documentation related to `get_views` in the
views chapter of the documentation.

closes odoo/documentation#2786

X-original-commit: 0bdf714112
Related: odoo/odoo#102117
Signed-off-by: Denis Ledoux (dle) <dle@odoo.com>
2022-10-04 18:06:37 +02:00
Aleksander f4bbbcb6c1 [FW][IMP] howtos/rdtraining: give the meaning of "ACL"
closes odoo/documentation#2779

Forward-port-of: odoo/documentation#2774
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-09-30 12:34:44 +02:00
Jonathan Quique (jqu) 768ab1b586 [IMP] email_communication: can't use Odoo STMP with another mail server
Customer may want to use their own SMTP for email marketing, and Odoo default SMTP for everything else. There is no good way to do this. Previously we suggested adding Odoo SMTP as an outgoing email server but we don't want to share credentials anymore.
R&D is working on a solution (e.g. showing the Odoo default email server in the list rather than keeping it as an "hidden feature") but for the time being, if you use an outgoing email server, you give up using the Odoo default SMTP.

closes odoo/documentation#2771

X-original-commit: 7b21e6001b
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-09-29 14:23:59 +02:00
Jonathan Castillo (jcs) 7424e4176c [IMP] website: register domain name menu path
closes odoo/documentation#2766

X-original-commit: 81352e98b2
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2022-09-28 00:20:45 +02:00
Wesley Kao (weka) 8287c88bd4 [IMP] MRP: updated Variants BOM Management rst content
closes odoo/documentation#2764

X-original-commit: b3d5e928aa
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-09-27 19:14:46 +02:00
Xavier-Do 53e7277b6a [FIX]: fix odoo_version detection
Right now if the version is not "final (and not alpha)"
documentation will say 16.0beta != 16.0

closes odoo/documentation#2748

X-original-commit: 406f3aac18
Signed-off-by: Xavier Dollé (xdo) <xdo@odoo.com>
2022-09-26 09:35:48 +02:00
Fabrice Henrion 2c7d61f938 [FIX] accounting: grammar fix in ponto
closes odoo/documentation#2759

X-original-commit: dad110c7cc
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2022-09-23 11:22:40 +02:00
3473 changed files with 320601 additions and 3587698 deletions
-17
View File
@@ -11,11 +11,6 @@ file_filter = locale/<lang>/LC_MESSAGES/applications.po
source_file = locale/sources/applications.pot
source_lang = en
[o:odoo:p:odoo-16-doc:r:essentials]
file_filter = locale/<lang>/LC_MESSAGES/essentials.po
source_file = locale/sources/essentials.pot
source_lang = en
[o:odoo:p:odoo-16-doc:r:finance]
file_filter = locale/<lang>/LC_MESSAGES/finance.po
source_file = locale/sources/finance.pot
@@ -26,13 +21,6 @@ file_filter = locale/<lang>/LC_MESSAGES/general.po
source_file = locale/sources/general.pot
source_lang = en
[o:odoo:p:odoo-16-doc:r:hr]
file_filter = locale/<lang>/LC_MESSAGES/hr.po
source_file = locale/sources/hr.pot
type = POT
minimum_perc = 0
resource_name = hr
[o:odoo:p:odoo-16-doc:r:index]
file_filter = locale/<lang>/LC_MESSAGES/index.po
source_file = locale/sources/index.pot
@@ -68,11 +56,6 @@ file_filter = locale/<lang>/LC_MESSAGES/settings.po
source_file = locale/sources/settings.pot
source_lang = en
[o:odoo:p:odoo-16-doc:r:studio]
file_filter = locale/<lang>/LC_MESSAGES/studio.po
source_file = locale/sources/studio.pot
source_lang = en
[o:odoo:p:odoo-16-doc:r:websites]
file_filter = locale/<lang>/LC_MESSAGES/websites.po
source_file = locale/sources/websites.pot
-13
View File
@@ -1,13 +0,0 @@
Most of the files are
Copyright (c) 2004-2023 Odoo S.A.
Some files may also contain contributions from third
parties. In this case the original copyright of
the contributions can be traced through the
history of the source version control system.
When that is not the case, the files contain a prominent
notice stating the original copyright and applicable
license, or come with their own dedicated COPYRIGHT
and/or LICENSE file.
-428
View File
@@ -1,428 +0,0 @@
Attribution-ShareAlike 4.0 International
=======================================================================
Creative Commons Corporation ("Creative Commons") is not a law firm and
does not provide legal services or legal advice. Distribution of
Creative Commons public licenses does not create a lawyer-client or
other relationship. Creative Commons makes its licenses and related
information available on an "as-is" basis. Creative Commons gives no
warranties regarding its licenses, any material licensed under their
terms and conditions, or any related information. Creative Commons
disclaims all liability for damages resulting from their use to the
fullest extent possible.
Using Creative Commons Public Licenses
Creative Commons public licenses provide a standard set of terms and
conditions that creators and other rights holders may use to share
original works of authorship and other material subject to copyright
and certain other rights specified in the public license below. The
following considerations are for informational purposes only, are not
exhaustive, and do not form part of our licenses.
Considerations for licensors: Our public licenses are
intended for use by those authorized to give the public
permission to use material in ways otherwise restricted by
copyright and certain other rights. Our licenses are
irrevocable. Licensors should read and understand the terms
and conditions of the license they choose before applying it.
Licensors should also secure all rights necessary before
applying our licenses so that the public can reuse the
material as expected. Licensors should clearly mark any
material not subject to the license. This includes other CC-
licensed material, or material used under an exception or
limitation to copyright. More considerations for licensors:
wiki.creativecommons.org/Considerations_for_licensors
Considerations for the public: By using one of our public
licenses, a licensor grants the public permission to use the
licensed material under specified terms and conditions. If
the licensor's permission is not necessary for any reason--for
example, because of any applicable exception or limitation to
copyright--then that use is not regulated by the license. Our
licenses grant only permissions under copyright and certain
other rights that a licensor has authority to grant. Use of
the licensed material may still be restricted for other
reasons, including because others have copyright or other
rights in the material. A licensor may make special requests,
such as asking that all changes be marked or described.
Although not required by our licenses, you are encouraged to
respect those requests where reasonable. More considerations
for the public:
wiki.creativecommons.org/Considerations_for_licensees
=======================================================================
Creative Commons Attribution-ShareAlike 4.0 International Public
License
By exercising the Licensed Rights (defined below), You accept and agree
to be bound by the terms and conditions of this Creative Commons
Attribution-ShareAlike 4.0 International Public License ("Public
License"). To the extent this Public License may be interpreted as a
contract, You are granted the Licensed Rights in consideration of Your
acceptance of these terms and conditions, and the Licensor grants You
such rights in consideration of benefits the Licensor receives from
making the Licensed Material available under these terms and
conditions.
Section 1 -- Definitions.
a. Adapted Material means material subject to Copyright and Similar
Rights that is derived from or based upon the Licensed Material
and in which the Licensed Material is translated, altered,
arranged, transformed, or otherwise modified in a manner requiring
permission under the Copyright and Similar Rights held by the
Licensor. For purposes of this Public License, where the Licensed
Material is a musical work, performance, or sound recording,
Adapted Material is always produced where the Licensed Material is
synched in timed relation with a moving image.
b. Adapter's License means the license You apply to Your Copyright
and Similar Rights in Your contributions to Adapted Material in
accordance with the terms and conditions of this Public License.
c. BY-SA Compatible License means a license listed at
creativecommons.org/compatiblelicenses, approved by Creative
Commons as essentially the equivalent of this Public License.
d. Copyright and Similar Rights means copyright and/or similar rights
closely related to copyright including, without limitation,
performance, broadcast, sound recording, and Sui Generis Database
Rights, without regard to how the rights are labeled or
categorized. For purposes of this Public License, the rights
specified in Section 2(b)(1)-(2) are not Copyright and Similar
Rights.
e. Effective Technological Measures means those measures that, in the
absence of proper authority, may not be circumvented under laws
fulfilling obligations under Article 11 of the WIPO Copyright
Treaty adopted on December 20, 1996, and/or similar international
agreements.
f. Exceptions and Limitations means fair use, fair dealing, and/or
any other exception or limitation to Copyright and Similar Rights
that applies to Your use of the Licensed Material.
g. License Elements means the license attributes listed in the name
of a Creative Commons Public License. The License Elements of this
Public License are Attribution and ShareAlike.
h. Licensed Material means the artistic or literary work, database,
or other material to which the Licensor applied this Public
License.
i. Licensed Rights means the rights granted to You subject to the
terms and conditions of this Public License, which are limited to
all Copyright and Similar Rights that apply to Your use of the
Licensed Material and that the Licensor has authority to license.
j. Licensor means the individual(s) or entity(ies) granting rights
under this Public License.
k. Share means to provide material to the public by any means or
process that requires permission under the Licensed Rights, such
as reproduction, public display, public performance, distribution,
dissemination, communication, or importation, and to make material
available to the public including in ways that members of the
public may access the material from a place and at a time
individually chosen by them.
l. Sui Generis Database Rights means rights other than copyright
resulting from Directive 96/9/EC of the European Parliament and of
the Council of 11 March 1996 on the legal protection of databases,
as amended and/or succeeded, as well as other essentially
equivalent rights anywhere in the world.
m. You means the individual or entity exercising the Licensed Rights
under this Public License. Your has a corresponding meaning.
Section 2 -- Scope.
a. License grant.
1. Subject to the terms and conditions of this Public License,
the Licensor hereby grants You a worldwide, royalty-free,
non-sublicensable, non-exclusive, irrevocable license to
exercise the Licensed Rights in the Licensed Material to:
a. reproduce and Share the Licensed Material, in whole or
in part; and
b. produce, reproduce, and Share Adapted Material.
2. Exceptions and Limitations. For the avoidance of doubt, where
Exceptions and Limitations apply to Your use, this Public
License does not apply, and You do not need to comply with
its terms and conditions.
3. Term. The term of this Public License is specified in Section
6(a).
4. Media and formats; technical modifications allowed. The
Licensor authorizes You to exercise the Licensed Rights in
all media and formats whether now known or hereafter created,
and to make technical modifications necessary to do so. The
Licensor waives and/or agrees not to assert any right or
authority to forbid You from making technical modifications
necessary to exercise the Licensed Rights, including
technical modifications necessary to circumvent Effective
Technological Measures. For purposes of this Public License,
simply making modifications authorized by this Section 2(a)
(4) never produces Adapted Material.
5. Downstream recipients.
a. Offer from the Licensor -- Licensed Material. Every
recipient of the Licensed Material automatically
receives an offer from the Licensor to exercise the
Licensed Rights under the terms and conditions of this
Public License.
b. Additional offer from the Licensor -- Adapted Material.
Every recipient of Adapted Material from You
automatically receives an offer from the Licensor to
exercise the Licensed Rights in the Adapted Material
under the conditions of the Adapter's License You apply.
c. No downstream restrictions. You may not offer or impose
any additional or different terms or conditions on, or
apply any Effective Technological Measures to, the
Licensed Material if doing so restricts exercise of the
Licensed Rights by any recipient of the Licensed
Material.
6. No endorsement. Nothing in this Public License constitutes or
may be construed as permission to assert or imply that You
are, or that Your use of the Licensed Material is, connected
with, or sponsored, endorsed, or granted official status by,
the Licensor or others designated to receive attribution as
provided in Section 3(a)(1)(A)(i).
b. Other rights.
1. Moral rights, such as the right of integrity, are not
licensed under this Public License, nor are publicity,
privacy, and/or other similar personality rights; however, to
the extent possible, the Licensor waives and/or agrees not to
assert any such rights held by the Licensor to the limited
extent necessary to allow You to exercise the Licensed
Rights, but not otherwise.
2. Patent and trademark rights are not licensed under this
Public License.
3. To the extent possible, the Licensor waives any right to
collect royalties from You for the exercise of the Licensed
Rights, whether directly or through a collecting society
under any voluntary or waivable statutory or compulsory
licensing scheme. In all other cases the Licensor expressly
reserves any right to collect such royalties.
Section 3 -- License Conditions.
Your exercise of the Licensed Rights is expressly made subject to the
following conditions.
a. Attribution.
1. If You Share the Licensed Material (including in modified
form), You must:
a. retain the following if it is supplied by the Licensor
with the Licensed Material:
i. identification of the creator(s) of the Licensed
Material and any others designated to receive
attribution, in any reasonable manner requested by
the Licensor (including by pseudonym if
designated);
ii. a copyright notice;
iii. a notice that refers to this Public License;
iv. a notice that refers to the disclaimer of
warranties;
v. a URI or hyperlink to the Licensed Material to the
extent reasonably practicable;
b. indicate if You modified the Licensed Material and
retain an indication of any previous modifications; and
c. indicate the Licensed Material is licensed under this
Public License, and include the text of, or the URI or
hyperlink to, this Public License.
2. You may satisfy the conditions in Section 3(a)(1) in any
reasonable manner based on the medium, means, and context in
which You Share the Licensed Material. For example, it may be
reasonable to satisfy the conditions by providing a URI or
hyperlink to a resource that includes the required
information.
3. If requested by the Licensor, You must remove any of the
information required by Section 3(a)(1)(A) to the extent
reasonably practicable.
b. ShareAlike.
In addition to the conditions in Section 3(a), if You Share
Adapted Material You produce, the following conditions also apply.
1. The Adapter's License You apply must be a Creative Commons
license with the same License Elements, this version or
later, or a BY-SA Compatible License.
2. You must include the text of, or the URI or hyperlink to, the
Adapter's License You apply. You may satisfy this condition
in any reasonable manner based on the medium, means, and
context in which You Share Adapted Material.
3. You may not offer or impose any additional or different terms
or conditions on, or apply any Effective Technological
Measures to, Adapted Material that restrict exercise of the
rights granted under the Adapter's License You apply.
Section 4 -- Sui Generis Database Rights.
Where the Licensed Rights include Sui Generis Database Rights that
apply to Your use of the Licensed Material:
a. for the avoidance of doubt, Section 2(a)(1) grants You the right
to extract, reuse, reproduce, and Share all or a substantial
portion of the contents of the database;
b. if You include all or a substantial portion of the database
contents in a database in which You have Sui Generis Database
Rights, then the database in which You have Sui Generis Database
Rights (but not its individual contents) is Adapted Material,
including for purposes of Section 3(b); and
c. You must comply with the conditions in Section 3(a) if You Share
all or a substantial portion of the contents of the database.
For the avoidance of doubt, this Section 4 supplements and does not
replace Your obligations under this Public License where the Licensed
Rights include other Copyright and Similar Rights.
Section 5 -- Disclaimer of Warranties and Limitation of Liability.
a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
c. The disclaimer of warranties and limitation of liability provided
above shall be interpreted in a manner that, to the extent
possible, most closely approximates an absolute disclaimer and
waiver of all liability.
Section 6 -- Term and Termination.
a. This Public License applies for the term of the Copyright and
Similar Rights licensed here. However, if You fail to comply with
this Public License, then Your rights under this Public License
terminate automatically.
b. Where Your right to use the Licensed Material has terminated under
Section 6(a), it reinstates:
1. automatically as of the date the violation is cured, provided
it is cured within 30 days of Your discovery of the
violation; or
2. upon express reinstatement by the Licensor.
For the avoidance of doubt, this Section 6(b) does not affect any
right the Licensor may have to seek remedies for Your violations
of this Public License.
c. For the avoidance of doubt, the Licensor may also offer the
Licensed Material under separate terms or conditions or stop
distributing the Licensed Material at any time; however, doing so
will not terminate this Public License.
d. Sections 1, 5, 6, 7, and 8 survive termination of this Public
License.
Section 7 -- Other Terms and Conditions.
a. The Licensor shall not be bound by any additional or different
terms or conditions communicated by You unless expressly agreed.
b. Any arrangements, understandings, or agreements regarding the
Licensed Material not stated herein are separate from and
independent of the terms and conditions of this Public License.
Section 8 -- Interpretation.
a. For the avoidance of doubt, this Public License does not, and
shall not be interpreted to, reduce, limit, restrict, or impose
conditions on any use of the Licensed Material that could lawfully
be made without permission under this Public License.
b. To the extent possible, if any provision of this Public License is
deemed unenforceable, it shall be automatically reformed to the
minimum extent necessary to make it enforceable. If the provision
cannot be reformed, it shall be severed from this Public License
without affecting the enforceability of the remaining terms and
conditions.
c. No term or condition of this Public License will be waived and no
failure to comply consented to unless expressly agreed to by the
Licensor.
d. Nothing in this Public License constitutes or may be interpreted
as a limitation upon, or waiver of, any privileges and immunities
that apply to the Licensor or You, including from the legal
processes of any jurisdiction or authority.
=======================================================================
Creative Commons is not a party to its public
licenses. Notwithstanding, Creative Commons may elect to apply one of
its public licenses to material it publishes and in those instances
will be considered the “Licensor.” The text of the Creative Commons
public licenses is dedicated to the public domain under the CC0 Public
Domain Dedication. Except for the limited purpose of indicating that
material is shared under a Creative Commons public license or as
otherwise permitted by the Creative Commons policies published at
creativecommons.org/policies, Creative Commons does not authorize the
use of the trademark "Creative Commons" or any other trademark or logo
of Creative Commons without its prior written consent including,
without limitation, in connection with any unauthorized modifications
to any of its public licenses or any other arrangements,
understandings, or agreements concerning use of licensed material. For
the avoidance of doubt, this paragraph does not form part of the
public licenses.
Creative Commons may be contacted at creativecommons.org.
+2 -13
View File
@@ -18,7 +18,6 @@ CONFIG_DIR = .
SPHINXOPTS = -D project_root=$(ROOT) -D canonical_version=$(CANONICAL_VERSION) \
-D versions=$(VERSIONS) -D languages=$(LANGUAGES) -D language=$(CURRENT_LANG) \
-D is_remote_build=$(IS_REMOTE_BUILD) \
-T \
-A google_analytics_key=$(GOOGLE_ANALYTICS_KEY) \
-A plausible_script=$(PLAUSIBLE_SCRIPT) \
-A plausible_domain=$(PLAUSIBLE_DOMAIN) \
@@ -27,7 +26,7 @@ SOURCE_DIR = content
HTML_BUILD_DIR = $(BUILD_DIR)/html
ifdef VERSIONS
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/16.0
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/master
endif
ifneq ($(CURRENT_LANG),en)
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/$(CURRENT_LANG)
@@ -85,15 +84,5 @@ static: $(HTML_BUILD_DIR)/_static/style.css
cp -r extensions/odoo_theme/static/* $(HTML_BUILD_DIR)/_static/
cp -r static/* $(HTML_BUILD_DIR)/_static/
# Called by runbot for the ci/documentation_guideline check.
test:
@python tests/main.py $(SOURCE_DIR)/administration $(SOURCE_DIR)/applications $(SOURCE_DIR)/contributing $(SOURCE_DIR)/developer redirects
# Similar as `test`, but called only manually by content reviewers to trigger extra checks.
review:
@read -p "Enter relative content path: " path; read -p "Enter max line length (default: 100): " line_length; \
if [ -z "$$path" ]; then echo "Error: Path cannot be empty"; exit 1; fi; \
if echo $$path | grep -q 'content/'; then path=`echo $$path | sed 's|content/||'`; fi; \
if [ -z "$$line_length" ]; then line_length=100; fi; \
export REVIEW=1; \
python tests/main.py --max-line-length=$$line_length $(SOURCE_DIR)/$$path
@python tests/main.py $(SOURCE_DIR)/administration $(SOURCE_DIR)/applications $(SOURCE_DIR)/contributing $(SOURCE_DIR)/developer $(SOURCE_DIR)/services redirects
+2 -4
View File
@@ -9,7 +9,6 @@
- Python dependencies listed in the file `requirements.txt`.
- Make
- A local copy of the [odoo/odoo repository](https://github.com/odoo/odoo) (optional)
- A local copy of the [odoo/upgrade-util repository](https://github.com/odoo/upgrade-util) (optional)
### Instructions
@@ -19,9 +18,8 @@
3. See [this guide](https://www.odoo.com/documentation/latest/contributing/documentation.html)
for more detailed instructions.
Optional: place your local copy of the `odoo/odoo` and `odoo/upgrade-util` repositories in
the parent directory or in the root directory of the documentation to build the latter
with the documented Python docstrings.
Optional: place your local copy of the `odoo/odoo` repository in the parent directory or in the root
directory of the documentation to build the latter with the documented Python docstrings.
## Contribute to the documentation
+8 -51
View File
@@ -22,7 +22,7 @@ copyright = 'Odoo S.A.'
# `version` is the version info for the project being documented, acts as replacement for |version|,
# also used in various other places throughout the built documents.
# `release` is the full version, including alpha/beta/rc tags. Acts as replacement for |release|.
version = release = '16.0'
version = release = 'master'
# `current_branch` is the technical name of the current branch.
# E.g., saas-15.4 -> saas-15.4; 12.0 -> 12.0, master -> master (*).
@@ -133,24 +133,6 @@ else:
)
odoo_dir_in_path = True
if odoo_dir_in_path:
upgrade_util_dir = next(filter(Path.exists, [Path('upgrade-util'), Path('../upgrade-util')]), None)
if not upgrade_util_dir:
_logger.warning(
"Could not find Upgrade Utils sources directory in `upgrade_util`.\n"
"The developer documentation will be built but autodoc directives will be skipped.\n"
"In order to fully build the 'Developer' documentation, clone the repository with "
"`git clone https://github.com/odoo/upgrade-util` or create a symbolic link."
)
odoo_dir_in_path = False
else:
_logger.info(
"Found Upgrade Util sources in %(directory)s",
{'directory': upgrade_util_dir.resolve()},
)
from odoo import upgrade
upgrade.__path__.append(str((upgrade_util_dir / 'src').resolve()))
# Mapping between odoo models related to master data and the declaration of the
# data. This is used to point users to available xml_ids when giving values for
# a field with the autodoc_field extension.
@@ -231,12 +213,14 @@ sphinx.transforms.i18n.docname_to_domain = (
# is populated. If a version is passed to `versions` but is not listed here, it will not be shown.
versions_names = {
'master': "Master",
'18.0': "Odoo 18",
'saas-17.4': "Odoo Online",
'saas-17.2': "Odoo Online",
'17.0': "Odoo 17",
'saas-16.3': "Odoo Online",
'saas-16.2': "Odoo Online",
'saas-16.1': "Odoo Online",
'16.0': "Odoo 16",
'saas-15.2': "Odoo Online",
'15.0': "Odoo 15",
'14.0': "Odoo 14",
'13.0': "Odoo 13",
}
# The language names that should be shown in the language switcher, if the config option `languages`
@@ -245,14 +229,10 @@ languages_names = {
'de': 'DE',
'en': 'EN',
'es': 'ES',
'es_419': 'ES (LATAM)',
'fr': 'FR',
'it': 'IT',
'ko': 'KR',
'nl': 'NL',
'pt_BR': 'PT',
'ro': 'RO',
'sv': 'SV',
'uk': 'UA',
'zh_CN': 'ZH (CN)',
'zh_TW': 'ZH (TW)'
@@ -264,9 +244,6 @@ redirects_dir = 'redirects/'
sphinx_tabs_disable_tab_closing = True
sphinx_tabs_disable_css_loading = True
# Autodoc ordering
autodoc_member_order = 'bysource'
#=== Options for HTML output ===#
html_theme = 'odoo_theme'
@@ -336,15 +313,11 @@ latex_documents = [
('legal/terms/i18n/enterprise_tex_de', 'odoo_enterprise_agreement_de.tex',
'Odoo Enterprise Subscription Agreement (DE)', '', 'howto'),
('legal/terms/i18n/terms_of_sale_de', 'terms_of_sale_de.tex',
'Allgemeine Verkaufsbedingungen Odoo', '', 'howto'),
('legal/terms/i18n/enterprise_tex_es', 'odoo_enterprise_agreement_es.tex',
'Odoo Enterprise Subscription Agreement (ES)', '', 'howto'),
('legal/terms/i18n/partnership_tex_es',
'odoo_partnership_agreement_es.tex', 'Odoo Partnership Agreement (ES)', '', 'howto'),
('legal/terms/i18n/terms_of_sale_es', 'terms_of_sale_es.tex',
'Términos Generales de Venta Odoo', '', 'howto'),
('legal/terms/i18n/enterprise_tex_pt_BR', 'odoo_enterprise_agreement_pt_BR.tex',
'Odoo Enterprise Subscription Agreement (PT)', '', 'howto'),
@@ -466,7 +439,7 @@ def _generate_alternate_urls(app, pagename, templatename, context, doctree):
"""
_current_lang = app.config.language or 'en'
# Replace the context value by its upper-cased value ("FR" instead of "fr")
context['language'] = languages_names.get(_current_lang, _current_lang.upper())
context['language'] = languages_names.get(_current_lang)
context['language_code'] = _current_lang
# If the list of languages is not set, assume that the project has no alternate language
@@ -500,24 +473,8 @@ def _generate_alternate_urls(app, pagename, templatename, context, doctree):
_version = _version or app.config.version
_lang = _lang or app.config.language or 'en'
_canonical_page = f'{pagename}.html'
# legal translations have different URLs schemes as they are not managed on transifex
# e.g. FR translation of /terms/enterprise => /fr/terms/enterprise_fr
if pagename.startswith('legal/terms/'):
if _lang in legal_translations and not pagename.endswith(f"_{_lang}"):
# remove language code for current translation, set target one
_page = re.sub("_[a-z]{2}$", "", pagename)
if 'terms/i18n' not in _page:
_page = _page.replace("/terms/", "/terms/i18n/")
_canonical_page = f'{_page}_{_lang}.html'
elif _lang == 'en' and pagename.endswith(tuple(f"_{l}" for l in legal_translations)):
# remove language code for current translation, link to original EN one
_page = re.sub("_[a-z]{2}$", "", pagename)
_canonical_page = f'{_page.replace("/i18n/", "/")}.html'
if app.config.is_remote_build:
_canonical_page = _canonical_page.replace('index.html', '')
return f'{_root}' \
f'{f"/{_version}" if app.config.versions else ""}' \
f'{f"/{_lang}" if _lang != "en" else ""}' \
+7 -50
View File
@@ -3,63 +3,20 @@
:hide-page-toc:
:show-toc:
===================
Database management
===================
====================
Install and Maintain
====================
These guides provide instructions on how to install, maintain and upgrade Odoo databases.
.. seealso::
:doc:`History of Versions <administration/supported_versions>`
Installation
============
Depending on the intended use case, there are multiple ways to install Odoo - or not install it at
all.
- :doc:`Online <administration/odoo_online>` is the easiest way to use Odoo in production or to try it.
- :doc:`Packaged installers <administration/on_premise/packages>` are suitable for testing Odoo and
developing modules. They can be used for long-term production with additional deployment and
maintenance work.
- :doc:`Source install <administration/on_premise/source>` provides greater flexibility, as it
allows, for example, running multiple Odoo versions on the same system. It is adequate to develop
modules and can be used as a base for production deployment.
- A `Docker <https://hub.docker.com/_/odoo/>`_ base image is available for development or
deployment.
.. _install/editions:
Editions
========
There are two different editions.
**Odoo Community** is the free and open-source version of the software, licensed under the `GNU
LGPLv3 <https://github.com/odoo/odoo/blob/master/LICENSE>`_. It is the core upon which Odoo
Enterprise is built.
**Odoo Enterprise** is the shared source version of the software, giving access to more
functionalities, including functional support, upgrades, and hosting. `Pricing
<https://www.odoo.com/pricing-plan>`_ starts from one app free.
.. tip::
:doc:`Switch from Community to Enterprise <administration/on_premise/community_to_enterprise>` at
any time (except for the source install).
:doc:`History of Versions <administration/maintain/supported_versions>`
.. toctree::
:titlesonly:
administration/hosting
administration/odoo_online
administration/odoo_sh
administration/on_premise
administration/install
administration/maintain
administration/upgrade
administration/neutralized_database
administration/supported_versions
administration/mobile
administration/odoo_accounts
administration/odoo_sh
-121
View File
@@ -1,121 +0,0 @@
=======
Hosting
=======
.. _hosting/change-solution:
Change hosting solution
=======================
The instructions to change the hosting type of a database depend on the current solution used and to
which solution the database should be moved.
Transferring an on-premise database
===================================
To Odoo Online
--------------
.. important::
- Odoo Online is *not* compatible with **non-standard apps**.
- The database's current version must be :doc:`supported <supported_versions>`.
#. Create a :ref:`duplicate of the database <on-premise/duplicate>`.
#. In this duplicate, uninstall all **non-standard apps**.
#. Use the database manager to grab a *dump with filestore*.
#. `Submit a support ticket <https://www.odoo.com/help>`_ including the following:
- your **subscription number**,
- the **URL** you want to use for the database (e.g., `company.odoo.com`), and
- the **dump** as an attachment or as a link to the file (required for 60 MB+ files).
#. Odoo then makes sure the database is compatible before putting it online. In case of technical
issues during the process, Odoo might contact you.
.. note::
If you have time constraints, `submit a support ticket <https://www.odoo.com/help>`_ as soon as
possible to schedule the transfer.
To Odoo.sh
----------
Follow the instructions found in :ref:`the Import your database section
<odoo_sh_import_your_database>` of the Odoo.sh *Create your project* documentation.
Transferring an Odoo Online database
====================================
.. important::
Odoo Online's :ref:`intermediary versions <supported_versions>` are not supported by Odoo.sh or
on-premise. Therefore, if the database to transfer is running an intermediary version, it must be
upgraded first to the next :ref:`major version <supported_versions>`, waiting for its release if
necessary.
.. example::
Transferring an online database running on Odoo 16.3 would require first upgrading it to Odoo
17.0.
.. tip::
Click the gear icon (:guilabel:`⚙`) next to the database name on the `Odoo Online database
manager <https://www.odoo.com/my/databases/>`_ to display its version number.
.. warning::
If there is an active Odoo subscription linked to the database being migrated, reach out to
the Customer Service Manager or `submit a support ticket <https://www.odoo.com/help>`_ to
complete the subscription transfer.
To on-premise
-------------
#. Sign in to `the Odoo Online database manager <https://www.odoo.com/my/databases/>`_ and click the
gear icon (:guilabel:`⚙`) next to the database name to :guilabel:`Download` a backup. If the
download fails due to the file being too large, `contact Odoo support
<https://www.odoo.com/help>`_.
#. Restore the database from the database manager on your local server using the backup.
To Odoo.sh
----------
#. Sign in to `the Odoo Online database manager <https://www.odoo.com/my/databases/>`_ and click the
gear icon (:guilabel:`⚙`) next to the database name to :guilabel:`Download` a backup. If the
download fails due to the file being too large, `contact Odoo support
<https://www.odoo.com/help>`_.
#. Follow the instructions found in :ref:`the Import your database section
<odoo_sh_import_your_database>` of the Odoo.sh *Create your project* documentation.
Transferring an Odoo.sh database
================================
To Odoo Online
--------------
.. important::
Odoo Online is *not* compatible with **non-standard apps**.
#. Uninstall all **non-standard apps** in a staging build before doing it in the production build.
#. `Create a support ticket <https://www.odoo.com/help>`_ including the following:
- your **subscription number**,
- the **URL** you want to use for the database (e.g., `company.odoo.com`),
- which **branch** should be migrated,
- in which **region** you want the database to be hosted (Americas, Europe, or Asia),
- which user(s) will be the **administrator(s)**, and
- **when** (and in which timezone) you want the database to be up and running.
#. Odoo then makes sure the database is compatible before putting it online. In case of technical
issues during the process, Odoo might contact you.
.. note::
- If you have time constraints, `submit a support ticket <https://www.odoo.com/help>`_ as soon as
possible to schedule the transfer.
- Select the **region** closest to most of your users to reduce latency.
- Future **administrator(s)** must have an Odoo.com account.
- The **date and time** you want the database to be up and running are helpful to organize the
switch from the Odoo.sh server to the Odoo Online servers.
- Databases are **not reachable** during their migration.
To on-premise
-------------
#. Download a :ref:`backup of your Odoo.sh production database <odoo_sh_branches_backups>`.
#. Restore the database from the database manager on your local server using the backup.
+14
View File
@@ -0,0 +1,14 @@
:nosearch:
=======
Install
=======
.. If you add content on this page, remove the redirect rule 'install -> install/install'
.. toctree::
install/install
install/deploy
install/cdn
install/email_gateway
@@ -57,7 +57,7 @@ Configure the Odoo instance with the new zone
In the Odoo :guilabel:`Website` app, go to the :menuselection:`Settings` and then activate the
:guilabel:`Content Delivery Network (CDN)` setting and copy/paste the :guilabel:`Zone URL` value
from the earlier step into the :guilabel:`CDN Base URL` field. This field is only visible and
configurable when the :ref:`developer mode <developer-mode>` is activated.
configurable when :doc:`Developer Mode <../../applications/general/developer_mode>` is activated.
.. note::
Ensure that there are two *forward slashes* (`//`) before the :guilabel:`CDN Base URL` and one

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Before

Width:  |  Height:  |  Size: 64 KiB

After

Width:  |  Height:  |  Size: 64 KiB

Before

Width:  |  Height:  |  Size: 7.8 KiB

After

Width:  |  Height:  |  Size: 7.8 KiB

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 29 KiB

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

+742
View File
@@ -0,0 +1,742 @@
====================
System configuration
====================
This document describes basic steps to set up Odoo in production or on an
internet-facing server. It follows :ref:`installation <setup/install>`, and is
not generally necessary for a development systems that is not exposed on the
internet.
.. warning:: If you are setting up a public server, be sure to check our :ref:`security` recommendations!
.. _db_filter:
dbfilter
========
Odoo is a multi-tenant system: a single Odoo system may run and serve a number
of database instances. It is also highly customizable, with customizations
(starting from the modules being loaded) depending on the "current database".
This is not an issue when working with the backend (web client) as a logged-in
company user: the database can be selected when logging in, and customizations
loaded afterwards.
However it is an issue for non-logged users (portal, website) which aren't
bound to a database: Odoo needs to know which database should be used to load
the website page or perform the operation. If multi-tenancy is not used that is not an
issue, there's only one database to use, but if there are multiple databases
accessible Odoo needs a rule to know which one it should use.
That is one of the purposes of :option:`--db-filter <odoo-bin --db-filter>`:
it specifies how the database should be selected based on the hostname (domain)
that is being requested. The value is a `regular expression`_, possibly
including the dynamically injected hostname (``%h``) or the first subdomain
(``%d``) through which the system is being accessed.
For servers hosting multiple databases in production, especially if ``website``
is used, dbfilter **must** be set, otherwise a number of features will not work
correctly.
Configuration samples
---------------------
* Show only databases with names beginning with 'mycompany'
in :ref:`the configuration file <reference/cmdline/config_file>` set:
.. code-block:: ini
[options]
dbfilter = ^mycompany.*$
* Show only databases matching the first subdomain after ``www``: for example
the database "mycompany" will be shown if the incoming request
was sent to ``www.mycompany.com`` or ``mycompany.co.uk``, but not
for ``www2.mycompany.com`` or ``helpdesk.mycompany.com``.
in :ref:`the configuration file <reference/cmdline/config_file>` set:
.. code-block:: ini
[options]
dbfilter = ^%d$
.. note::
Setting a proper :option:`--db-filter <odoo-bin --db-filter>` is an important part
of securing your deployment.
Once it is correctly working and only matching a single database per hostname, it
is strongly recommended to block access to the database manager screens,
and to use the ``--no-database-list`` startup parameter to prevent listing
your databases, and to block access to the database management screens.
See also security_.
PostgreSQL
==========
By default, PostgreSQL only allows connection over UNIX sockets and loopback
connections (from "localhost", the same machine the PostgreSQL server is
installed on).
UNIX socket is fine if you want Odoo and PostgreSQL to execute on the same
machine, and is the default when no host is provided, but if you want Odoo and
PostgreSQL to execute on different machines [#different-machines]_ it will
need to `listen to network interfaces`_ [#remote-socket]_, either:
* Only accept loopback connections and `use an SSH tunnel`_ between the
machine on which Odoo runs and the one on which PostgreSQL runs, then
configure Odoo to connect to its end of the tunnel
* Accept connections to the machine on which Odoo is installed, possibly
over ssl (see `PostgreSQL connection settings`_ for details), then configure
Odoo to connect over the network
Configuration sample
--------------------
* Allow tcp connection on localhost
* Allow tcp connection from 192.168.1.x network
in ``/etc/postgresql/<YOUR POSTGRESQL VERSION>/main/pg_hba.conf`` set:
.. code-block:: text
# IPv4 local connections:
host all all 127.0.0.1/32 md5
host all all 192.168.1.0/24 md5
in ``/etc/postgresql/<YOUR POSTGRESQL VERSION>/main/postgresql.conf`` set:
.. code-block:: text
listen_addresses = 'localhost,192.168.1.2'
port = 5432
max_connections = 80
.. _setup/deploy/odoo:
Configuring Odoo
----------------
Out of the box, Odoo connects to a local postgres over UNIX socket via port
5432. This can be overridden using :ref:`the database options
<reference/cmdline/server/database>` when your Postgres deployment is not
local and/or does not use the installation defaults.
The :ref:`packaged installers <setup/install/packaged>` will automatically
create a new user (``odoo``) and set it as the database user.
* The database management screens are protected by the ``admin_passwd``
setting. This setting can only be set using configuration files, and is
simply checked before performing database alterations. It should be set to
a randomly generated value to ensure third parties can not use this
interface.
* All database operations use the :ref:`database options
<reference/cmdline/server/database>`, including the database management
screen. For the database management screen to work requires that the PostgreSQL user
have ``createdb`` right.
* Users can always drop databases they own. For the database management screen
to be completely non-functional, the PostgreSQL user needs to be created with
``no-createdb`` and the database must be owned by a different PostgreSQL user.
.. warning:: the PostgreSQL user *must not* be a superuser
Configuration sample
~~~~~~~~~~~~~~~~~~~~
* connect to a PostgreSQL server on 192.168.1.2
* port 5432
* using an 'odoo' user account,
* with 'pwd' as a password
* filtering only db with a name beginning with 'mycompany'
in :ref:`the configuration file <reference/cmdline/config_file>` set:
.. code-block:: ini
[options]
admin_passwd = mysupersecretpassword
db_host = 192.168.1.2
db_port = 5432
db_user = odoo
db_password = pwd
dbfilter = ^mycompany.*$
.. _postgresql_ssl_connect:
SSL Between Odoo and PostgreSQL
-------------------------------
Since Odoo 11.0, you can enforce ssl connection between Odoo and PostgreSQL.
in Odoo the db_sslmode control the ssl security of the connection
with value chosen out of 'disable', 'allow', 'prefer', 'require', 'verify-ca'
or 'verify-full'
`PostgreSQL Doc <https://www.postgresql.org/docs/12/static/libpq-ssl.html>`_
.. _builtin_server:
Builtin server
==============
Odoo includes built-in HTTP servers, using either multithreading or
multiprocessing.
For production use, it is recommended to use the multiprocessing server as it
increases stability, makes somewhat better use of computing resources and can
be better monitored and resource-restricted.
* Multiprocessing is enabled by configuring :option:`a non-zero number of
worker processes <odoo-bin --workers>`, the number of workers should be based
on the number of cores in the machine (possibly with some room for cron
workers depending on how much cron work is predicted)
* Worker limits can be configured based on the hardware configuration to avoid
resources exhaustion
.. warning:: multiprocessing mode currently isn't available on Windows
Worker number calculation
-------------------------
* Rule of thumb : (#CPU * 2) + 1
* Cron workers need CPU
* 1 worker ~= 6 concurrent users
memory size calculation
-----------------------
* We consider 20% of the requests are heavy requests, while 80% are simpler ones
* A heavy worker, when all computed field are well designed, SQL requests are well designed, ... is estimated to consume around 1GB of RAM
* A lighter worker, in the same scenario, is estimated to consume around 150MB of RAM
Needed RAM = #worker * ( (light_worker_ratio * light_worker_ram_estimation) + (heavy_worker_ratio * heavy_worker_ram_estimation) )
LiveChat
--------
In multiprocessing, a dedicated LiveChat worker is automatically started and
listening on :option:`the gevent port <odoo-bin --gevent-port>` but
the client will not connect to it.
Instead you must have a proxy redirecting requests whose URL starts with
``/websocket/`` to the gevent port. Other request should be proxied to
the :option:`normal HTTP port <odoo-bin --http-port>`
To achieve such a thing, you'll need to deploy a reverse proxy in front of Odoo,
like nginx or apache. When doing so, you'll need to forward some more http Headers
to Odoo, and activate the proxy_mode in Odoo configuration to have Odoo read those
headers.
Configuration sample
--------------------
* Server with 4 CPU, 8 Thread
* 60 concurrent users
* 60 users / 6 = 10 <- theoretical number of worker needed
* (4 * 2) + 1 = 9 <- theoretical maximal number of worker
* We'll use 8 workers + 1 for cron. We'll also use a monitoring system to measure cpu load, and check if it's between 7 and 7.5 .
* RAM = 9 * ((0.8*150) + (0.2*1024)) ~= 3Go RAM for Odoo
in :ref:`the configuration file <reference/cmdline/config_file>`:
.. code-block:: ini
[options]
limit_memory_hard = 1677721600
limit_memory_soft = 629145600
limit_request = 8192
limit_time_cpu = 600
limit_time_real = 1200
max_cron_threads = 1
workers = 8
.. _https_proxy:
HTTPS
=====
Whether it's accessed via website/web client or web service, Odoo transmits
authentication information in cleartext. This means a secure deployment of
Odoo must use HTTPS\ [#switching]_. SSL termination can be implemented via
just about any SSL termination proxy, but requires the following setup:
* Enable Odoo's :option:`proxy mode <odoo-bin --proxy-mode>`. This should only be enabled when Odoo is behind a reverse proxy
* Set up the SSL termination proxy (`Nginx termination example`_)
* Set up the proxying itself (`Nginx proxying example`_)
* Your SSL termination proxy should also automatically redirect non-secure
connections to the secure port
Configuration sample
--------------------
* Redirect http requests to https
* Proxy requests to odoo
in :ref:`the configuration file <reference/cmdline/config_file>` set:
.. code-block:: ini
proxy_mode = True
in ``/etc/nginx/sites-enabled/odoo.conf`` set:
.. code-block:: nginx
#odoo server
upstream odoo {
server 127.0.0.1:8069;
}
upstream odoochat {
server 127.0.0.1:8072;
}
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
# http -> https
server {
listen 80;
server_name odoo.mycompany.com;
rewrite ^(.*) https://$host$1 permanent;
}
server {
listen 443 ssl;
server_name odoo.mycompany.com;
proxy_read_timeout 720s;
proxy_connect_timeout 720s;
proxy_send_timeout 720s;
# SSL parameters
ssl_certificate /etc/ssl/nginx/server.crt;
ssl_certificate_key /etc/ssl/nginx/server.key;
ssl_session_timeout 30m;
ssl_protocols TLSv1.2;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers off;
# log
access_log /var/log/nginx/odoo.access.log;
error_log /var/log/nginx/odoo.error.log;
# Redirect websocket requests to odoo gevent port
location /websocket {
proxy_pass http://odoochat;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
}
# Redirect requests to odoo backend server
location / {
# Add Headers for odoo proxy mode
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_redirect off;
proxy_pass http://odoo;
}
# common gzip
gzip_types text/css text/scss text/plain text/xml application/xml application/json application/javascript;
gzip on;
}
Odoo as a WSGI Application
==========================
It is also possible to mount Odoo as a standard WSGI_ application. Odoo
provides the base for a WSGI launcher script as ``odoo-wsgi.example.py``. That
script should be customized (possibly after copying it from the setup directory) to correctly set the
configuration directly in :mod:`odoo.tools.config` rather than through the
command-line or a configuration file.
However the WSGI server will only expose the main HTTP endpoint for the web
client, website and webservice API. Because Odoo does not control the creation
of workers anymore it can not setup cron or livechat workers
Cron Workers
------------
To run cron jobs for an Odoo deployment as a WSGI application requires
* A classical Odoo (run via ``odoo-bin``)
* Connected to the database in which cron jobs have to be run (via
:option:`odoo-bin -d`)
* Which should not be exposed to the network. To ensure cron runners are not
network-accessible, it is possible to disable the built-in HTTP server
entirely with :option:`odoo-bin --no-http` or setting ``http_enable = False``
in the configuration file
LiveChat
--------
The second problematic subsystem for WSGI deployments is the LiveChat: where
most HTTP connections are relatively short and quickly free up their worker
process for the next request, LiveChat require a long-lived connection for
each client in order to implement near-real-time notifications.
This is in conflict with the process-based worker model, as it will tie
up worker processes and prevent new users from accessing the system. However,
those long-lived connections do very little and mostly stay parked waiting for
notifications.
The solutions to support livechat/motifications in a WSGI application are:
* Deploy a threaded version of Odoo (instead of a process-based preforking
one) and redirect only requests to URLs starting with ``/websocket/`` to
that Odoo, this is the simplest and the websocket URL can double up as the cron
instance.
* Deploy an evented Odoo via ``odoo-gevent`` and proxy requests starting
with ``/websocket/`` to
:option:`the gevent port <odoo-bin --gevent-port>`.
.. _deploy/streaming:
Serving static files and attachments
====================================
For development convenience, Odoo directly serves all static files and attachments in its modules.
This may not be ideal when it comes to performances, and static files should generally be served by
a static HTTP server.
Serving static files
--------------------
Odoo static files are located in each module's :file:`static/` folder, so static files can be served
by intercepting all requests to :samp:`/{MODULE}/static/{FILE}`, and looking up the right module
(and file) in the various addons paths.
.. example::
Say Odoo has been installed via the **debian packages** for Community and Enterprise and the
:option:`--addons-path <odoo-bin --addons-path>` is ``'/usr/lib/python3/dist-packages/odoo/addons'``.
Using the above NGINX (https) configuration, the following location block should be added to
serve static files via NGINX.
.. code-block:: nginx
location @odoo {
# copy-paste the content of the / location block
}
# Serve static files right away
location ~ ^/[^/]+/static/.+$ {
root /usr/lib/python3/dist-packages/odoo/addons;
try_files $uri @odoo;
expires 24h;
}
.. example::
Say Odoo has been installed via the **source**. The two git repositories for Community and
Enterprise have been cloned in :file:`/opt/odoo/community` and :file:`/opt/odoo/enterprise`
respectively and the :option:`--addons-path <odoo-bin --addons-path>` is
``'/opt/odoo/community/odoo/addons,/opt/odoo/community/addons,/opt/odoo/enterprise'``.
Using the above NGINX (https) configuration, the following location block should be added to
serve static files via NGINX.
.. code-block:: nginx
location @odoo {
# copy-paste the content of the / location block
}
# Serve static files right away
location ~ ^/[^/]+/static/.+$ {
root /opt/odoo;
try_files /community/odoo/addons$uri /community/addons$uri /enterprise$uri @odoo;
expires 24h;
}
.. warning::
The actual NGINX configuration you need is highly dependent on your own installation. The two
above snippets only highlight two possible configurations and may not be used as-is.
Serving attachments
-------------------
Attachments are files stored in the filestore which access is regulated by Odoo. They cannot be
directly accessed via a static web server as accessing them requires multiple lookups in the
database to determine where the files are stored and whether the current user can access them or
not.
Nevertheless, once the file has been located and the access rights verified by Odoo, it is a good
idea to serve the file using the static web server instead of Odoo. For Odoo to delegate serving
files to the static web server, the `X-Sendfile <https://tn123.org/mod_xsendfile/>`_ (apache) or
`X-Accel <https://www.nginx.com/resources/wiki/start/topics/examples/x-accel/>`_ (nginx) extensions
must be enabled and configured on the static web server. Once it is set up, start Odoo with the
:option:`--x-sendfile <odoo-bin --x-sendfile>` CLI flag (this unique flag is used for both
X-Sendfile and X-Accel).
.. note::
- The X-Sendfile extension for apache (and compatible web servers) does not require any
supplementary configuration.
- The X-Accel extension for NGINX **does** require the following additionnal configuration:
.. code-block:: nginx
location /web/filestore {
internal;
alias /path/to/odoo/data-dir/filestore;
}
In case you don't know what is the path to your filestore, start Odoo with the
:option:`--x-sendfile <odoo-bin --x-sendfile>` option and navigate to the ``/web/filestore`` URL
directly via Odoo (don't navigate to the URL via NGINX). This logs a warnings, the message
contains the configuration you need.
.. _security:
Security
========
For starters, keep in mind that securing an information system is a continuous process,
not a one-shot operation. At any moment, you will only be as secure as the weakest link
in your environment.
So please do not take this section as the ultimate list of measures that will prevent
all security problems. It's only intended as a summary of the first important things
you should be sure to include in your security action plan. The rest will come
from best security practices for your operating system and distribution,
best practices in terms of users, passwords, and access control management, etc.
When deploying an internet-facing server, please be sure to consider the following
security-related topics:
- Always set a strong super-admin admin password, and restrict access to the database
management pages as soon as the system is set up. See :ref:`db_manager_security`.
- Choose unique logins and strong passwords for all administrator accounts on all databases.
Do not use 'admin' as the login. Do not use those logins for day-to-day operations,
only for controlling/managing the installation.
*Never* use any default passwords like admin/admin, even for test/staging databases.
- Do **not** install demo data on internet-facing servers. Databases with demo data contain
default logins and passwords that can be used to get into your systems and cause significant
trouble, even on staging/dev systems.
- Use appropriate database filters ( :option:`--db-filter <odoo-bin --db-filter>`)
to restrict the visibility of your databases according to the hostname.
See :ref:`db_filter`.
You may also use :option:`-d <odoo-bin -d>` to provide your own (comma-separated)
list of available databases to filter from, instead of letting the system fetch
them all from the database backend.
- Once your ``db_name`` and ``db_filter`` are configured and only match a single database
per hostname, you should set ``list_db`` configuration option to ``False``, to prevent
listing databases entirely, and to block access to the database management screens
(this is also exposed as the :option:`--no-database-list <odoo-bin --no-database-list>`
command-line option)
- Make sure the PostgreSQL user (:option:`--db_user <odoo-bin --db_user>`) is *not* a super-user,
and that your databases are owned by a different user. For example they could be owned by
the ``postgres`` super-user if you are using a dedicated non-privileged ``db_user``.
See also :ref:`setup/deploy/odoo`.
- Keep installations updated by regularly installing the latest builds,
either via GitHub or by downloading the latest version from
https://www.odoo.com/page/download or http://nightly.odoo.com
- Configure your server in multi-process mode with proper limits matching your typical
usage (memory/CPU/timeouts). See also :ref:`builtin_server`.
- Run Odoo behind a web server providing HTTPS termination with a valid SSL certificate,
in order to prevent eavesdropping on cleartext communications. SSL certificates are
cheap, and many free options exist.
Configure the web proxy to limit the size of requests, set appropriate timeouts,
and then enable the :option:`proxy mode <odoo-bin --proxy-mode>` option.
See also :ref:`https_proxy`.
- If you need to allow remote SSH access to your servers, make sure to set a strong password
for **all** accounts, not just `root`. It is strongly recommended to entirely disable
password-based authentication, and only allow public key authentication. Also consider
restricting access via a VPN, allowing only trusted IPs in the firewall, and/or
running a brute-force detection system such as `fail2ban` or equivalent.
- Consider installing appropriate rate-limiting on your proxy or firewall, to prevent
brute-force attacks and denial of service attacks. See also :ref:`login_brute_force`
for specific measures.
Many network providers provide automatic mitigation for Distributed Denial of
Service attacks (DDOS), but this is often an optional service, so you should consult
with them.
- Whenever possible, host your public-facing demo/test/staging instances on different
machines than the production ones. And apply the same security precautions as for
production.
- If your public-facing Odoo server has access to sensitive internal network resources
or services (e.g. via a private VLAN), implement appropriate firewall rules to
protect those internal resources. This will ensure that the Odoo server cannot
be used accidentally (or as a result of malicious user actions) to access or disrupt
those internal resources.
Typically this can be done by applying an outbound default DENY rule on the firewall,
then only explicitly authorizing access to internal resources that the Odoo server
needs to access.
`Systemd IP traffic access control <http://0pointer.net/blog/ip-accounting-and-access-lists-with-systemd.html>`_
may also be useful to implement per-process network access control.
- If your public-facing Odoo server is behind a Web Application Firewall, a load-balancer,
a transparent DDoS protection service (like CloudFlare) or a similar network-level
device, you may wish to avoid direct access to the Odoo system. It is generally
difficult to keep the endpoint IP addresses of your Odoo servers secret. For example
they can appear in web server logs when querying public systems, or in the headers
of emails posted from Odoo.
In such a situation you may want to configure your firewall so that the endpoints
are not accessible publicly except from the specific IP addresses of your WAF,
load-balancer or proxy service. Service providers like CloudFlare usually maintain
a public list of their IP address ranges for this purpose.
- If you are hosting multiple customers, isolate customer data and files from each other
using containers or appropriate "jail" techniques.
- Setup daily backups of your databases and filestore data, and copy them to a remote
archiving server that is not accessible from the server itself.
.. _login_brute_force:
Blocking Brute Force Attacks
----------------------------
For internet-facing deployments, brute force attacks on user passwords are very common, and this
threat should not be neglected for Odoo servers. Odoo emits a log entry whenever a login attempt
is performed, and reports the result: success or failure, along with the target login and source IP.
The log entries will have the following form.
Failed login::
2018-07-05 14:56:31,506 24849 INFO db_name odoo.addons.base.res.res_users: Login failed for db:db_name login:admin from 127.0.0.1
Successful login::
2018-07-05 14:56:31,506 24849 INFO db_name odoo.addons.base.res.res_users: Login successful for db:db_name login:admin from 127.0.0.1
These logs can be easily analyzed by an intrusion prevention system such as `fail2ban`.
For example, the following fail2ban filter definition should match a
failed login::
[Definition]
failregex = ^ \d+ INFO \S+ \S+ Login failed for db:\S+ login:\S+ from <HOST>
ignoreregex =
This could be used with a jail definition to block the attacking IP on HTTP(S).
Here is what it could look like for blocking the IP for 15 minutes when
10 failed login attempts are detected from the same IP within 1 minute::
[odoo-login]
enabled = true
port = http,https
bantime = 900 ; 15 min ban
maxretry = 10 ; if 10 attempts
findtime = 60 ; within 1 min /!\ Should be adjusted with the TZ offset
logpath = /var/log/odoo.log ; set the actual odoo log path here
.. _db_manager_security:
Database Manager Security
-------------------------
:ref:`setup/deploy/odoo` mentioned ``admin_passwd`` in passing.
This setting is used on all database management screens (to create, delete,
dump or restore databases).
If the management screens must not be accessible at all, you should set ``list_db``
configuration option to ``False``, to block access to all the database selection and
management screens.
.. warning::
It is strongly recommended to disable the Database Manager for any internet-facing
system! It is meant as a development/demo tool, to make it easy to quickly create
and manage databases. It is not designed for use in production, and may even expose
dangerous features to attackers. It is also not designed to handle large databases,
and may trigger memory limits.
On production systems, database management operations should always be performed by
the system administrator, including provisioning of new databases and automated backups.
Be sure to setup an appropriate ``db_name`` parameter
(and optionally, ``db_filter`` too) so that the system can determine the target database
for each request, otherwise users will be blocked as they won't be allowed to choose the
database themselves.
If the management screens must only be accessible from a selected set of machines,
use the proxy server's features to block access to all routes starting with ``/web/database``
except (maybe) ``/web/database/selector`` which displays the database-selection screen.
If the database-management screen should be left accessible, the
``admin_passwd`` setting must be changed from its ``admin`` default: this
password is checked before allowing database-alteration operations.
It should be stored securely, and should be generated randomly e.g.
.. code-block:: console
$ python3 -c 'import base64, os; print(base64.b64encode(os.urandom(24)))'
which will generate a 32 characters pseudorandom printable string.
Supported Browsers
==================
Odoo supports all the major desktop and mobile browsers available on the market,
as long as they are supported by their publishers.
Here are the supported browsers:
- Google Chrome
- Mozilla Firefox
- Microsoft Edge
- Apple Safari
.. warning:: Please make sure your browser is up-to-date and still supported by
its publisher before filing a bug report.
.. note::
Since Odoo 13.0, ES6 is supported. Therefore, IE support is dropped.
.. [#different-machines]
to have multiple Odoo installations use the same PostgreSQL database,
or to provide more computing resources to both software.
.. [#remote-socket]
technically a tool like socat_ can be used to proxy UNIX sockets across
networks, but that is mostly for software which can only be used over
UNIX sockets
.. [#switching]
or be accessible only over an internal packet-switched network, but that
requires secured switches, protections against `ARP spoofing`_ and
precludes usage of WiFi. Even over secure packet-switched networks,
deployment over HTTPS is recommended, and possible costs are lowered as
"self-signed" certificates are easier to deploy on a controlled
environment than over the internet.
.. _regular expression: https://docs.python.org/3/library/re.html
.. _ARP spoofing: https://en.wikipedia.org/wiki/ARP_spoofing
.. _Nginx termination example:
https://nginx.com/resources/admin-guide/nginx-ssl-termination/
.. _Nginx proxying example:
https://nginx.com/resources/admin-guide/reverse-proxy/
.. _socat: http://www.dest-unreach.org/socat/
.. _PostgreSQL connection settings:
.. _listen to network interfaces:
https://www.postgresql.org/docs/12/static/runtime-config-connection.html
.. _use an SSH tunnel:
https://www.postgresql.org/docs/12/static/ssh-tunnels.html
.. _WSGI: https://wsgi.readthedocs.org/
.. _POSBox: https://www.odoo.com/page/point-of-sale-hardware#part_2
+745
View File
@@ -0,0 +1,745 @@
.. _setup/install:
===============
Installing Odoo
===============
There are multiple ways to install Odoo, or not install it at all, depending
on the intended use case.
This documents attempts to describe most of the installation options.
:ref:`setup/install/online`
The easiest way to use Odoo in production or to try it.
:ref:`setup/install/packaged`
Suitable for testing Odoo, developing modules and can be used for
long-term production use with additional deployment and maintenance work.
:ref:`setup/install/source`
Provides greater flexibility: e.g. allow multiple running Odoo versions on
the same system. Good for developing modules, can be used as base for
production deployment.
:ref:`setup/install/docker`
If you usually use docker_ for development or deployment, an official
docker_ base image is available.
.. _setup/install/editions:
Editions
========
There are two different Editions_ of Odoo: the Community and Enterprise versions.
Using the Enterprise version is possible on `Odoo Online`_ and accessing the code is
restricted to Enterprise customers and partners. The Community version is freely
available to anyone.
If you already use the Community version and wish to upgrade to Enterprise, please
refer to :ref:`setup/enterprise` (except for :ref:`setup/install/source`).
.. _setup/install/online:
Online
======
Demo
----
To simply get a quick idea of Odoo, demo_ instances are available. They are
shared instances which only live for a few hours, and can be used to browse
around and try things out with no commitment.
Demo_ instances require no local installation, just a web browser.
Odoo Online
-----------
Trivial to start with, fully managed and migrated by Odoo S.A., `Odoo Online`_
provides private instances and starts out free. It can be used to discover and
test Odoo and do non-code customizations (i.e. incompatible with custom modules
or the Odoo Apps Store) without having to install it locally.
Can be used for both testing Odoo and long-term production use.
Like demo_ instances, `Odoo Online`_ instances require no local installation, a web
browser is sufficient.
.. _setup/install/packaged:
Packaged installers
===================
Odoo provides packaged installers for Windows, deb-based distributions
(Debian, Ubuntu, …) and RPM-based distributions (Fedora, CentOS, RHEL, …) for
both the Community and Enterprise versions.
These packages automatically set up all dependencies (for the Community version),
but may be difficult to keep up-to-date.
Official Community packages with all relevant dependency requirements are
available on our nightly_ server. Both Community and Enterprise packages can
be downloaded from our download_ page (you must to be logged in as a paying
customer or partner to download the Enterprise packages).
Windows
-------
#. Download the installer from our nightly_ server (Community only) or the Windows installer from
the download_ page (any edition).
#. Execute the downloaded file.
.. warning::
| On Windows 8 and later you may see a warning titled "Windows protected your PC".
| Click on **More Info** and then on **Run anyway**.
#. Accept the UAC_ prompt.
#. Go through the various installation steps.
Odoo will automatically be started at the end of the installation.
Linux
-----
Prepare
~~~~~~~
.. tabs::
.. group-tab:: Debian/Ubuntu
Odoo needs a `PostgreSQL`_ server to run properly. The default configuration for
the Odoo 'deb' package is to use the PostgreSQL server on the same host as your
Odoo instance. Execute the following command in order to install the PostgreSQL server:
.. code-block:: console
$ sudo apt install postgresql -y
.. group-tab:: Fedora
Odoo needs a `PostgreSQL`_ server to run properly. Make sure that the `sudo` command is
available and well configured and, only then, execute the following command in order to
install the PostgreSQL server:
.. code-block:: console
$ sudo dnf install -y postgresql-server
$ sudo postgresql-setup --initdb --unit postgresql
$ sudo systemctl enable postgresql
$ sudo systemctl start postgresql
.. warning::
`wkhtmltopdf` is not installed through **pip** and must be installed manually in version `0.12.5
<the wkhtmltopdf download page_>`_ for it to support headers and footers. See our `wiki
<https://github.com/odoo/odoo/wiki/Wkhtmltopdf>`_ for more details on the various versions.
Repository
~~~~~~~~~~
.. tabs::
.. group-tab:: Debian/Ubuntu
Odoo S.A. provides a repository that can be used with Debian and Ubuntu distributions. It can
be used to install *Odoo Community Edition* by executing the following commands:
.. code-block:: console
$ wget -q -O - https://nightly.odoo.com/odoo.key | sudo gpg --dearmor -o /usr/share/keyrings/odoo-archive-keyring.gpg
$ echo 'deb [signed-by=/usr/share/keyrings/odoo-archive-keyring.gpg] https://nightly.odoo.com/{CURRENT_MAJOR_BRANCH}/nightly/deb/ ./' | sudo tee /etc/apt/sources.list.d/odoo.list
$ sudo apt-get update && sudo apt-get install odoo
You can then use the usual `apt-get upgrade` command to keep your installation up-to-date.
.. group-tab:: Fedora
Odoo S.A. provides a repository that can be used with the Fedora distributions. It can be used
to install *Odoo Community Edition* by executing the following commands:
.. code-block:: console
$ sudo dnf config-manager --add-repo=https://nightly.odoo.com/{CURRENT_MAJOR_BRANCH}/nightly/rpm/odoo.repo
$ sudo dnf install -y odoo
$ sudo systemctl enable odoo
$ sudo systemctl start odoo
.. note::
At this moment, there is no nightly repository for the Enterprise Edition.
Distribution package
~~~~~~~~~~~~~~~~~~~~
.. tabs::
.. group-tab:: Debian/Ubuntu
Instead of using the repository as described above, the 'deb' packages for both the
*Community* and *Enterprise* editions can be downloaded from the `official download page
<download_>`_.
.. note::
Odoo {CURRENT_MAJOR_VERSION} 'deb' package currently supports `Debian 11 (Bullseye)`_,
`Ubuntu 22.04 (Jammy)`_ or above.
Next, execute the following commands **as root**:
.. code-block:: console
# dpkg -i <path_to_installation_package> # this probably fails with missing dependencies
# apt-get install -f # should install the missing dependencies
# dpkg -i <path_to_installation_package>
This will install Odoo as a service, create the necessary PostgreSQL_ user
and automatically start the server.
.. warning::
- The `python3-xlwt` Debian package does not exists in Debian Buster nor Ubuntu 18.04. This
python module is needed to export into xls format.
If you need the feature, you can install it manually with:
.. code-block:: console
$ sudo pip3 install xlwt
- The `num2words` python package does not exists in Debian Buster nor Ubuntu 18.04. Textual
amounts will not be rendered by Odoo and this could cause problems with the `l10n_mx_edi`
module.
If you need this feature, you can install manually with:
.. code-block:: console
$ sudo pip3 install num2words
.. group-tab:: Fedora
Instead of using the repository as described above, the 'rpm' packages for both the
*Community* and *Enterprise* editions can be downloaded from the `official download page
<download_>`_.
.. note::
Odoo {CURRENT_MAJOR_VERSION} 'rpm' package supports Fedora 36.
Once downloaded, the package can be installed using the 'dnf' package manager:
.. code-block:: console
$ sudo dnf localinstall odoo_{CURRENT_MAJOR_BRANCH}.latest.noarch.rpm
$ sudo systemctl enable odoo
$ sudo systemctl start odoo
.. _setup/install/source:
Source install
==============
The source "installation" is really about not installing Odoo, and running it directly from source
instead.
It can be more convenient for module developers as the Odoo source is more easily accessible than
using packaged installation.
It also makes starting and stopping Odoo more flexible and explicit than the services set up by the
packaged installations, and allows overriding settings using
:ref:`command-line parameters <reference/cmdline>` without needing to edit a configuration file.
Finally it provides greater control over the system's set up, and allows to more easily keep
(and run) multiple versions of Odoo side-by-side.
Fetch the sources
-----------------
There are two ways to obtain the source code of Odoo: as a zip **archive** or through **git**.
Archive
~~~~~~~
Community Edition:
* `Official download page <download_>`_
* `GitHub repository <community-repository_>`_
* `Nightly server <nightly_>`_
Enterprise Edition:
* `Official download page <download_>`_
* `GitHub repository <enterprise-repository_>`_
.. _setup/install/source/git:
Git
~~~
The following requires `Git <git_>`_ to be installed on your machine and that you have basic
knowledge of Git commands. To clone a Git repository, you must choose between cloning with HTTPS or
SSH. If you do not know the difference between the two, the best option is most likely HTTPS. If you
are following the :doc:`Getting started </developer/tutorials/getting_started>` developer tutorial,
or plan on contributing to Odoo source code, choose SSH.
.. tabs::
.. group-tab:: Windows
.. tabs::
.. tab:: Clone with HTTPS
.. code-block:: doscon
C:\> git clone https://github.com/odoo/odoo.git
C:\> git clone https://github.com/odoo/enterprise.git
.. tab:: Clone with SSH
.. code-block:: doscon
C:\> git clone git@github.com:odoo/odoo.git
C:\> git clone git@github.com:odoo/enterprise.git
.. group-tab:: Linux
.. tabs::
.. tab:: Clone with HTTPS
.. code-block:: console
$ git clone https://github.com/odoo/odoo.git
$ git clone https://github.com/odoo/enterprise.git
.. tab:: Clone with SSH
.. code-block:: console
$ git clone git@github.com:odoo/odoo.git
$ git clone git@github.com:odoo/enterprise.git
.. group-tab:: Mac OS
.. tabs::
.. tab:: Clone with HTTPS
.. code-block:: console
$ git clone https://github.com/odoo/odoo.git
$ git clone https://github.com/odoo/enterprise.git
.. tab:: Clone with SSH
.. code-block:: console
$ git clone git@github.com:odoo/odoo.git
$ git clone git@github.com:odoo/enterprise.git
.. note::
**The Enterprise git repository does not contain the full Odoo source code**. It is only a
collection of extra add-ons. The main server code is in the Community version. Running the
Enterprise version actually means running the server from the Community version with the
addons-path option set to the folder with the Enterprise version. You need to clone both the
Community and Enterprise repository to have a working Odoo Enterprise installation. See
:ref:`setup/install/editions` to get access to the Enterprise repository.
.. _setup/install/source/prepare:
Prepare
-------
Python
~~~~~~
.. tabs::
.. group-tab:: Windows
Odoo requires Python 3.8 or later to run. Visit `Python's download page <https://www.python.org/downloads/windows/>`_
to download and install the latest version of Python 3 on your machine.
During installation, check **Add Python 3 to PATH**, then click **Customize Installation** and make
sure that **pip** is checked.
.. note::
If Python 3 is already installed, make sure that the version is 3.7 or above, as previous
versions are not compatible with Odoo.
.. code-block:: doscon
C:\> python --version
Verify also that pip_ is installed for this version.
.. code-block:: doscon
C:\> pip --version
.. group-tab:: Linux
Odoo requires Python 3.8 or later to run. Use your package manager to download and install Python 3
on your machine if it is not already done.
.. note::
If Python 3 is already installed, make sure that the version is 3.7 or above, as previous
versions are not compatible with Odoo.
.. code-block:: console
$ python3 --version
Verify also that pip_ is installed for this version.
.. code-block:: console
$ pip3 --version
.. group-tab:: Mac OS
Odoo requires Python 3.8 or later to run. Use your preferred package manager (homebrew_, macports_)
to download and install Python 3 on your machine if it is not already done.
.. note::
If Python 3 is already installed, make sure that the version is 3.7 or above, as previous
versions are not compatible with Odoo.
.. code-block:: console
$ python3 --version
Verify also that pip_ is installed for this version.
.. code-block:: console
$ pip3 --version
PostgreSQL
~~~~~~~~~~
.. tabs::
.. group-tab:: Windows
Odoo uses PostgreSQL as database management system. `Download and install PostgreSQL
<https://www.postgresql.org/download/windows/>`_ (supported version: 12.0 and later).
By default, the only user is `postgres` but Odoo forbids connecting as `postgres`, so you need
to create a new PostgreSQL user:
#. Add PostgreSQL's `bin` directory (by default:
:file:`C:\\Program Files\\PostgreSQL\\<version>\\bin`) to your `PATH`.
#. Create a postgres user with a password using the pg admin gui:
1. Open **pgAdmin**.
2. Double-click the server to create a connection.
3. Select :menuselection:`Object --> Create --> Login/Group Role`.
4. Enter the username in the **Role Name** field (e.g. `odoo`).
5. Open the **Definition** tab and enter the password (e.g. `odoo`), then click **Save**.
6. Open the **Privileges** tab and switch **Can login?** to `Yes` and **Create database?**
to `Yes`.
.. group-tab:: Linux
Odoo uses PostgreSQL as database management system. Use your package manager to download and
install PostgreSQL (supported version: 12.0 and later).
It can be achieved by executing the following:
.. code-block:: console
$ sudo apt install postgresql postgresql-client
By default, the only user is `postgres` but Odoo forbids connecting as `postgres`, so you need
to create a new PostgreSQL user:
.. code-block:: console
$ sudo -u postgres createuser -s $USER
$ createdb $USER
.. note::
Because your PostgreSQL user has the same name as your Unix login, you will be able to
connect to the database without password.
.. group-tab:: Mac OS
Odoo uses PostgreSQL as database management system. Use `postgres.app
<https://postgresapp.com>`_ to download and install PostgreSQL (supported version: 12.0 and
later).
.. tip::
To make the command line tools bundled with `postgres.app` available, make sure to setup your
`$PATH` variable by following the `Postgres.app CLI Tools Instructions
<https://postgresapp.com/documentation/cli-tools.html>`_.
By default, the only user is `postgres` but Odoo forbids connecting as `postgres`, so you need
to create a new PostgreSQL user:
.. code-block:: console
$ sudo -u postgres createuser -s $USER
$ createdb $USER
.. note::
Because your PostgreSQL user has the same name as your Unix login, you will be able to
connect to the database without password.
.. _install/dependencies:
Dependencies
~~~~~~~~~~~~
.. tabs::
.. group-tab:: Windows
Before installing the dependencies, you must download and install the `Build Tools for Visual
Studio <https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2019>`_.
When prompted, select **C++ build tools** in the **Workloads** tab and install them.
Odoo dependencies are listed in the `requirements.txt` file located at the root of the Odoo
community directory.
.. tip::
It can be preferable to not mix python modules packages between different instances of Odoo
or with your system. You can use virtualenv_ to create isolated Python environments.
Navigate to the path of your Odoo Community installation (`CommunityPath`) and run **pip** on
the requirements file in a terminal **with Administrator privileges**:
.. code-block:: doscon
C:\> cd \CommunityPath
C:\> pip install setuptools wheel
C:\> pip install -r requirements.txt
For languages with right-to-left interface (such as Arabic or Hebrew), the package `rtlcss`
is needed:
#. Download and install `nodejs <https://nodejs.org/en/download/>`_.
#. Install `rtlcss`:
.. code-block:: doscon
C:\> npm install -g rtlcss
#. Edit the System Environment's variable `PATH` to add the folder where `rtlcss.cmd` is
located (typically: :file:`C:\\Users\\<user>\\AppData\\Roaming\\npm\\`).
.. group-tab:: Linux
Using your **distribution packages** is the preferred way of installing dependencies.
Alternatively, you can install the python dependencies with **pip**.
.. tabs::
.. tab:: Debian/Ubuntu
For Debian-based systems, the packages are listed in the `debian/control
<{GITHUB_PATH}/debian/control>`_ file of the Odoo sources.
On Debian/Ubuntu, the following commands should install the required packages:
.. code-block:: console
$ cd /CommunityPath
$ sed -n -e '/^Depends:/,/^Pre/ s/ python3-\(.*\),/python3-\1/p' debian/control | sudo xargs apt-get install -y
.. tab:: Install with pip
As some of the python packages need a compilation step, they require system libraries to
be installed.
On Debian/Ubuntu-based systems, the following command should install these required
libraries:
.. code-block:: console
$ sudo apt install python3-pip libldap2-dev libpq-dev libsasl2-dev
Odoo dependencies are listed in the :file:`requirements.txt` file located at the root of
the Odoo community directory.
.. note::
| The python packages in :file:`requirements.txt` are based on their stable/LTS
Debian/Ubuntu corresponding version at the moment of the Odoo release.
| E.g., for Odoo 15.0, the `python3-babel` package version is 2.8.0 in Debian
Bullseye and 2.6.0 in Ubuntu Focal. The lowest version is then chosen in the
:file:`requirements.txt`.
.. tip::
It can be preferable to not mix python modules packages between different instances
of Odoo or with your system. You can use virtualenv_ to create isolated Python
environments.
Navigate to the path of your Odoo Community installation (:file:`CommunityPath`) and run
**pip** on the requirements file to install the requirements for the current user.
.. code-block:: console
$ cd /CommunityPath
$ pip install -r requirements.txt
For languages with right-to-left interface (such as Arabic or Hebrew), the package `rtlcss` is
needed:
#. Download and install **nodejs** and **npm** with your package manager.
#. Install `rtlcss`:
.. code-block:: console
$ sudo npm install -g rtlcss
.. group-tab:: Mac OS
Odoo dependencies are listed in the `requirements.txt` file located at the root of the Odoo
community directory.
.. tip::
It can be preferable to not mix python modules packages between different instances of Odoo
or with your system. You can use virtualenv_ to create isolated Python environments.
Navigate to the path of your Odoo Community installation (`CommunityPath`) and run **pip** on
the requirements file:
.. code-block:: console
$ cd /CommunityPath
$ pip3 install setuptools wheel
$ pip3 install -r requirements.txt
.. warning::
Non-Python dependencies need to be installed with a package manager:
#. Download and install the **Command Line Tools**:
.. code-block:: console
$ xcode-select --install
#. Download and install the package manager of your choice (homebrew_, macports_).
#. Install non-python dependencies.
For languages with right-to-left interface (such as Arabic or Hebrew), the package `rtlcss` is
needed:
#. Download and install **nodejs** with your preferred package manager (homebrew_, macports_).
#. Install `rtlcss`:
.. code-block:: console
$ sudo npm install -g rtlcss
.. important::
`wkhtmltopdf` is not installed through **pip** and must be installed manually in version `0.12.5
<the wkhtmltopdf download page_>`_ for it to support headers and footers. See our `wiki
<https://github.com/odoo/odoo/wiki/Wkhtmltopdf>`_ for more details on the various versions.
.. _setup/install/source/running_odoo:
Running Odoo
------------
Once all dependencies are set up, Odoo can be launched by running `odoo-bin`, the
command-line interface of the server. It is located at the root of the Odoo Community directory.
To configure the server, you can either specify :ref:`command-line arguments
<reference/cmdline/server>` or a :ref:`configuration file <reference/cmdline/config>`.
.. tip::
For the Enterprise edition, you must add the path to the `enterprise` addons to the `addons-path`
argument. Note that it must come before the other paths in `addons-path` for addons to be loaded
correctly.
Common necessary configurations are:
- PostgreSQL user and password.
- Custom addon paths beyond the defaults, to load your own modules.
A typical way to run the server would be:
.. tabs::
.. group-tab:: Windows
.. code-block:: doscon
C:\> cd CommunityPath/
C:\> python odoo-bin -r dbuser -w dbpassword --addons-path=addons -d mydb
Where `CommunityPath` is the path of the Odoo Community installation, `dbuser` is the
PostgreSQL login, `dbpassword` is the PostgreSQL password, and `mydb` is the name of the
PostgreSQL database.
.. group-tab:: Linux
.. code-block:: console
$ cd /CommunityPath
$ python3 odoo-bin --addons-path=addons -d mydb
Where `CommunityPath` is the path of the Odoo Community installation, and `mydb` is the name
of the PostgreSQL database.
.. group-tab:: Mac OS
.. code-block:: console
$ cd /CommunityPath
$ python3 odoo-bin --addons-path=addons -d mydb
Where `CommunityPath` is the path of the Odoo Community installation, and `mydb` is the name
of the PostgreSQL database.
After the server has started (the INFO log `odoo.modules.loading: Modules loaded.` is printed), open
http://localhost:8069 in your web browser and log in with the base administrator account: Use
`admin` for the :guilabel:`Email` and, again, `admin` for the :guilabel:`Password`. That's it, you
just logged into your own Odoo database!
.. tip::
- From there, you can create and manage new :doc:`users
</applications/general/users/manage_users>`.
- The user account you use to log into Odoo's web interface differs from the :option:`--db_user
<odoo-bin -r>` CLI argument.
.. seealso::
:doc:`The exhaustive list of CLI arguments for odoo-bin </developer/reference/cli>`.
.. _setup/install/docker:
Docker
======
The full documentation on how to use Odoo with Docker can be found on the
official Odoo `docker image <https://hub.docker.com/_/odoo/>`_ page.
.. _Debian 11 (Bullseye): https://www.debian.org/releases/bullseye/
.. _demo: https://demo.odoo.com
.. _docker: https://www.docker.com
.. _download: https://www.odoo.com/page/download
.. _Ubuntu 22.04 (Jammy): https://releases.ubuntu.com/22.04/
.. _EPEL: https://fedoraproject.org/wiki/EPEL
.. _PostgreSQL: https://www.postgresql.org
.. _the official installer:
.. _install pip:
https://pip.pypa.io/en/latest/installing.html#install-pip
.. _Quilt: https://en.wikipedia.org/wiki/Quilt_(software)
.. _Odoo Online: https://www.odoo.com/page/start
.. _the wkhtmltopdf download page: https://github.com/wkhtmltopdf/wkhtmltopdf/releases/tag/0.12.5
.. _UAC: https://en.wikipedia.org/wiki/User_Account_Control
.. _wkhtmltopdf: https://wkhtmltopdf.org
.. _pip: https://pip.pypa.io
.. _macports: https://www.macports.org
.. _homebrew: https://brew.sh
.. _wheels: https://wheel.readthedocs.org/en/latest/
.. _virtualenv: https://pypi.python.org/pypi/virtualenv
.. _virtualenvwrapper: https://virtualenvwrapper.readthedocs.io/en/latest/
.. _pywin32: https://sourceforge.net/projects/pywin32/files/pywin32/
.. _community-repository: https://github.com/odoo/odoo
.. _enterprise-repository: https://github.com/odoo/enterprise
.. _Editions: https://www.odoo.com/pricing#pricing_table_features
.. _nightly: https://nightly.odoo.com/
.. _extra: https://nightly.odoo.com/extra/
+18
View File
@@ -0,0 +1,18 @@
:nosearch:
========
Maintain
========
.. toctree::
maintain/domain_names
maintain/azure_oauth
maintain/google_oauth
maintain/mailjet_api
maintain/update
maintain/enterprise
maintain/hosting_changes
maintain/odoo_online
maintain/on_premise
maintain/supported_versions
@@ -0,0 +1,220 @@
=======================================================
Connect Microsoft Outlook 365 to Odoo using Azure OAuth
=======================================================
Odoo is compatible with Microsoft's Azure OAuth for Microsoft 365. In order to send and receive
secure emails from a custom domain, all that is required is to configure a few settings on the
Azure platform and on the back end of the Odoo database. This configuration works with either a
personal email address or an address created by a custom domain.
.. seealso::
`Microsoft Learn: Register an application with the Microsoft identity platform
<https://learn.microsoft.com/azure/active-directory/develop/quickstart-register-app>`_
.. seealso::
- :doc:`/applications/general/auth/azure`
- :doc:`/applications/productivity/calendar/outlook`
Setup in Microsoft Azure Portal
===============================
Create a new application
------------------------
To get started, go to `Microsoft's Azure Portal <https://portal.azure.com/>`_. Log in with the
:guilabel:`Microsoft Outlook Office 365` account if there is one, otherwise log in with the
personal :guilabel:`Microsoft account`. A user with administrative access to the Azure Settings
will need to connect and perform the following configuration. Next, navigate to the section
labeled :guilabel:`Manage Azure Active Directory`.
Now, click on :guilabel:`Add (+)`, located in the top menu, and then select :guilabel:`App
registration`. On the :guilabel:`Register an application` screen, rename the :guilabel:`Name` to
`Odoo` or something recognizable. Under the :guilabel:`Supported account types` section select
:guilabel:`Accounts in any organizational directory (Any Azure AD directory - Multitenant) and
personal Microsoft accounts (e.g. Skype, Xbox)`.
Under the :guilabel:`Redirect URL` section, select :guilabel:`Web` as the platform, and then input
`https://<odoo base url>/microsoft_outlook/confirm` in the :guilabel:`URL` field. The Odoo base URL
is the canonical domain at which your Odoo instance can be reached in the URL field.
.. example::
*mydatabase.odoo.com*, where *mydatabase* is the actual prefix of the database's subdomain,
assuming it's hosted on Odoo.com
After the URL has been added to the field, :guilabel:`Register` the application so it is created.
API permissions
---------------
The :guilabel:`API permissions` should be set next. Odoo will need specific API permissions to be
able to read (IMAP) and send (SMTP) emails in the Microsoft 365 setup. First, click the
:guilabel:`API permissions` link, located in the left menu bar. Next, click on the :guilabel:`(+)
Add a Permission` button and select :guilabel:`Microsoft Graph` under :guilabel:`Commonly Used
Microsoft APIs`. After, select the :guilabel:`Delegated Permissions` option.
In the search bar, search for the following :guilabel:`Deregulated permissions` and click
:guilabel:`Add permissions` for each one:
- :guilabel:`SMTP.Send`
- :guilabel:`IMAP.AccessAsUser.All`
.. note::
The :guilabel:`User.Read` permission will be added by default.
.. image:: azure_oauth/permissions.png
:align: center
:alt: API permissions needed for Odoo integration are listed under the Microsoft Graph.
Assign users and groups
=======================
After adding the API permissions, navigate back to the :guilabel:`Overview` of the
:guilabel:`Application` in the top of the left sidebar menu.
Now, add users to this application. Under the :guilabel:`Essentials` overview table, click on the
link labeled :guilabel:`Managed Application in Local Directory`, or the last option on the bottom
right-hand side of the table.
.. image:: azure_oauth/managed-application.png
:align: center
:alt: Add users/groups by clicking the Managed application in local directory link for the
created application.
In the left sidebar menu, select :guilabel:`Users and Groups`. Next, click on :guilabel:`(+) Add
User/Group`. Depending on the account, either a :guilabel:`Group` and a :guilabel:`User` can be
added, or only :guilabel:`Users`. Personal accounts will only allow for :guilabel:`Users` to be
added.
Under :guilabel:`Users` or :guilabel:`Groups`, click on :guilabel:`None Selected` and add the users
or group of users that will be sending emails from the :guilabel:`Microsoft account` in Odoo.
:guilabel:`Add` the users/groups, click :guilabel:`Select`, and then :guilabel:`Assign` them to the
application.
Create credentials
------------------
Now that the Microsoft Azure app is set up, credentials need to be created for the Odoo setup.
These include the :guilabel:`Client ID` and :guilabel:`Client Secret`. To start, the
:guilabel:`Client ID` can be copied from the :guilabel:`Overview` page of the app. The
:guilabel:`Client ID` or :guilabel:`Application ID` is located under the :guilabel:`Display Name`
in the :guilabel:`Essentials` overview of the app.
.. image:: azure_oauth/application-id.png
:align: center
:alt: Application/Client ID located in the Overview of the app.
Next, the :guilabel:`Client Secret Value` needs to be retrieved. To get this value, click on
:guilabel:`Certificates & Secrets` in the left sidebar menu. Then, a :guilabel:`Client Secret`
needs to be produced. In order to do this, click on the :guilabel:`(+) New Client Secret` button.
A window on the right will populate with a button labeled :guilabel:`Add a client secret`. Under
:guilabel:`Description`, type in `Odoo Fetchmail` or something recognizable, and then set the
:guilabel:`expiration date`.
.. important::
A new :guilabel:`Client Secret` will need to be produced and configured if the first one
expires. In this event, there could be an interruption of service, so the expiration date should
be noted and set to the furthest possible date.
Next, click on :guilabel:`Add` when these two values are entered. A :guilabel:`Client Secret Value`
and :guilabel:`Secret ID` will be created. It is important to copy the :guilabel:`Value` or
:guilabel:`Client Secret Value` into a notepad as it will become encrypted after leaving this page.
The :guilabel:`Secret ID` is not needed.
.. image:: azure_oauth/secretvalue.png
:align: center
:alt: Client Secret Value or Value in the app's credentials.
After these steps, the following items should be ready to be set up in Odoo:
- A client ID (:guilabel:`Client ID` or :guilabel:`Application ID`)
- A client secret (:guilabel:`Value` or :guilabel:`Client Secret Value`)
This completes the setup on the :guilabel:`Microsoft Azure Portal` side.
Setup in Odoo
=============
Enter Microsoft Outlook credentials
-----------------------------------
First, open the Odoo database and navigate to the :guilabel:`Apps` module. Then, remove the
:guilabel:`Apps` filter from the search bar and type in `Outlook`. After that, install the module
called :guilabel:`Microsoft Outlook`.
Next, navigate to :menuselection:`Settings --> General Settings`, and under the :guilabel:`Discuss`
section, ensure that the checkbox for :guilabel:`Custom Email Servers` is checked. This populates
a new option for :guilabel:`Outlook Credentials`.
:guilabel:`Save` the progress.
Then, copy and paste the :guilabel:`Client ID` (Application ID) and :guilabel:`Client Secret
(Client Secret Value)` into the respective fields and :guilabel:`Save` the settings.
.. image:: azure_oauth/outlookcreds.png
:align: center
:alt: Outlook Credentials in Odoo General Settings.
Configure outgoing email server
-------------------------------
On the :guilabel:`General Settings` page, under the :guilabel:`Custom Email Servers` setting,
click the :guilabel:`Outgoing Email Servers` link to configure the Microsoft account.
Then, create a new email server and check the box for :guilabel:`Outlook`. Next, fill in the
:guilabel:`Name` (it can be anything) and the Microsoft Outlook email :guilabel:`Username`.
If the :guilabel:`From Filter` field is empty, enter either a :ref:`domain or email address
<email_communication/default>`.
Then, click on :guilabel:`Connect your Outlook account`.
A new window from Microsoft opens to complete the :guilabel:`authorization process`. Select the
appropriate email address that is being configured in Odoo.
.. image:: azure_oauth/verify-outlook.png
:align: center
:alt: Permission page to grant access between newly created app and Odoo.
Then, allow Odoo to access the Microsoft account by clicking on :guilabel:`Yes`. After this, the
page will navigate back to the newly configured :guilabel:`Outgoing Mail Server` in Odoo. The
configuration automatically loads the :guilabel:`token` in Odoo, and a tag stating
:guilabel:`Outlook Token Valid` appears in green.
.. image:: azure_oauth/outlook-token.png
:align: center
:alt: Valid Outlook Token indicator.
Finally, click :guilabel:`Test Connection`. A confirmation message should appear. The Odoo database
can now send safe, secure emails through Microsoft Outlook using OAuth authentication.
Multiple user configuration
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Each user should have a separate server set up. The :guilabel:`from-filter` should be set so that
only the user's email is sent from that server. In other words, only a user with an email address
that matches the set :guilabel:`from-filter` is able to use this server.
After setting the :guilabel:`from-filter`, set up a fallback email account to allow for the sending
of :guilabel:`notifications`. The fallback email must be configured as a :guilabel:`general
transactional server`. The :guilabel:`mail.default.from` system parameter must be set to the
:guilabel:`username` of the general transactional server account. For more information see
:ref:`Use a default email address <email_communication/default>`.
.. note::
The :guilabel:`System Parameters` can be accessed by activating
:doc:`../../applications/general/developer_mode` in the :menuselection:`Settings --> Technical
--> Parameters --> System Parameters` menu.
Configure incoming email server
-------------------------------
The incoming account should be configured in a similar way to the outgoing email account. Navigate
to the :guilabel:`Incoming Mail Servers` in the :guilabel:`Technical Menu` and :guilabel:`Create` a
new configuration. Check or Select the button next to :guilabel:`Outlook Oauth Authentication` and
enter the :guilabel:`Microsoft Outlook username`. Click on :guilabel:`Connect your Outlook
account`. Odoo will state: :guilabel:`Outlook Token Valid` Now :guilabel:`Test and Confirm` the
account. The account should be ready to receive email to the Odoo database.
.. seealso::
:doc:`../../applications/general/email_communication/email_servers`

Before

Width:  |  Height:  |  Size: 54 KiB

After

Width:  |  Height:  |  Size: 54 KiB

Before

Width:  |  Height:  |  Size: 47 KiB

After

Width:  |  Height:  |  Size: 47 KiB

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 23 KiB

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Before

Width:  |  Height:  |  Size: 64 KiB

After

Width:  |  Height:  |  Size: 64 KiB

@@ -0,0 +1,366 @@
============
Domain names
============
A **domain name** works as an address for your website. It makes the Internet much more accessible
as it allows users to type a meaningful web address, such as ``www.odoo.com``, rather than its
server's IP address with a series of numbers.
You can use a custom domain name to access your Odoo database and websites:
- By :ref:`registering a free domain name with Odoo <domain-name/odoo-register>` (for Odoo Online
databases)
- By :ref:`configuring a custom domain that you already own <domain-name/existing>`.
.. note::
Odoo Online and Odoo.sh databases, including their websites, use by default a subdomain of
``odoo.com`` for both the URL and the emails (e.g., ``https://example.odoo.com``).
.. important::
Odoo offers a :ref:`free custom domain name <domain-name/odoo-register>` to all Odoo Online
databases for one year. Visitors can then access your website with an address such as
``www.example.com`` rather than the default ``example.odoo.com``.
.. seealso::
- `Odoo Tutorials: Register a Free Domain Name
<https://www.odoo.com/slides/slide/register-a-free-domain-name-1663>`_
- `Odoo Quick Tips: Get a free domain name! <https://www.youtube.com/watch?v=eAfgeNOHLP4>`_
.. _domain-name/about:
About domain names
==================
Having a **good domain name** is as important to your branding as the name of your business or
organization as it is the first thing your visitors will notice. We recommend you keep them *simple,
short, easy to remember and spell*.
A **subdomain** is a domain that is a part of another domain. It often refers to the additional part
that comes before the main domain name. Traditionally, most websites use the ``www.`` subdomain,
but any string of letters can be used as well. You can use subdomains to direct your visitors to
other websites than your main website or to specific pages (e.g., ``experience.odoo.com`` points to
a specific page.)
All domain names are referenced in the **Domain Name System**, or **DNS**, which works as a giant
directory for the Internet. There are many DNS servers, so any modification to the DNS can take up
to 72 hours to propagate worldwide on all servers.
.. _domain-name/indexing:
Indexing of domain names by search engines
------------------------------------------
Search engines, such as Google and Bing, rely on web crawlers (:dfn:`robots that explore and analyze
the web`) to index all websites and their related domain names. These crawlers discover new URLs
thanks to links on known web pages. As a result, search engines should index domain names
automatically after a while, as long as their URLs are mentioned elsewhere on the Internet.
Improving the appearance and positioning of web pages on search engines is a practice named "Search
Engine Optimization" (SEO).
.. tip::
Adding relevant content, optimizing metadata, and building high-quality backlinks can all help
improve a website's search engine visibility.
Some search engines provide tools for web admins, such as
`Google Search Console <https://search.google.com/search-console>`_ and
`Bing Webmaster Tools <https://www.bing.com/webmasters>`_, to help you analyze and improve your
page ranking. To use these services, you must prove that you are the owner of your domain name. One
way to verify the ownership of your domain name is by adding a DNS record. You can do this for
:ref:`domain names registered with Odoo <domain-name/odoo-manage>` and for domain names managed by
other providers.
.. seealso::
- :doc:`/applications/websites/website/pages/seo`
- `Google Search Console Help - Verify your site ownership <https://support.google.com/webmasters/answer/9008080>`_
- `Bing Webmaster Tools - Add and Verify site <https://www.bing.com/webmasters/help/add-and-verify-site-12184f8b>`_
.. _domain-name/odoo-register:
Register a free domain name with Odoo
=====================================
You can register a domain name for your Odoo Online database directly from Odoo Website or your
database manager.
.. important::
- Your domain name is **free for one year** if you register it with Odoo!
- The domain name is registered with `Gandi <https://www.gandi.net/>`_, the domain name
registrar.
- You are the owner of the domain name and can use it for other purposes.
- Odoo manages payment and technical support for you.
- This offer doesn't include any mailbox. However, you can :ref:`configure your MX records
<domain-name/odoo-manage>` to use your own email server or solution such as Google Workspace.
To do so, go to :menuselection:`Website --> Domain Name`. Alternatively, open your `database manager
<https://www.odoo.com/my/databases>`_, click on the :guilabel:`settings` button next to your
database, then on :guilabel:`Domain names`.
.. image:: domain_names/register-menu.png
:align: center
:alt: Clicking on Domain Names from an Odoo website
Search for the domain name of your choice to check its availability, then select the one you want to
register for your website.
.. image:: domain_names/register-search.png
:align: center
:alt: The search of the domain name example.com shows which associated domains are available.
Next, fill in the form with your information to become the domain name owner.
Your domain name is directly linked to your database, but you still have to :ref:`map your domain
name with your website <domain-name/website-map>`.
.. note::
- Free domain names are also available for free Odoo Online databases (if you installed one app
only, for example). In this case, Odoo reviews your request and your website to avoid abuse.
This process may take up to three days.
- This is not available for Odoo.sh databases yet.
.. _domain-name/odoo-manage:
Manage your domain name registered with Odoo
--------------------------------------------
To manage the DNS records of your domain name registered with Odoo or to visualize the contacts
associated with it, open your `database manager <https://www.odoo.com/my/databases>`_, click on the
:guilabel:`settings` button next to your database, on :guilabel:`Domain names`, and then on
:guilabel:`Contacts` or :guilabel:`DNS`.
.. image:: domain_names/manage.png
:align: center
:alt: Management of the domain names linked to an Odoo database
.. note::
Please `submit a support ticket <https://www.odoo.com/help>`_ if you need further assistance to
manage your domain name.
.. _domain-name/existing:
Configure your existing domain name
===================================
If you already own a domain name, you can use it to point to your website.
To avoid any issue with the :ref:`SSL certificate validation <domain-name/ssl>`, we highly recommend
that you proceed with the following actions in this order:
#. :ref:`Add a CNAME record <domain-name/cname>` on your domain name's DNS zone.
#. :ref:`Map your domain name with your Odoo database <domain-name/db-map>`.
#. :ref:`Map your domain name with your Odoo website <domain-name/website-map>`.
.. _domain-name/cname:
Add a CNAME record
------------------
A **CNAME record** is a type of DNS record that points to the domain of another website rather than
directly to an IP address.
You need a CNAME record that points to your Odoo database. The requirements are detailed in your
database manager.
.. tabs::
.. group-tab:: Odoo Online
The target address is the current address of your database, as defined at its creation (e.g.,
``example.odoo.com``)
.. group-tab:: Odoo.sh
Your project's main address is defined in :menuselection:`Settings --> Project Name`.
If you want to target a specific branch (production, staging or development), go to
:menuselection:`Branches --> select your branch --> Settings --> Custom domains`, and click on
:guilabel:`How to set up my domain?`. A message indicates which address your CNAME record
should target.
#. Open your domain name's manager dashboard.
#. Open the **DNS zone** management page for the domain name you want to configure.
#. Create a **CNAME record** pointing to the address of your database.
While Odoo suggests creating a CNAME record for your ``www.`` subdomain (``www.example.com``), you
can of course use any domain name of your choice, with any subdomain (e.g.,
``anything.example.com``).
.. example::
You own the domain name ``example.com``, and you have an Odoo Online database at the address
``example.odoo.com``. You want to access your Odoo database primarily with the domain
``www.example.com`` but also with the :ref:`naked domain <domain-name/naked-domain>`
``example.com``.
To do so, you create a CNAME record for the ``www`` subdomain, with ``example.odoo.com`` as the
target. The DNS zone manager generates the following rule and adds it to your DNS zone: ``www IN
CNAME example.odoo.com.``
You also create a redirection from ``example.com`` to ``wwww.example.com``.
Your new DNS records are propagated to all DNS servers.
.. note::
Here are some specific guidelines to create a CNAME record:
- `GoDaddy <https://www.godaddy.com/help/add-a-cname-record-19236>`_
- `Namecheap <https://www.namecheap.com/support/knowledgebase/article.aspx/9646/2237/how-to-create-a-cname-record-for-your-domain>`_
- `OVH <https://docs.ovh.com/us/en/domains/web_hosting_how_to_edit_my_dns_zone/#add-a-new-dns-record>`_
- `CloudFlare <https://support.cloudflare.com/hc/en-us/articles/360019093151>`_
- `Google Domains <https://support.google.com/domains/answer/3290350?hl=en>`_
.. _domain-name/naked-domain:
Naked domain
~~~~~~~~~~~~
A **naked domain** is a domain name that doesn't have any subdomain at the beginning of the address
(e.g., ``odoo.com`` instead of ``www.odoo.com``).
You may want your naked domain to redirect to your website as some visitors may not type the full
domain name to access your website.
#. Open your domain name's manager dashboard.
#. Create a **redirection** from the naked domain (``example.com``) to your main domain name
(``www.example.com``).
.. note::
Depending on your domain name registrar, this redirection may be already pre-configured.
.. _domain-name/db-map:
Map your domain name with your Odoo database
--------------------------------------------
.. tabs::
.. group-tab:: Odoo Online
Open your `database manager <https://www.odoo.com/my/databases>`_, click on the
:guilabel:`settings` button next to your database, on :guilabel:`Domain names`, and then on
:guilabel:`Use my own domain` at the bottom of the right column.
Type the domain name you want to add to this database, then click on :guilabel:`Verify` to
check if the CNAME record is correctly configured. Once done, click on :guilabel:`I confirm,
it's done`.
.. image:: domain_names/online-map.png
:align: center
:alt: Verification of the CNAME records of a domain name before mapping it with a database
.. group-tab:: Odoo.sh
Go to :menuselection:`Branches --> select your branch --> Settings --> Custom domains`, type
the domain name you want to add to this database, then click on :guilabel:`Add domain`.
.. image:: domain_names/odoo-sh-map.png
:align: center
:alt: Mapping a domain name with an Odoo.sh branch
.. seealso::
- :ref:`Odoo.sh branches: settings tab <odoosh-gettingstarted-branches-tabs-settings>`
.. warning::
Make sure to :ref:`add a CNAME record <domain-name/cname>` to your domain name's DNS **before**
mapping your domain name with your Odoo database.
Failing to do so may impede the validation of the :ref:`SSL certificate <domain-name/ssl>` and
would result in a *certificate name mismatch* error. This is often displayed by web browsers as a
warning such as *"Your connection is not private"*.
If this is the case and you have added the domain name to your database's settings less than five
days ago, wait 24 hours as the validation may still happen. Otherwise, please `submit a support
ticket <https://www.odoo.com/help>`_ including screenshots of your CNAME records.
.. _domain-name/ssl:
SSL encryption (HTTPS protocol)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
**SSL encryption** is an encryption-based Internet security protocol. It allows your visitors to
navigate your website through a secure connection, which appears as an ``https://`` protocol at the
beginning of your web address, rather than a non-secure ``http://`` protocol.
Odoo generates a separate SSL certificate for each domain :ref:`mapped in the database manager
<domain-name/db-map>`, using integration with `Let's Encrypt Certificate Authority and ACME protocol
<https://letsencrypt.org/how-it-works/>`_.
.. note::
- The certificate generation may take up to 24h.
- Several attempts to validate your certificate are made during the five days following the
moment you add your domain name in your database's settings.
- If you already use another service, you can keep using it or simply change for Odoo.
.. _domain-name/web-base-url:
Web base URL of a database
~~~~~~~~~~~~~~~~~~~~~~~~~~
.. note::
If you have Odoo Website, you can disregard this part and directly :ref:`map your domain name
with your website <domain-name/website-map>`.
The **web base URL** of a database, or **root URL** affects your main website address and all the
links sent to your customers (e.g., quotations, portal links, etc.).
To configure it, access your Odoo database with your custom address, then log in as an administrator
of your database (any user in the *Settings* group) from the login screen.
.. warning::
Connecting to your database with the original Odoo subdomain address (e.g., ``example.odoo.com``
also updates the web base URL of your database. See below to prevent these automatic updates.
Alternatively, you can do it manually. To do so, activate the :ref:`developer mode
<developer-mode>`, then go to :menuselection:`Settings --> Technical --> System Parameters`.
Find the key called ``web.base.url`` (or create it if it does not exist) and enter the full address
of your website as value, such as ``https://www.example.com``.
.. note::
The URL must include the protocol ``https://`` (or ``http://``) and must not end with a slash
(``/``).
To prevent the automatic update of the web base URL when an administrator logs in the database, you
can create the following System Parameter:
- key: ``web.base.url.freeze``
- value: ``True``
.. _domain-name/website-map:
Map your domain name with your website
======================================
Mapping your domain name to your website isn't the same as mapping it with your database:
- It defines your domain name as the main one for your website, helping search engines to index your
website properly.
- It defines your domain name as the base URL for your database, including the portal links sent by
email to your customers.
- If you have multiple websites, it maps your domain name with the appropriate website.
Go to :menuselection:`Website --> Configuration --> Settings --> Website Info`. If you have multiple
websites, select the one you want to configure.
In the :guilabel:`Domain` field, fill in the web address of your website (e.g.,
``https://www.example.com``) and click on :guilabel:`Save`.
.. image:: domain_names/website-settings.png
:align: center
:alt: Configuring https://www.example.com as the Domain of the website
.. warning::
Mapping your domain name with your Odoo website prevents Google from indexing both your custom
domain name ``www.example.com`` and your original odoo database address ``example.odoo.com``.
If both addresses are already indexed, it may take some time before Google removes the indexation
of the second address. You may also try using the `Google Search Console
<https://search.google.com/search-console>`_ to fix this.
.. note::
If you have multiple websites and companies on your database, make sure that you select the
right :guilabel:`Company` in the website settings, next to the :guilabel:`Domain` settings. Doing
so indicates Odoo which URL to use as the :ref:`base URL <domain-name/web-base-url>` according to
the company in use.
.. seealso::
- :doc:`/applications/general/email_communication/email_servers`
Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

@@ -0,0 +1,106 @@
.. _setup/enterprise:
===================================
Switch from Community to Enterprise
===================================
Depending on your current installation, there are multiple ways to upgrade
your community version.
In any case the basic guidelines are:
* Backup your community database
.. image:: enterprise/db_manager.png
:class: img-fluid
* Shutdown your server
* Install the web_enterprise module
* Restart your server
* Enter your Odoo Enterprise Subscription code
.. image:: enterprise/enterprise_code.png
:class: img-fluid
On Linux, using an installer
============================
* Backup your community database
* Stop the odoo service
.. code-block:: console
$ sudo service odoo stop
* Install the enterprise .deb (it should install over the community package)
.. code-block:: console
$ sudo dpkg -i <path_to_enterprise_deb>
* Update your database to the enterprise packages using
.. code-block:: console
$ python3 /usr/bin/odoo-bin -d <database_name> -i web_enterprise --stop-after-init
* You should be able to connect to your Odoo Enterprise instance using your usual mean of identification.
You can then link your database with your Odoo Enterprise Subscription by entering the code you received
by e-mail in the form input
On Linux, using the source code
===============================
There are many ways to launch your server when using sources, and you probably
have your own favourite. You may need to adapt sections to your usual workflow.
* Shutdown your server
* Backup your community database
* Update the ``--addons-path`` parameter of your launch command (see :ref:`setup/install/source`)
* Install the web_enterprise module by using
.. code-block:: console
$ -d <database_name> -i web_enterprise --stop-after-init
Depending on the size of your database, this may take some time.
* Restart your server with the updated addons path of point 3.
You should be able to connect to your instance. You can then link your database with your
Odoo Enterprise Subscription by entering the code you received by e-mail in the form input
On Windows
==========
* Backup your community database
* Uninstall Odoo Community (using the Uninstall executable in the installation folder) -
PostgreSQL will remain installed
.. image:: enterprise/windows_uninstall.png
:class: img-fluid
* Launch the Odoo Enterprise Installer and follow the steps normally. When choosing
the installation path, you can set the folder of the Community installation
(this folder still contains the PostgreSQL installation).
Uncheck ``Start Odoo`` at the end of the installation
.. image:: enterprise/windows_setup.png
:class: img-fluid
* Using a command window, update your Odoo Database using this command (from the Odoo
installation path, in the server subfolder)
.. code-block:: console
$ ..\python\python.exe odoo-bin -d <database_name> -i web_enterprise --stop-after-init
* No need to manually launch the server, the service is running.
You should be able to connect to your Odoo Enterprise instance using your usual
mean of identification. You can then link your database with your Odoo Enterprise
Subscription by entering the code you received by e-mail in the form input

Before

Width:  |  Height:  |  Size: 6.9 KiB

After

Width:  |  Height:  |  Size: 6.9 KiB

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 39 KiB

@@ -12,7 +12,7 @@ email address or an address created by a custom domain.
<https://support.google.com/cloud/answer/6158849>`_ on setting up OAuth.
.. seealso::
- :doc:`/applications/general/users/google`
- :doc:`/applications/general/auth/google`
- :doc:`/applications/productivity/calendar/google`
Setup in Google

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Before

Width:  |  Height:  |  Size: 7.5 KiB

After

Width:  |  Height:  |  Size: 7.5 KiB

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Before

Width:  |  Height:  |  Size: 9.8 KiB

After

Width:  |  Height:  |  Size: 9.8 KiB

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Before

Width:  |  Height:  |  Size: 6.1 KiB

After

Width:  |  Height:  |  Size: 6.1 KiB

@@ -0,0 +1,87 @@
.. _db_management/hosting_changes:
=======================
Change hosting solution
=======================
You may want to move your Odoo database from one hosting solution to another.
Depending on the platforms, you have to do it by yourself or contact our support team first.
From on-premises to Odoo Online
===============================
1. Create a :ref:`duplicate <duplicate_premise>` of your database: in this duplicate, uninstall all the **non-standard apps**.
2. Grab a "dump with filestore" of your database by using the Database Manager.
3. **If you have time constraints, contact us earlier to schedule the transfer.**
4. `Create a support ticket <https://www.odoo.com/help>`_ and attach the dump (if the file is too large, use any file transfer service and attach the link to your ticket). Also include your subscription number and the URL you want to use for your database (e.g.: my-company.odoo.com).
5. We will make sure your database is compatible and upload it to our cloud. In case of technical issues, we will get in touch with you.
6. It's done!
.. important::
- Odoo Online is not compatible with **non-standard apps**.
- The database you are moving to Odoo Online must be in a :doc:`supported version
<supported_versions>`.
From on-premises to Odoo.sh
===========================
1. Follow the :ref:`Import your database section of the Odoo.sh documentation <odoo_sh_import_your_database>`.
2. ...and voilà!
From Odoo Online to on-premises
===============================
1. Log into `your Odoo Online user portal <https://accounts.odoo.com/my/databases/manage>`_ and look for the version number of your database.
2. If your database does not run a :ref:`major version <supported_versions>` of Odoo, you cannot host it on-premises yet, you have to upgrade it first to a new major version. (*e.g.: If your database runs Odoo 12.3 which is not a major version, you have to upgrade it first to Odoo 13.0 or 14.0.*)
3. Download a backup of your database by clicking on the "Gear" icon next to your database name then :menuselection:`Download` (if the download fails due to your backup file being too large, contact `our support <https://www.odoo.com/help>`_)
4. Restore it from the database manager on your local server.
From Odoo Online to Odoo.sh
===========================
1. Log into `your Odoo Online user portal <https://accounts.odoo.com/my/databases/manage>`_ and look for the version number of your database.
2. If your database does not run a :ref:`major version <supported_versions>` of Odoo, you cannot host it on Odoo.sh yet, you have to upgrade it first to a new major version. (*e.g.: If your database runs Odoo 12.3 which is not a major version, you have to upgrade it first to Odoo 13.0 or 14.0.*)
3. Download a backup of your database by clicking on the "Gear" icon next to your database name then :menuselection:`Download` (if the download fails due to your backup file being too large, contact `our support <https://www.odoo.com/help>`_)
4. Follow the :ref:`Import your database section of the Odoo.sh documentation <odoo_sh_import_your_database>`.
From Odoo.sh to Odoo Online
===========================
#. Uninstall all the **non-standard apps**.
#. `Create a support ticket <https://www.odoo.com/help>`_ and include the following:
- Your subscription number
- The URL you want to use for your database (e.g., `example.odoo.com`)
- Which branch you want to migrate
- In which region you want to be hosted:
- Americas
- Europe
- Asia
- Which user(s) will be the administrator(s)
- When (and in which timezone) you want the database to be up and running
#. We will make sure your database is compatible and upload it to our cloud. In case of technical
issues, we will get in touch with you.
#. All done!
.. important::
- Odoo Online is not compatible with **non-standard apps**.
- Make sure to uninstall all the **non-standard apps** in a staging build before doing it in your
production build.
.. note::
- Make sure you select the **region** that is closest to your users to reduce latency.
- The future **administrator(s)** must have an odoo.com account.
- The specific **date and time** at which you want the database to be up and running are mainly
helpful to organize the switch from the odoo.sh server to the Odoo Online servers.
- Databases are **not reachable** during their migration.
- **If you have time constraints, contact us earlier to schedule the transfer**.
From Odoo.sh to on-premises
===========================
1. Grab a :ref:`backup of your Odoo.sh production database <odoo_sh_branches_backups>`.
2. Restore it from the database manager on your local server.
@@ -210,8 +210,9 @@ Connection`.
For more information see :ref:`Using a default email address <email_communication/default>`.
The :guilabel:`System Parameters` can be accessed by activating the :ref:`developer mode
<developer-mode>`.
The :guilabel:`System Parameters` can be accessed by activating
:doc:`../../applications/general/developer_mode` in the :menuselection:`Settings --> Technical
--> Parameters --> System Parameters` menu.
Once the setup is complete, the Odoo database is ready to use the Mailjet email server for mass
mailing or transactional emails!

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 35 KiB

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 38 KiB

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

@@ -0,0 +1,134 @@
===============================
Odoo Online database management
===============================
To manage a database, go to the `database manager <https://www.odoo.com/my/databases>`_ and sign in
as the database administrator.
All the main database management options are available by clicking the database name, except the
upgrade option, which can be accessed by clicking the **arrow in a circle** icon next to the
database name. It is only displayed if an upgrade is available.
.. image:: odoo_online/database-manager.png
:alt: Accessing the database management options
- :ref:`odoo_online/upgrade`
- :ref:`odoo_online/duplicate`
- :ref:`odoo_online/rename`
- :ref:`odoo_online/download`
- :ref:`odoo_online/domains`
- :ref:`odoo_online/tags`
- :ref:`odoo_online/delete`
- :ref:`odoo_online/contact-support`
- :ref:`odoo_online/users`
.. _odoo_online/upgrade:
Upgrade
=======
Trigger a database upgrade.
.. seealso::
For more information about the upgrade process, check out the :doc:`Odoo Online upgrade
documentation <../upgrade/odoo_online>`.
.. _odoo_online/duplicate:
Duplicate
=========
Create an exact copy of the database, which can be used to perform testing without compromising
daily operations.
.. important::
- By checking :guilabel:`For testing purposes`, all external actions (emails, payments, delivery
orders, etc.) are disabled by default on the duplicated database.
- Duplicated databases expire automatically after 15 days.
.. _odoo_online/rename:
Rename
======
Rename the database and its URL.
.. _odoo_online/download:
Download
========
Download a ZIP file containing a backup of the database.
.. note::
Databases are backed up daily as per the `Odoo Cloud Hosting SLA
<https://www.odoo.com/cloud-sla>`_.
.. _odoo_online/domains:
Domain names
============
Use a custom :doc:`domain name <domain_names>` to access the database via another URL.
.. tip::
You can :ref:`register a domain name for free <domain-name/odoo-register>`.
.. _odoo_online/tags:
Tags
====
Add tags to easily identify and sort your databases.
.. tip::
You can search for tags in the search bar.
.. _odoo_online/delete:
Delete
======
Delete a database instantly.
.. danger::
Deleting a database means that all data is permanently lost. The deletion is instant and applies
to all users. It is recommended to create a backup of the database before deleting it.
Carefully read the warning message and only proceed if the implications of deleting a database are
fully understood.
.. image:: odoo_online/delete.png
:alt: The warning message displayed before deleting a database
.. note::
- Only an administrator can delete a database.
- The database name is immediately made available to anyone.
- Deleting a database if it has expired or is linked to a subscription is impossible. In that
case, contact `Odoo Support <https://www.odoo.com/help>`_.
.. _odoo_online/contact-support:
Contact us
==========
Access the `Odoo.com support page <https://www.odoo.com/help>`_ with the database's details already
pre-filled.
.. _odoo_online/users:
Invite / remove users
=====================
To invite users, fill out the new user's email address and click :guilabel:`Invite`. To add multiple
users, click :guilabel:`Add more users`.
.. image:: odoo_online/invite-users.png
:alt: Inviting a user on a database
To remove users, select them and click :guilabel:`Remove`.
.. seealso::
- :doc:`../../applications/general/users/manage_users`
- :doc:`../../applications/general/users/delete_account`

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Before

Width:  |  Height:  |  Size: 6.0 KiB

After

Width:  |  Height:  |  Size: 6.0 KiB

@@ -0,0 +1,168 @@
==============================
On-premise database management
==============================
Register a database
===================
To register your database, you just need to enter your Subscription Code in the
banner in the App Switcher. Make sure you do not add extra spaces before or after
your subscription code. If the registration is successful, it will turn green and
will provide you with the Expiration Date of your freshly-registered database. You
can check this Expiration Date in the About menu (Odoo 9) or in the Settings Dashboard
(Odoo 10).
Registration Error Message
--------------------------
If you are unable to register your database, you will likely encounter this
message:
.. image:: on_premise/error_message_sub_code.png
:align: center
:alt: Something went wrong while registering your database, you can try again or contact Odoo
Help
Solutions
~~~~~~~~~
* Do you have a valid Enterprise subscription?
* Check if your subscription details get the tag "In Progress" on
your `Odoo Account
<https://accounts.odoo.com/my/subscription>`__ or with your Account Manager
* Have you already linked a database with your subscription reference?
* You can link only one database per subscription.
(Need a test or a development database? `Find a partner
<https://www.odoo.com/partners>`__)
* You can unlink the old database yourself on your `Odoo Contract
<https://accounts.odoo.com/my/subscription>`__ with the button "Unlink database"
.. image:: on_premise/unlink_single_db.png
:align: center
A confirmation message will appear; make sure this is the correct database as
it will be deactivated shortly:
.. image:: on_premise/unlink_confirm_enterprise_edition.png
:align: center
* Do you have the updated version of Odoo 9?
* From July 2016 onward, Odoo 9 now automatically change the uuid of a
duplicated database; a manual operation is no longer required.
* If it's not the case, you may have multiple databases sharing the same
UUID. Please check on your `Odoo Contract
<https://accounts.odoo.com/my/subscription>`__, a short message will appear
specifying which database is problematic:
.. image:: on_premise/unlink_db_name_collision.png
:align: center
In this case, you need to change the UUID on your test databases to solve this
issue. You will find more information about this in :ref:`this section <duplicate_premise>`.
For your information, we identify database with UUID. Therefore, each database
should have a distinct UUID to ensure that registration and invoicing proceed
effortlessly for your and for us.
* Check your network and firewall settings
* The Update notification must be able to reach Odoo's subscription
validation servers. In other words, make sure that the Odoo server is able
to open outgoing connections towards:
* services.odoo.com on port 443 (or 80)
* services.openerp.com on port 443 (or 80) for older deployments
* Once you activated your database, you must keep these ports open, as the
Update notification runs once a week.
Error message due to too many users
-----------------------------------
If you have more users in your local database than provisionned in your
Odoo Enterprise subscription, you may encounter this message:
.. image:: on_premise/add_more_users.png
:align: center
:alt: This database will expire in X days, you have more users than your subscription allows
When the message appears you have 30 days before the expiration.
The countdown is updated everyday.
Solutions
~~~~~~~~~
- **Add more users** on your subscription: follow the link and Validate
the upsell quotation and pay for the extra users.
- **Deactivate users** as explained in this `documentation <documentation.html#deactivating-users>`_
and **Reject** the upsell quotation.
Once your database has the correct number of users, the expiration message
will disappear automatically after a few days, when the next verification occurs.
We understand that it can be a bit frightening to see the countdown,
so you can :ref:`force an Update Notification <force_ping>` to make the message disappear
right away.
Database expired error message
------------------------------
If your database reaches its expiration date before your renew your subscription,
you will encounter this message:
.. image:: on_premise/database_expired.png
:align: center
:alt: This database has expired.
This **blocking** message appears after a non-blocking message that lasts 30 days.
If you fail to take action before the end of the countdown, the database is expired.
Solutions
~~~~~~~~~
* Renew your subscription: follow the link and renew your subscription - note that
if you wish to pay by Wire Transfer, your subscription will effectively be renewed
only when the payment arrives, which can take a few days. Credit card payments are
processed immediately.
* Contact our `Support <https://www.odoo.com/help>`__
None of those solutions worked for you? Please contact our
`Support <https://www.odoo.com/help>`__
.. _force_ping:
.. _duplicate_premise:
Duplicate a database
====================
You can duplicate your database by accessing the database manager on your
server (<odoo-server>/web/database/manager). In this page, you can easily
duplicate your database (among other things).
.. image:: on_premise/db_manager.gif
:align: center
When you duplicate a local database, it is **strongly** advised to change
the duplicated database's uuid (Unniversally Unique Identifier), since this
uuid is how your database identifies itself with our servers. Having two
databases with the same uuid could result in invoicing problems or registration
problems down the line.
.. note::
From July 2016 onward, Odoo 9 now automatically change the uuid of a duplicated database; a
manual operation is no longer required.
The database uuid is currently accessible from the menu :menuselection:`Settings --> Technical -->
System Parameters`, we advise you to use a `uuid generator <https://www.uuidtools.com>`_ or to
use the unix command ``uuidgen`` to generate a new uuid. You can then simply replace it like any
other record by clicking on it and using the edit button.
.. image:: on_premise/db_uuid.png
:align: center
Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

Before

Width:  |  Height:  |  Size: 4.6 KiB

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Before

Width:  |  Height:  |  Size: 6.9 KiB

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

@@ -0,0 +1,182 @@
.. _supported_versions:
==================
Supported versions
==================
Odoo provides support and bug fixing **for the 3 last major versions** of Odoo.
.. note::
Odoo releases intermediary versions called **Online versions** on the :doc:`Odoo Online
<odoo_online>` hosting every two months. Odoo Online users can then benefit from the latest
features of Odoo.
- Admins of Odoo Online databases are invited to :doc:`upgrade <../upgrade>` them regularly.
- Online versions are *not* released for Odoo.sh and On-Premise installations.
- Online versions are listed below as *SaaS*.
What's the support status of my Odoo?
=====================================
This matrix shows the support status of every version.
**Major releases are in bold type.**
.. list-table::
:header-rows: 1
:widths: auto
* -
- Odoo Online
- Odoo.sh
- On-Premise
- Release date
- End of support
* - Odoo saas~16.3
- |green|
- N/A
- N/A
- June 2023
- September 2023 (planned)
* - Odoo saas~16.2
- |green|
- N/A
- N/A
- March 2023
- July 2023 (planned)
* - Odoo saas~16.1
- |red|
- N/A
- N/A
- February 2023
- April 2023
* - **Odoo 16.0**
- |green|
- |green|
- |green|
- October 2022
- October 2025 (planned)
* - Odoo saas~15.2
- |red|
- N/A
- N/A
- March 2022
- January 2023
* - Odoo saas~15.1
- |red|
- N/A
- N/A
- February 2022
- July 2022
* - **Odoo 15.0**
- |green|
- |green|
- |green|
- October 2021
- October 2024 (planned)
* - **Odoo 14.0**
- |green|
- |green|
- |green|
- October 2020
- October 2023 (planned)
* - **Odoo 13.0**
- |red|
- |red|
- |red|
- October 2019
- October 2022
* - Odoo saas~12.3
- |red|
- N/A
- N/A
- August 2019
-
* - **Odoo 12.0**
- |red|
- |red|
- |red|
- October 2018
- October 2021
* - Odoo saas~11.3
- |red|
- N/A
- N/A
- April 2018
-
* - **Odoo 11.0**
- |red|
- |red|
- |red|
- October 2017
- October 2020
* - Odoo 10.saas~15
- |red|
- N/A
- N/A
- March 2017
-
* - Odoo 10.saas~14
- |red|
- N/A
- N/A
- January 2017
-
* - **Odoo 10.0**
- |red|
- |red|
- |red|
- October 2016
- October 2019
* - Odoo 9.saas~11
- |red|
- N/A
- N/A
- May 2016
-
* - **Odoo 9.0**
- |red|
- N/A
- |red|
- October 2015
- October 2018
* - Odoo 8.saas~6
- |red|
- N/A
- N/A
- February 2015
-
* - **Odoo 8.0**
- |red|
- N/A
- |red|
- September 2014
- October 2017
.. note::
|green| Supported version
|red| End-of-support
N/A Never released for this platform
🏁 Future version, not released yet
.. |green| raw:: html
<span class="text-success" style="font-size: 32px; line-height: 0.5">●</span>
.. |red| raw:: html
<span class="text-danger" style="font-size: 32px; line-height: 0.5">●</span>
I run an older version of Odoo/OpenERP/TinyERP
==============================================
OpenERP 7.0, 6.1, 6.0 and 5.0 is not supported anymore, on any platform.
TinyERP 4.0, 3.0, 2.0 and 1.0 is not supported anymore, on any platform.
Even though we don't support older versions, you can always `upgrade from any version <https://upgrade.odoo.com/>`_.
@@ -46,7 +46,7 @@ Updating Odoo is accomplished by simply reinstalling the latest version of your
Edition on top of your current installation. This will preserve your data without any alteration,
as long as you do not uninstall PostgreSQL (the database engine that comes with Odoo).
The main reference for updating is logically our :doc:`installation guide <../on_premise>`,
The main reference for updating is logically our :ref:`installation guide <setup/install>`,
which explains the common installation methods.
Updating is also most appropriately accomplished by the person who deployed Odoo initially,
@@ -110,7 +110,7 @@ to replace the installation directory with a newer version. First download the l
from Odoo.com. They are updated daily and include the latest security fixes (see step #1)
After downloading the package, extract it to a temporary location on your server.
You will get a folder labeled with the version of the source code, for example "odoo-13.0+e.20190719",
You will get a folder labelled with the version of the source code, for example "odoo-13.0+e.20190719",
that contains a folder "odoo.egg-info" and the actual source code folder named "odoo" (for Odoo 10
and later) or "openerp" for older versions.
You can ignore the odoo.egg-info folder. Locate the folder where your current installation is deployed,
-67
View File
@@ -1,67 +0,0 @@
================
Odoo mobile apps
================
Two kind of Odoo mobile app exist: the progressive web app (PWA) and store apps. Using the PWA is
recommended.
Progressive web app (PWA)
=========================
PWAs are web-based applications designed to function across different devices and platforms,
leveraging web browsers to deliver user experiences similar to native apps.
The Odoo PWA features include:
- Quick access by adding the PWA to a device's home screen
- Seamless and borderless navigation experience
- Push notifications
- SSO authentication
To install the Odoo PWA, launch a browser supporting PWAs, and sign in to an Odoo database. The
instructions to install a PWA depend on the platform and browser used.
.. tabs::
.. tab:: Android
**Chrome**: open Chrome's menu (:guilabel:`⋮`), select :guilabel:`Install app`, and tap
:guilabel:`Install`.
**Firefox**: open Firefox's menu (:guilabel:`⋮`), select :guilabel:`Install`, and either touch
and hold the Odoo icon or tap :guilabel:`Add automatically`.
The PWA can also be installed with **Samsung Internet**, **Edge**, and **Opera**.
.. tab:: iOS
**Safari**: open the **Share** menu by tapping the square with an arrow pointing upwards icon,
select :guilabel:`Add to Home Screen`, edit the PWA details if desired, and tap
:guilabel:`Add`.
On iOS 16.4 and above, the PWA can also be installed with **Chrome**, **Firefox**, and
**Edge**.
.. tab:: Desktop
**Chrome** and **Edge**: click the installation icon at the right of the address bar and click
:guilabel:`Install`.
.. seealso::
- `Google Chrome Help: Use progressive web apps
<https://support.google.com/chrome/answer/9658361>`_
- `MDN Web Docs: Installing and uninstalling web apps
<https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps/Guides/Installing>`_
- `Microsoft Support: Install, manage, or uninstall apps in Microsoft Edge <https://support.microsoft.com/en-us/topic/install-manage-or-uninstall-apps-in-microsoft-edge-0c156575-a94a-45e4-a54f-3a84846f6113>`_
Store apps
==========
The Odoo mobile apps are available for download on the `Google Play Store
<https://play.google.com/store/apps/details?id=com.odoo.mobile>`_ and `Apple App Store
<https://apps.apple.com/app/odoo/id1272543640>`_.
.. important::
The iOS app cannot be updated and will be deprecated at some point in the future.
While the store apps support multi-accounts, they are not compatible with SS0 authentication.
@@ -1,36 +0,0 @@
====================
Neutralized database
====================
A neutralized database is a non-production database on which several parameters are deactivated.
This enables one to carry out tests without the risk of launching specific automated processes that
could impact production data (e.g., sending emails to customers). Live access is removed and
turned into a testing environment.
.. note::
**Any testing database created is a neutralized database:**
- testing backup databases
- duplicate databases
- for Odoo.sh: staging and development databases
.. important::
A database can also be neutralized when upgrading, as it is vital to do some tests before
switching to a new version.
Deactivated features
====================
Here is a non-exhaustive list of the deactivated features:
- all planned actions (e.g., automatic invoicing of subscriptions, mass mailing, etc.)
- outgoing emails
- bank synchronization
- payment providers
- delivery methods
- :abbr:`IAP (In-App Purchase)` tokens
- website visibility (prevent search engines from indexing your site)
.. note::
**A red banner at the top of the screen is displayed on the neutralized database so that it can
be seen immediately.**
-80
View File
@@ -1,80 +0,0 @@
=================
Odoo.com accounts
=================
This documentation is dedicated to edits made to an Odoo.com account. The following processes
describe how to delete an Odoo.com account, and how to change the password on an Odoo.com account.
Delete Odoo.com account
=======================
To delete an Odoo.com account, start by clicking the profile icon in the upper-right corner
(represented by the username and icon) to reveal a drop-down menu. From the drop-down menu, select
:guilabel:`My Odoo.com account`, which reveals the user portal.
From the user portal, the delete option can be accessed by going to :menuselection:`My Account -->
Edit Security Settings --> Delete Account`. It can also be accessed by going to
`https://www.odoo.com/my/home <https://www.odoo.com/my/home>`_.
.. danger::
Deleting an Odoo account is irreversible. Be careful performing this action, as the Odoo.com
account is **not** retrievable once deleted.
Upon clicking the :guilabel:`Delete Account` button, a pop-up window appears, requesting
confirmation for the account deletion.
.. image:: odoo_account/delete-account.png
:align: center
:alt: Clicking on the Delete Account button will populate a window verifying the change.
To confirm the deletion, enter the :guilabel:`Password` and the :guilabel:`Login` for the account
being deleted. Then, click the :guilabel:`Delete Account` button to confirm the deletion.
.. _odoocom/change_password:
Odoo.com account password change
================================
To change an Odoo.com account password, first login into the Odoo.com user account from the Odoo.com
login page. After logging-in, go to the upper-right corner of the screen, and click the :guilabel:`▼
(down arrow)` icon next to the profile icon. Then, select :guilabel:`My Account`, and a portal
dashboard appears.
To change the Odoo.com password, click on the :guilabel:`Edit Security Settings` link, below the
:menuselection:`Account Security` section. Next, make the necessary changes by typing in the current
:guilabel:`Password`, :guilabel:`New Password`, and verify the new password. Lastly, click on
:guilabel:`Change Password` to complete the password change.
.. note::
If a customer would like to change the login, contact Odoo support `here
<https://www.odoo.com/help>`_.
.. note::
Passwords for Odoo.com users and portal users remain separate, even if the same email address is
used.
Add two-factor authentication
=============================
To add two-factor authentication, login into the Odoo.com user account from the Odoo.com login page.
After logging-in, go to the upper-right corner of the screen, and click the :guilabel:`▼ (down
arrow)` icon next to the :guilabel:`profile icon`. Then, select :guilabel:`My Account`, and a portal
dashboard appears.
If the user would like to turn on two-factor authentication (2FA) for Odoo.com access, click on the
:guilabel:`Edit Security Settings` link below the :menuselection:`Account Security` section.
Click on :guilabel:`Enable two-factor authentication` to turn on :abbr:`2FA (two-factor
authentication)`. Then, confirm the current password in the :guilabel:`Password` field. Next, click
on :guilabel:`Confirm Password`. Following that, activate :abbr:`2FA (two-factor authentication)` in
a :abbr:`2FA (two-factor authentication)` app (Google Authenticator, Authy, etc.), by scanning the
:guilabel:`QR code` or entering a :guilabel:`Verification Code`.
Finally, click on :guilabel:`Enable two-factor authentication` to complete the setup.
.. note::
Under :guilabel:`My Account` Odoo.com users can also access the following:
- :guilabel:`My Partner dashboard`
- :guilabel:`My In-App Services`
- :guilabel:`My Apps Dashboard`
-151
View File
@@ -1,151 +0,0 @@
===========
Odoo Online
===========
`Odoo Online <https://www.odoo.com/trial>`_ provides private databases which are fully managed and
hosted by Odoo. It can be used for long-term production or to test Odoo thoroughly, including
customizations that don't require code.
.. note::
Odoo Online is incompatible with custom modules or the Odoo App Store.
Odoo Online databases are accessed using any web browser and do not require a local installation.
To quickly try out Odoo, shared `demo <https://demo.odoo.com>`_ instances are available. No
registration is required, but each instance only lives for a few hours.
Database management
===================
To manage a database, go to the `database manager <https://www.odoo.com/my/databases>`_ and sign in
as the database administrator.
All the main database management options are available by clicking the database name, except the
upgrade option, which can be accessed by clicking the **arrow in a circle** icon next to the
database name. It is only displayed if an upgrade is available.
.. image:: odoo_online/database-manager.png
:alt: Accessing the database management options
- :ref:`odoo_online/upgrade`
- :ref:`odoo_online/duplicate`
- :ref:`odoo_online/rename`
- :ref:`odoo_online/download`
- :ref:`odoo_online/domains`
- :ref:`odoo_online/tags`
- :ref:`odoo_online/delete`
- :ref:`odoo_online/contact-support`
- :ref:`odoo_online/users`
.. _odoo_online/upgrade:
Upgrade
=======
Trigger a database upgrade.
.. seealso::
For more information about the upgrade process, check out the :ref:`Odoo Online upgrade
documentation <upgrade-request-test>`.
.. _odoo_online/duplicate:
Duplicate
=========
Create an exact copy of the database, which can be used to perform testing without compromising
daily operations.
.. important::
- By checking :guilabel:`For testing purposes`, all external actions (emails, payments, delivery
orders, etc.) are disabled by default on the duplicated database.
- Duplicated databases expire automatically after 15 days.
- A maximum of five duplicates can be made per database. Under extraordinary circumstances,
contact `support <https://www.odoo.com/help>`_ to raise the limit.
.. _odoo_online/rename:
Rename
======
Rename the database and its URL.
.. _odoo_online/download:
Download
========
Download a ZIP file containing a backup of the database.
.. note::
Databases are backed up daily as per the `Odoo Cloud Hosting SLA
<https://www.odoo.com/cloud-sla>`_.
.. _odoo_online/domains:
Domain names
============
Use a custom :doc:`domain name </applications/websites/website/configuration/domain_names>` to
access the database via another URL.
.. tip::
You can :ref:`register a domain name for free <domain-name/register>`.
.. _odoo_online/tags:
Tags
====
Add tags to easily identify and sort your databases.
.. tip::
You can search for tags in the search bar.
.. _odoo_online/delete:
Delete
======
Delete a database instantly.
.. danger::
Deleting a database means that all data is permanently lost. The deletion is instant and applies
to all users. It is recommended to create a backup of the database before deleting it.
Carefully read the warning message and only proceed if the implications of deleting a database are
fully understood.
.. image:: odoo_online/delete.png
:alt: The warning message displayed before deleting a database
.. note::
- Only an administrator can delete a database.
- The database name is immediately made available to anyone.
- Deleting a database if it has expired or is linked to a subscription is impossible. In that
case, contact `Odoo Support <https://www.odoo.com/help>`_.
.. _odoo_online/contact-support:
Contact us
==========
Access the `Odoo.com support page <https://www.odoo.com/help>`_ with the database's details already
pre-filled.
.. _odoo_online/users:
Invite / remove users
=====================
To invite users, fill out the new user's email address and click :guilabel:`Invite`. To add multiple
users, click :guilabel:`Add more users`.
.. image:: odoo_online/invite-users.png
:alt: Inviting a user on a database
To remove users, select them and click :guilabel:`Remove`.
.. seealso::
- :doc:`/applications/general/users`
- :doc:`odoo_accounts`
@@ -29,32 +29,3 @@ We advise that:
- Your scheduled actions should be
`idempotent <https://stackoverflow.com/a/1077421/3332416>`_: they must not
cause side-effects if they are started more often than expected.
.. _ip-address-change:
How can I automate tasks when an IP address change occurs?
----------------------------------------------------------
**Odoo.sh notifies project administrators of IP address changes.**
Additionally, when the IP address of a production instance changes, an HTTP `GET` request is made
to the path `/_odoo.sh/ip-change` with the new IP address included as a query string parameter
(`new`), along with the previous IP address as an additional parameter (`old`).
This mechanism allows custom actions to be applied in response to the IP address change
(e.g., sending an email, contacting a firewall API, configuring database objects, etc.)
For security reasons, the `/_odoo.sh/ip-change` route is accessible only internally by the platform
itself and returns a `403` response if accessed through any other means.
Here is a pseudo-implementation example:
.. code-block:: python
class IPChangeController(http.Controller):
@http.route('/_odoo.sh/ip-change', auth='public')
def ip_change(self, old=None, new=None):
_logger.info("IP address changed from %s to %s", old, new)
# Then perform whatever action required for your use case, e.g., update an
# ir.config_parameter, send an email, contact an external firewall service's API, ...
return 'ok'
@@ -99,7 +99,7 @@ disable the tests or allow specific tests to be run with custom tags in the :ref
<odoosh-gettingstarted-branches-tabs-settings>`.
Similar to staging branches, the emails are not sent but are intercepted by a mailcatcher and
scheduled actions are not triggered as long as the database is not in use.
scheduled actions are not triggered as often is the database is not in use.
The databases created for development branches are meant to live around three days.
After that, they can be automatically garbage collected to make room for new databases without prior notice.
@@ -295,7 +295,7 @@ Upgrade
Available for production and staging branches for valid projects.
.. seealso::
:doc:`Upgrade documentation <../../upgrade>`
:doc:`Upgrade - Odoo.sh <../../upgrade/odoo_sh>`
.. _odoosh-gettingstarted-branches-tabs-settings:
@@ -91,7 +91,7 @@ Import your database
====================
You can import your database in your Odoo.sh project as long as it is in a :doc:`supported version
</administration/supported_versions>` of Odoo.
</administration/maintain/supported_versions>` of Odoo.
Push your modules in production
-------------------------------
@@ -202,4 +202,4 @@ therefore removed, as you can only have one database linked per subscription.
If you plan to make it your production, unlink your former database from the subscription, and
register the newly imported database. Read the :doc:`database registration documentation
<../../on_premise>` for instructions.
<../../maintain/on_premise>` for instructions.
@@ -85,7 +85,7 @@ From the Odoo.sh editor, in a terminal:
$ odoo-bin scaffold my_module ~/src/user/
Or, from your computer, if you have an :doc:`installation of Odoo <../../on_premise/source>`:
Or, from your computer, if you have an :ref:`installation of Odoo <setup/install/source>`:
.. code-block:: bash
@@ -33,17 +33,17 @@ Manage the Github users who can access your project.
.. image:: settings/interface-settings-collaborators.png
:align: center
There are three levels of users:
There are two levels of users:
- :guilabel:`Admin`: has access to all features of an Odoo.sh project.
* Admin: has access to all features of Odoo.sh.
* User: does not have access to the project settings nor to the production and staging databases.
- :guilabel:`Tester`: has access to the *Staging* and *Development* databases and their tooling.
This role is for users conducting User Acceptance Tests. Testers can work with copies of
production data but cannot access the production database through the Odoo.sh tooling.
The user group is meant for developers who can make modifications in your code but are not allowed
to access the production data. Users of this group cannot connect to the production and staging
databases using the *1-click connect* feature, but they can of course use their regular account on
these databases if they have one, using their regular credentials.
- :guilabel:`Developer`: has access only to the *Development* databases and their tooling. This
role is for developers who propose code modifications but are not allowed to access production
and staging databases through the Odoo.sh tooling.
In addition, they cannot use the webshell nor have access to the server logs.
.. list-table::
:header-rows: 1
@@ -51,145 +51,83 @@ There are three levels of users:
* -
-
- Developer
- Tester
- User
- Admin
* - Development
- History
- |green|
- |green|
- |green|
* -
- 1-click connect
- |green|
- |green|
- |green|
* -
- Logs
- |green|
- |green|
- |green|
* -
- Shell/SSH
- |green|
- |green|
- |green|
* -
- Mails
- |green|
- |green|
* -
- Upgrade
- |green|
- |green|
* -
- Settings
- |green|
- |green|
- |green|
* - Staging
* - Production & Staging
- History
- |green|
- |green|
- |green|
* -
- 1-click connect
-
- |green|
- |green|
* -
- Logs
-
- |green|
- |green|
* -
- Shell/SSH
-
- |green|
- |green|
* -
- Mails
-
- |green|
- |green|
* -
- Monitoring
-
- |green|
- |green|
* -
- Backups
-
-
- |green|
* -
- Upgrade
-
- |green|
- |green|
* -
- Settings
-
- |green|
- |green|
* - Production
- History
- |green|
- |green|
- |green|
* -
- 1-click connect
-
-
- |green|
* -
- Logs
-
-
- |green|
* -
- Shell/SSH
-
-
- |green|
* -
- Mails
-
-
- |green|
* -
- Monitoring
-
-
- |green|
* -
- Backups
-
-
- |green|
* -
- Upgrade
-
-
- |green|
* -
- Settings
-
-
- |green|\*
- |green|
* - Status
-
- |green|
- |green|
- |green|
* - Settings
-
-
-
- |green|
.. warning::
Those roles only apply to the usage of Odoo.sh. It is important to reflect the user roles
attribution within the repository on GitHub. Please refer to the GitHub documentation section on
`Managing a branch protection rule <https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/managing-a-branch-protection-rule>`_
for detailed guidance.
.. note::
\* Only in staging branches
.. |green| raw:: html
@@ -211,32 +149,15 @@ Allow public access to your development builds.
.. image:: settings/interface-settings-public.png
:align: center
If activated, this option exposes the Builds page publicly, allowing visitors to view logs of development builds.
If activated, this option exposes the Builds page publicly, allowing visitors to connect to your
development builds.
In addition, visitors have access to the logs, shell and mails of your development builds.
Production and staging builds are excluded, visitors can only see their status.
.. _odoosh-gettingstarted-settings-modules-installation:
GitHub commit statuses
======================
This option enables Odoo.sh to push commit statuses to your GitHub repository when a build is
created or updated. It requires a GitHub token with permissions to push commit statuses to the
repository. Refer to `GitHub's documentation on personal access tokens <https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens>`_
for instructions to create yours.
.. note::
GitHub's **fine-grained personal tokens** have an expiration date and will be disabled if they
fail to update the commit status. You can replace the token at any time on Odoo.sh.
The commit statuses pushed to GitHub can have the following contexts:
- :guilabel:`ci/odoo.sh (dev)`: status of a development build
- :guilabel:`ci/odoo.sh (staging)`: status of a staging build
- :guilabel:`ci/odoo.sh (production)`: status of a production build
- :guilabel:`ci/odoo.sh (test_ci)`: testing the token from the Settings page will push a test
status on the last commit of your repository
Custom domains
==============
-123
View File
@@ -1,123 +0,0 @@
:show-content:
==========
On-premise
==========
Register a database
===================
To register your database, enter your subscription code in the banner in the app dashboard. If the
registration is successful, the banner will turn green and display the database expiration date.
.. tip::
The expiration date is also displayed at the bottom of the Settings page.
.. _on-premise/duplicate:
Duplicate a database
====================
Duplicate a database by accessing the database manager on your server
(`<odoo-server>/web/database/manager`). Typically, you want to duplicate your production database
into a neutralized testing database. It can be done by checking the neutralize box when prompted,
which executes all :file:`neutralize.sql` scripts for every installed module.
Common error messages and solutions
===================================
Registration error
------------------
In case of a registration error, the following message should be displayed.
.. image:: on_premise/error-message-sub-code.png
:alt: Database registration error message
To resolve the issue:
- Check the **validity of your Odoo Enterprise subscription** by verifying if your subscription
details have the tag :guilabel:`In Progress` on your `Odoo Account
<https://accounts.odoo.com/my/subscription>`_ or contact your Account Manager.
- Ensure that **no other database is linked** to the subscription code, as only one database can be
linked per subscription.
.. tip::
If a test or a development database is needed, you can :ref:`duplicate a database
<on-premise/duplicate>`.
- Verify that **no databases share the same UUID** (Universally Unique Identifier) by opening your
`Odoo Contract <https://accounts.odoo.com/my/subscription>`_. If two or more databases share the
same UUID, their name will be displayed.
.. image:: on_premise/unlink-db-name-collision.png
:alt: Database UUID error message
If that is the case, manually change the database(s) UUID or `send a support ticket
<https://www.odoo.com/help>`_.
- As the update notification must be able to reach Odoo's subscription validation servers, ensure
your **network and firewall settings** allow the Odoo server to open outgoing connections
towards:
- Odoo 18.0 and above: `services.odoo.com` on port `443` (or `80`)
- Odoo 17.0 and below: `services.openerp.com` on port `443` (or `80`)
These ports must be kept open even after registering a database, as the update notification runs
once a week.
Too many users error
--------------------
If you have more users in a local database than provisioned in your Odoo Enterprise subscription,
the following message should be displayed.
.. image:: on_premise/add-more-users.png
:alt: Too many users on a database error message
When the message appears, you have 30 days to act before the database expires. The countdown is
updated every day.
To resolve the issue, either:
- **Add more users** to your subscription by clicking the :guilabel:`Upgrade your subscription` link
displayed in the message to validate the upsell quotation and pay for the extra users.
- :ref:`Deactivate users <users/deactivate>` and **reject** the upsell quotation.
.. important::
If you are on a monthly subscription plan, the database will automatically update to reflect the
added user(s). If you are on a yearly or multi-year plan, an expiration banner will appear in the
database. You can create the upsell quotation by clicking the banner to update the subscription
or `send a support ticket <https://www.odoo.com/help>`_ to resolve the issue.
Once your database has the correct number of users, the expiration message disappears automatically
after a few days, when the next verification occurs.
Database expired error
----------------------
If your database expires before you renew your subscription, the following message should be
displayed.
.. image:: on_premise/database-expired.png
:alt: Database expired error message
This message appears if you fail to act before the end of the 30-day countdown.
To resolve the issue, either:
- Click the :guilabel:`Renew your subscription` link displayed in the message and complete the
process. If you pay by wire transfer, your subscription will be renewed when the payment arrives
which can take a few days. Credit card payments are processed immediately.
- `Send a support ticket <https://www.odoo.com/help>`_.
.. toctree::
on_premise/packages
on_premise/source
on_premise/update
on_premise/deploy
on_premise/email_gateway
on_premise/geo_ip
on_premise/community_to_enterprise
Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.3 KiB

@@ -1,106 +0,0 @@
.. _setup/enterprise:
===================================
Switch from Community to Enterprise
===================================
Depending on your current installation, there are multiple ways to upgrade
your community version.
In any case the basic guidelines are:
* Backup your community database
.. image:: community_to_enterprise/db_manager.png
:class: img-fluid
* Shutdown your server
* Install the web_enterprise module
* Restart your server
* Enter your Odoo Enterprise Subscription code
.. image:: community_to_enterprise/enterprise_code.png
:class: img-fluid
On Linux, using an installer
============================
* Backup your community database
* Stop the odoo service
.. code-block:: console
$ sudo service odoo stop
* Install the enterprise .deb (it should install over the community package)
.. code-block:: console
$ sudo dpkg -i <path_to_enterprise_deb>
* Update your database to the enterprise packages using
.. code-block:: console
$ python3 /usr/bin/odoo-bin -d <database_name> -i web_enterprise --stop-after-init
* You should be able to connect to your Odoo Enterprise instance using your usual mean of identification.
You can then link your database with your Odoo Enterprise Subscription by entering the code you received
by e-mail in the form input
On Linux, using the source code
===============================
There are many ways to launch your server when using sources, and you probably
have your own favourite. You may need to adapt sections to your usual workflow.
* Shutdown your server
* Backup your community database
* Update the ``--addons-path`` parameter of your launch command (see :doc:`../on_premise/source`)
* Install the web_enterprise module by using
.. code-block:: console
$ -d <database_name> -i web_enterprise --stop-after-init
Depending on the size of your database, this may take some time.
* Restart your server with the updated addons path of point 3.
You should be able to connect to your instance. You can then link your database with your
Odoo Enterprise Subscription by entering the code you received by e-mail in the form input
On Windows
==========
* Backup your community database
* Uninstall Odoo Community (using the Uninstall executable in the installation folder) -
PostgreSQL will remain installed
.. image:: community_to_enterprise/windows_uninstall.png
:class: img-fluid
* Launch the Odoo Enterprise Installer and follow the steps normally. When choosing
the installation path, you can set the folder of the Community installation
(this folder still contains the PostgreSQL installation).
Uncheck ``Start Odoo`` at the end of the installation
.. image:: community_to_enterprise/windows_setup.png
:class: img-fluid
* Using a command window, update your Odoo Database using this command (from the Odoo
installation path, in the server subfolder)
.. code-block:: console
$ ..\python\python.exe odoo-bin -d <database_name> -i web_enterprise --stop-after-init
* No need to manually launch the server, the service is running.
You should be able to connect to your Odoo Enterprise instance using your usual
mean of identification. You can then link your database with your Odoo Enterprise
Subscription by entering the code you received by e-mail in the form input
@@ -1,930 +0,0 @@
====================
System configuration
====================
This document describes basic steps to set up Odoo in production or on an
internet-facing server. It follows :doc:`installation <../on_premise>`, and is
not generally necessary for a development systems that is not exposed on the
internet.
.. warning:: If you are setting up a public server, be sure to check our :ref:`security` recommendations!
.. _db_filter:
dbfilter
========
Odoo is a multi-tenant system: a single Odoo system may run and serve a number
of database instances. It is also highly customizable, with customizations
(starting from the modules being loaded) depending on the "current database".
This is not an issue when working with the backend (web client) as a logged-in
company user: the database can be selected when logging in, and customizations
loaded afterwards.
However it is an issue for non-logged users (portal, website) which aren't
bound to a database: Odoo needs to know which database should be used to load
the website page or perform the operation. If multi-tenancy is not used that is not an
issue, there's only one database to use, but if there are multiple databases
accessible Odoo needs a rule to know which one it should use.
That is one of the purposes of :option:`--db-filter <odoo-bin --db-filter>`:
it specifies how the database should be selected based on the hostname (domain)
that is being requested. The value is a `regular expression`_, possibly
including the dynamically injected hostname (``%h``) or the first subdomain
(``%d``) through which the system is being accessed.
For servers hosting multiple databases in production, especially if ``website``
is used, dbfilter **must** be set, otherwise a number of features will not work
correctly.
Configuration samples
---------------------
* Show only databases with names beginning with 'mycompany'
in :ref:`the configuration file <reference/cmdline/config_file>` set:
.. code-block:: ini
[options]
dbfilter = ^mycompany.*$
* Show only databases matching the first subdomain after ``www``: for example
the database "mycompany" will be shown if the incoming request
was sent to ``www.mycompany.com`` or ``mycompany.co.uk``, but not
for ``www2.mycompany.com`` or ``helpdesk.mycompany.com``.
in :ref:`the configuration file <reference/cmdline/config_file>` set:
.. code-block:: ini
[options]
dbfilter = ^%d$
.. note::
Setting a proper :option:`--db-filter <odoo-bin --db-filter>` is an important part
of securing your deployment.
Once it is correctly working and only matching a single database per hostname, it
is strongly recommended to block access to the database manager screens,
and to use the ``--no-database-list`` startup parameter to prevent listing
your databases, and to block access to the database management screens.
See also security_.
PostgreSQL
==========
By default, PostgreSQL only allows connection over UNIX sockets and loopback
connections (from "localhost", the same machine the PostgreSQL server is
installed on).
UNIX socket is fine if you want Odoo and PostgreSQL to execute on the same
machine, and is the default when no host is provided, but if you want Odoo and
PostgreSQL to execute on different machines [#different-machines]_ it will
need to `listen to network interfaces`_ [#remote-socket]_, either:
* Only accept loopback connections and `use an SSH tunnel`_ between the
machine on which Odoo runs and the one on which PostgreSQL runs, then
configure Odoo to connect to its end of the tunnel
* Accept connections to the machine on which Odoo is installed, possibly
over ssl (see `PostgreSQL connection settings`_ for details), then configure
Odoo to connect over the network
Configuration sample
--------------------
* Allow tcp connection on localhost
* Allow tcp connection from 192.168.1.x network
in ``/etc/postgresql/<YOUR POSTGRESQL VERSION>/main/pg_hba.conf`` set:
.. code-block:: text
# IPv4 local connections:
host all all 127.0.0.1/32 md5
host all all 192.168.1.0/24 md5
in ``/etc/postgresql/<YOUR POSTGRESQL VERSION>/main/postgresql.conf`` set:
.. code-block:: text
listen_addresses = 'localhost,192.168.1.2'
port = 5432
max_connections = 80
.. _setup/deploy/odoo:
Configuring Odoo
----------------
Out of the box, Odoo connects to a local postgres over UNIX socket via port
5432. This can be overridden using :ref:`the database options
<reference/cmdline/server/database>` when your Postgres deployment is not
local and/or does not use the installation defaults.
The :doc:`packaged installers <packages>` will automatically
create a new user (``odoo``) and set it as the database user.
* The database management screens are protected by the ``admin_passwd``
setting. This setting can only be set using configuration files, and is
simply checked before performing database alterations. It should be set to
a randomly generated value to ensure third parties can not use this
interface.
* All database operations use the :ref:`database options
<reference/cmdline/server/database>`, including the database management
screen. For the database management screen to work requires that the PostgreSQL user
have ``createdb`` right.
* Users can always drop databases they own. For the database management screen
to be completely non-functional, the PostgreSQL user needs to be created with
``no-createdb`` and the database must be owned by a different PostgreSQL user.
.. warning:: the PostgreSQL user *must not* be a superuser
Configuration sample
~~~~~~~~~~~~~~~~~~~~
* connect to a PostgreSQL server on 192.168.1.2
* port 5432
* using an 'odoo' user account,
* with 'pwd' as a password
* filtering only db with a name beginning with 'mycompany'
in :ref:`the configuration file <reference/cmdline/config_file>` set:
.. code-block:: ini
[options]
admin_passwd = mysupersecretpassword
db_host = 192.168.1.2
db_port = 5432
db_user = odoo
db_password = pwd
dbfilter = ^mycompany.*$
.. _postgresql_ssl_connect:
SSL Between Odoo and PostgreSQL
-------------------------------
Since Odoo 11.0, you can enforce ssl connection between Odoo and PostgreSQL.
in Odoo the db_sslmode control the ssl security of the connection
with value chosen out of 'disable', 'allow', 'prefer', 'require', 'verify-ca'
or 'verify-full'
`PostgreSQL Doc <https://www.postgresql.org/docs/12/static/libpq-ssl.html>`_
.. _builtin_server:
Builtin server
==============
Odoo includes built-in HTTP, cron, and live-chat servers, using either multi-threading or
multi-processing.
The **multi-threaded** server is a simpler server primarily used for development, demonstrations,
and its compatibility with various operating systems (including Windows). A new thread is spawned
for every new HTTP request, even for long-lived connections such as websocket. Extra daemonic cron
threads are spawned too. Due to a Python limitation (GIL), it doesn't make the best use of the
hardware.
The multi-threaded server is the default server, also for docker containers. It is selected by
leaving the :option:`--workers <odoo-bin --workers>` option out or setting it to ``0``.
The **multi-processing** server is a full-blown server primarily used for production. It is not
liable to the same Python limitation (GIL) on resource usage and hence makes the best use of the
hardware. A pool of workers is created upon server startup. New HTTP requests are queued by the OS
until there are workers ready to process them. An extra event-driven HTTP worker for the live chat
is spawned on an alternative port. Extra cron workers are spawned too. A configurable process
reaper monitors resource usage and can kill/restart failed workers.
The multi-processing server is opt-in. It is selected by setting the :option:`--workers
<odoo-bin --workers>` option to a non-null integer.
.. note::
Because it is highly customized for Linux servers, the multi-processing server is not available
on Windows.
Worker number calculation
-------------------------
* Rule of thumb : (#CPU * 2) + 1
* Cron workers need CPU
* 1 worker ~= 6 concurrent users
memory size calculation
-----------------------
* We consider 20% of the requests are heavy requests, while 80% are simpler ones
* A heavy worker, when all computed field are well designed, SQL requests are well designed, ... is estimated to consume around 1GB of RAM
* A lighter worker, in the same scenario, is estimated to consume around 150MB of RAM
Needed RAM = #worker * ( (light_worker_ratio * light_worker_ram_estimation) + (heavy_worker_ratio * heavy_worker_ram_estimation) )
LiveChat
--------
In multi-processing, a dedicated LiveChat worker is automatically started and listens on
the :option:`--gevent-port <odoo-bin --gevent-port>`. By default, the HTTP requests will keep
accessing the normal HTTP workers instead of the LiveChat one. You must deploy a proxy in front of
Odoo and redirect incoming requests whose path starts with ``/websocket/`` to the LiveChat worker.
You must also start Odoo in :option:`--proxy-mode <odoo-bin --proxy-mode>` so it uses the real
client headers (such as hostname, scheme, and IP) instead of the proxy ones.
Configuration sample
--------------------
* Server with 4 CPU, 8 Thread
* 60 concurrent users
* 60 users / 6 = 10 <- theoretical number of worker needed
* (4 * 2) + 1 = 9 <- theoretical maximal number of worker
* We'll use 8 workers + 1 for cron. We'll also use a monitoring system to measure cpu load, and check if it's between 7 and 7.5 .
* RAM = 9 * ((0.8*150) + (0.2*1024)) ~= 3Go RAM for Odoo
in :ref:`the configuration file <reference/cmdline/config_file>`:
.. code-block:: ini
[options]
limit_memory_hard = 1677721600
limit_memory_soft = 629145600
limit_request = 8192
limit_time_cpu = 600
limit_time_real = 1200
max_cron_threads = 1
workers = 8
.. _https_proxy:
HTTPS
=====
Whether it's accessed via website/web client or web service, Odoo transmits
authentication information in cleartext. This means a secure deployment of
Odoo must use HTTPS\ [#switching]_. SSL termination can be implemented via
just about any SSL termination proxy, but requires the following setup:
* Enable Odoo's :option:`proxy mode <odoo-bin --proxy-mode>`. This should only be enabled when Odoo is behind a reverse proxy
* Set up the SSL termination proxy (`Nginx termination example`_)
* Set up the proxying itself (`Nginx proxying example`_)
* Your SSL termination proxy should also automatically redirect non-secure
connections to the secure port
Configuration sample
--------------------
* Redirect http requests to https
* Proxy requests to odoo
in :ref:`the configuration file <reference/cmdline/config_file>` set:
.. code-block:: ini
proxy_mode = True
in ``/etc/nginx/sites-enabled/odoo.conf`` set:
.. code-block:: nginx
#odoo server
upstream odoo {
server 127.0.0.1:8069;
}
upstream odoochat {
server 127.0.0.1:8072;
}
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
# http -> https
server {
listen 80;
server_name odoo.mycompany.com;
rewrite ^(.*) https://$host$1 permanent;
}
server {
listen 443 ssl;
server_name odoo.mycompany.com;
proxy_read_timeout 720s;
proxy_connect_timeout 720s;
proxy_send_timeout 720s;
# SSL parameters
ssl_certificate /etc/ssl/nginx/server.crt;
ssl_certificate_key /etc/ssl/nginx/server.key;
ssl_session_timeout 30m;
ssl_protocols TLSv1.2;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers off;
# log
access_log /var/log/nginx/odoo.access.log;
error_log /var/log/nginx/odoo.error.log;
# Redirect websocket requests to odoo gevent port
location /websocket {
proxy_pass http://odoochat;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";
proxy_cookie_flags session_id samesite=lax secure; # requires nginx 1.19.8
}
# Redirect requests to odoo backend server
location / {
# Add Headers for odoo proxy mode
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_redirect off;
proxy_pass http://odoo;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";
proxy_cookie_flags session_id samesite=lax secure; # requires nginx 1.19.8
}
# common gzip
gzip_types text/css text/scss text/plain text/xml application/xml application/json application/javascript;
gzip on;
}
HTTPS Hardening
---------------
Add the `Strict-Transport-Security` header to all requests, in order to prevent
browsers from ever sending a plain HTTP request to this domain. You will need
to maintain a working HTTPS service with a valid certificate on this domain at
all times, otherwise your users will see security alerts or be entirely unable
to access it.
Force HTTPS connections during a year for every visitor in NGINX with the line:
.. code-block:: nginx
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";
Additional configuration can be defined for the `session_id` cookie. The `Secure`
flag can be added to ensure it is never transmitted over HTTP and `SameSite=Lax`
to prevent authenticated `CSRF`_.
.. code-block:: nginx
# requires nginx 1.19.8
proxy_cookie_flags session_id samesite=lax secure;
Odoo as a WSGI Application
==========================
It is also possible to mount Odoo as a standard WSGI_ application. Odoo
provides the base for a WSGI launcher script as ``odoo-wsgi.example.py``. That
script should be customized (possibly after copying it from the setup directory) to correctly set the
configuration directly in :mod:`odoo.tools.config` rather than through the
command-line or a configuration file.
However the WSGI server will only expose the main HTTP endpoint for the web
client, website and webservice API. Because Odoo does not control the creation
of workers anymore it can not setup cron or livechat workers
Cron Workers
------------
Starting one of the built-in Odoo servers next to the WSGI server is required to process cron jobs.
That server must be configured to only process crons and not HTTP requests using the
:option:`--no-http <odoo-bin --no-http>` cli option or the ``http_enable = False`` configuration
file setting.
On Linux-like systems, using the multi-processing server over the multi-threading one is recommended
to benefit from better hardware usage and increased stability, i.e., using
the :option:`--workers=-1 <odoo-bin --workers>` and :option:`--max-cron-threads=n
<odoo-bin --max-cron-threads>` cli options.
LiveChat
--------
Using a gevent-compatible WSGI server is required for the correct operation of the live chat
feature. That server should be able to handle many simultaneous long-lived connections but doesn't
need a lot of processing power. All requests whose path starts with ``/websocket/`` should be
directed to that server. A regular (thread/process-based) WSGI server should be used for all other
requests.
The Odoo cron server can also be used to serve the live chat requests. Just drop
the :option:`--no-http <odoo-bin --no-http>` cli option from the cron server and make sure requests
whose path starts with ``/websocket/`` are directed to this server, either on
the :option:`--http-port <odoo-bin --http-port>` (multi-threading server) or on
the :option:`--gevent-port <odoo-bin --gevent-port>` (multi-processing server).
.. _deploy/streaming:
Serving static files and attachments
====================================
For development convenience, Odoo directly serves all static files and attachments in its modules.
This may not be ideal when it comes to performances, and static files should generally be served by
a static HTTP server.
Serving static files
--------------------
Odoo static files are located in each module's :file:`static/` folder, so static files can be served
by intercepting all requests to :samp:`/{MODULE}/static/{FILE}`, and looking up the right module
(and file) in the various addons paths.
It is recommended to set the ``Content-Security-Policy: default-src 'none'`` header on all images
delivered by the web server. It is not strictly necessary as users cannot modify/inject content
inside of modules' :file:`static/` folder and existing images are final (they do not fetch new
resources by themselves). However, it is good practice.
Using the above NGINX (https) configuration, the following ``map`` and ``location`` blocks should be
added to serve static files via NGINX.
.. code-block:: nginx
map $sent_http_content_type $content_type_csp {
default "";
~image/ "default-src 'none'";
}
server {
# the rest of the configuration
location @odoo {
# copy-paste the content of the / location block
}
# Serve static files right away
location ~ ^/[^/]+/static/.+$ {
# root and try_files both depend on your addons paths
root ...;
try_files ... @odoo;
expires 24h;
add_header Content-Security-Policy $content_type_csp;
}
}
The actual ``root`` and ``try_files`` directives are dependant on your installation, specifically on
your :option:`--addons-path <odoo-bin --addons-path>`.
.. example::
.. tabs::
.. group-tab:: Debian package
Say Odoo has been installed via the **debian packages** for Community and Enterprise, and
that the :option:`--addons-path <odoo-bin --addons-path>` is
``'/usr/lib/python3/dist-packages/odoo/addons'``.
The ``root`` and ``try_files`` should be:
.. code-block:: nginx
root /usr/lib/python3/dist-packages/odoo/addons;
try_files $uri @odoo;
.. group-tab:: Git sources
Say Odoo has been installed via the **sources**, that both the Community and Enterprise git
repositories were cloned in :file:`/opt/odoo/community` and :file:`/opt/odoo/enterprise`
respectively, and that the :option:`--addons-path <odoo-bin --addons-path>` is
``'/opt/odoo/community/odoo/addons,/opt/odoo/community/addons,/opt/odoo/enterprise'``.
The ``root`` and ``try_files`` should be:
.. code-block:: nginx
root /opt/odoo;
try_files /community/odoo/addons$uri /community/addons$uri /enterprise$uri @odoo;
Serving attachments
-------------------
Attachments are files stored in the filestore which access is regulated by Odoo. They cannot be
directly accessed via a static web server as accessing them requires multiple lookups in the
database to determine where the files are stored and whether the current user can access them or
not.
Nevertheless, once the file has been located and the access rights verified by Odoo, it is a good
idea to serve the file using the static web server instead of Odoo. For Odoo to delegate serving
files to the static web server, the `X-Sendfile <https://tn123.org/mod_xsendfile/>`_ (apache) or
`X-Accel <https://www.nginx.com/resources/wiki/start/topics/examples/x-accel/>`_ (nginx) extensions
must be enabled and configured on the static web server. Once it is set up, start Odoo with the
:option:`--x-sendfile <odoo-bin --x-sendfile>` CLI flag (this unique flag is used for both
X-Sendfile and X-Accel).
.. note::
- The X-Sendfile extension for apache (and compatible web servers) does not require any
supplementary configuration.
- The X-Accel extension for NGINX **does** require the following additionnal configuration:
.. code-block:: nginx
location /web/filestore {
internal;
alias /path/to/odoo/data-dir/filestore;
}
In case you don't know what is the path to your filestore, start Odoo with the
:option:`--x-sendfile <odoo-bin --x-sendfile>` option and navigate to the ``/web/filestore`` URL
directly via Odoo (don't navigate to the URL via NGINX). This logs a warnings, the message
contains the configuration you need.
.. _security:
Security
========
For starters, keep in mind that securing an information system is a continuous process,
not a one-shot operation. At any moment, you will only be as secure as the weakest link
in your environment.
So please do not take this section as the ultimate list of measures that will prevent
all security problems. It's only intended as a summary of the first important things
you should be sure to include in your security action plan. The rest will come
from best security practices for your operating system and distribution,
best practices in terms of users, passwords, and access control management, etc.
When deploying an internet-facing server, please be sure to consider the following
security-related topics:
- Always set a strong super-admin admin password, and restrict access to the database
management pages as soon as the system is set up. See :ref:`db_manager_security`.
- Choose unique logins and strong passwords for all administrator accounts on all databases.
Do not use 'admin' as the login. Do not use those logins for day-to-day operations,
only for controlling/managing the installation.
*Never* use any default passwords like admin/admin, even for test/staging databases.
- Do **not** install demo data on internet-facing servers. Databases with demo data contain
default logins and passwords that can be used to get into your systems and cause significant
trouble, even on staging/dev systems.
- Use appropriate database filters ( :option:`--db-filter <odoo-bin --db-filter>`)
to restrict the visibility of your databases according to the hostname.
See :ref:`db_filter`.
You may also use :option:`-d <odoo-bin -d>` to provide your own (comma-separated)
list of available databases to filter from, instead of letting the system fetch
them all from the database backend.
- Once your ``db_name`` and ``db_filter`` are configured and only match a single database
per hostname, you should set ``list_db`` configuration option to ``False``, to prevent
listing databases entirely, and to block access to the database management screens
(this is also exposed as the :option:`--no-database-list <odoo-bin --no-database-list>`
command-line option)
- Make sure the PostgreSQL user (:option:`--db_user <odoo-bin --db_user>`) is *not* a super-user,
and that your databases are owned by a different user. For example they could be owned by
the ``postgres`` super-user if you are using a dedicated non-privileged ``db_user``.
See also :ref:`setup/deploy/odoo`.
- Keep installations updated by regularly installing the latest builds,
either via GitHub or by downloading the latest version from
https://www.odoo.com/page/download or http://nightly.odoo.com
- Configure your server in multi-process mode with proper limits matching your typical
usage (memory/CPU/timeouts). See also :ref:`builtin_server`.
- Run Odoo behind a web server providing HTTPS termination with a valid SSL certificate,
in order to prevent eavesdropping on cleartext communications. SSL certificates are
cheap, and many free options exist.
Configure the web proxy to limit the size of requests, set appropriate timeouts,
and then enable the :option:`proxy mode <odoo-bin --proxy-mode>` option.
See also :ref:`https_proxy`.
- If you need to allow remote SSH access to your servers, make sure to set a strong password
for **all** accounts, not just `root`. It is strongly recommended to entirely disable
password-based authentication, and only allow public key authentication. Also consider
restricting access via a VPN, allowing only trusted IPs in the firewall, and/or
running a brute-force detection system such as `fail2ban` or equivalent.
- Consider installing appropriate rate-limiting on your proxy or firewall, to prevent
brute-force attacks and denial of service attacks. See also :ref:`login_brute_force`
for specific measures.
Many network providers provide automatic mitigation for Distributed Denial of
Service attacks (DDOS), but this is often an optional service, so you should consult
with them.
- Whenever possible, host your public-facing demo/test/staging instances on different
machines than the production ones. And apply the same security precautions as for
production.
- If your public-facing Odoo server has access to sensitive internal network resources
or services (e.g. via a private VLAN), implement appropriate firewall rules to
protect those internal resources. This will ensure that the Odoo server cannot
be used accidentally (or as a result of malicious user actions) to access or disrupt
those internal resources.
Typically this can be done by applying an outbound default DENY rule on the firewall,
then only explicitly authorizing access to internal resources that the Odoo server
needs to access.
`Systemd IP traffic access control <http://0pointer.net/blog/ip-accounting-and-access-lists-with-systemd.html>`_
may also be useful to implement per-process network access control.
- If your public-facing Odoo server is behind a Web Application Firewall, a load-balancer,
a transparent DDoS protection service (like CloudFlare) or a similar network-level
device, you may wish to avoid direct access to the Odoo system. It is generally
difficult to keep the endpoint IP addresses of your Odoo servers secret. For example
they can appear in web server logs when querying public systems, or in the headers
of emails posted from Odoo.
In such a situation you may want to configure your firewall so that the endpoints
are not accessible publicly except from the specific IP addresses of your WAF,
load-balancer or proxy service. Service providers like CloudFlare usually maintain
a public list of their IP address ranges for this purpose.
- If you are hosting multiple customers, isolate customer data and files from each other
using containers or appropriate "jail" techniques.
- Setup daily backups of your databases and filestore data, and copy them to a remote
archiving server that is not accessible from the server itself.
- Deploying Odoo on Linux is strongly recommended over Windows. Should you choose nevertheless
to deploy on a Windows platform, a thorough security hardening review of the server should be
conducted and is outside of the scope of this guide.
.. _login_brute_force:
Blocking Brute Force Attacks
----------------------------
For internet-facing deployments, brute force attacks on user passwords are very common, and this
threat should not be neglected for Odoo servers. Odoo emits a log entry whenever a login attempt
is performed, and reports the result: success or failure, along with the target login and source IP.
The log entries will have the following form.
Failed login::
2018-07-05 14:56:31,506 24849 INFO db_name odoo.addons.base.res.res_users: Login failed for db:db_name login:admin from 127.0.0.1
Successful login::
2018-07-05 14:56:31,506 24849 INFO db_name odoo.addons.base.res.res_users: Login successful for db:db_name login:admin from 127.0.0.1
These logs can be easily analyzed by an intrusion prevention system such as `fail2ban`.
For example, the following fail2ban filter definition should match a
failed login::
[Definition]
failregex = ^ \d+ INFO \S+ \S+ Login failed for db:\S+ login:\S+ from <HOST>
ignoreregex =
This could be used with a jail definition to block the attacking IP on HTTP(S).
Here is what it could look like for blocking the IP for 15 minutes when
10 failed login attempts are detected from the same IP within 1 minute::
[odoo-login]
enabled = true
port = http,https
bantime = 900 ; 15 min ban
maxretry = 10 ; if 10 attempts
findtime = 60 ; within 1 min /!\ Should be adjusted with the TZ offset
logpath = /var/log/odoo.log ; set the actual odoo log path here
.. _db_manager_security:
Database Manager Security
-------------------------
:ref:`setup/deploy/odoo` mentioned ``admin_passwd`` in passing.
This setting is used on all database management screens (to create, delete,
dump or restore databases).
If the management screens must not be accessible at all, you should set ``list_db``
configuration option to ``False``, to block access to all the database selection and
management screens.
.. warning::
It is strongly recommended to disable the Database Manager for any internet-facing
system! It is meant as a development/demo tool, to make it easy to quickly create
and manage databases. It is not designed for use in production, and may even expose
dangerous features to attackers. It is also not designed to handle large databases,
and may trigger memory limits.
On production systems, database management operations should always be performed by
the system administrator, including provisioning of new databases and automated backups.
Be sure to setup an appropriate ``db_name`` parameter
(and optionally, ``db_filter`` too) so that the system can determine the target database
for each request, otherwise users will be blocked as they won't be allowed to choose the
database themselves.
If the management screens must only be accessible from a selected set of machines,
use the proxy server's features to block access to all routes starting with ``/web/database``
except (maybe) ``/web/database/selector`` which displays the database-selection screen.
If the database-management screen should be left accessible, the
``admin_passwd`` setting must be changed from its ``admin`` default: this
password is checked before allowing database-alteration operations.
It should be stored securely, and should be generated randomly e.g.
.. code-block:: console
$ python3 -c 'import base64, os; print(base64.b64encode(os.urandom(24)))'
which generates a 32-character pseudorandom printable string.
Reset the master password
-------------------------
There may be instances where the master password is misplaced, or compromised, and needs to be
reset. The following process is for system administrators of an Odoo on-premise database detailing
how to manually reset and re-encrypt the master password.
.. seealso::
For more information about changing an Odoo.com account password, see this documentation:
:ref:`odoocom/change_password`.
When creating a new on-premise database, a random master password is generated. Odoo recommends
using this password to secure the database. This password is implemented by default, so there is a
secure master password for any Odoo on-premise deployment.
.. warning::
When creating an Odoo on-premise database the installation is accessible to anyone on the
internet, until this password is set to secure the database.
The master password is specified in the Odoo configuration file (`odoo.conf` or `odoorc` (hidden
file)). The Odoo master password is needed to modify, create, or delete a database through the
graphical user interface (GUI).
Locate configuration file
~~~~~~~~~~~~~~~~~~~~~~~~~
First, open the Odoo configuration file (`odoo.conf` or `odoorc` (hidden file)).
.. tabs::
.. tab:: Windows
The configuration file is located at: `c:\\ProgramFiles\\Odoo{VERSION}\\server\\odoo.conf`
.. tab:: Linux
Depending on how Odoo is installed on the Linux machine, the configuration file is located in
one of two different places:
- Package installation: `/etc/odoo.conf`
- Source installation: `~/.odoorc`
Change old password
~~~~~~~~~~~~~~~~~~~
Once the appropriate file has been opened, proceed to modify the old password in the configuration
file to a temporary password.
.. tabs::
.. group-tab:: Graphical user interface
After locating the configuration file, open it using a (:abbr:`GUI (graphical user
interface)`). This can be achieved by simply double clicking on the file. Then, the device
should have a default :abbr:`GUI (graphical user interface)` to open the file with.
Next, modify the master password line `admin_passwd = $pbkdf2-sha…` to `admin_passwd =
newpassword1234`, for example. This password can be anything, as long as it is saved
temporarily. Make sure to modify all characters after the `=`.
.. example::
The line appears like this:
`admin_passwd =
$pbkdf2-sh39dji295.59mptrfW.9z6HkA$w9j9AMVmKAP17OosCqDxDv2hjsvzlLpF8Rra8I7p/b573hji540mk/.3ek0lg%kvkol6k983mkf/40fjki79m`
The modified line appears like this: `admin_passwd = newpassword1234`
.. group-tab:: Command-line interface
Modify the master password line using the following Unix command detailed below.
Connect to the Odoo server's terminal via Secure Shell (SSH) protocol, and edit the
configuration file. To modify the configuration file, enter the following command:
:command:`sudo nano /etc/odoo.conf`
After opening the configuration file, modify the master password line `admin_passwd =
$pbkdf2-sha…` to `admin_passwd = newpassword1234`. This password can be anything, as long as
it is saved temporarily. Make sure to modify all characters after the `=`.
.. example::
The line appears like this:
`admin_passwd =
$pbkdf2-sh39dji295.59mptrfW.9z6HkA$w9j9AMVmKAP17OosCqDxDv2hjsvzlLpF8Rra8I7p/b573hji540mk/.3ek0lg%kvkol6k983mkf/40fjki79m`
The modified line appears like this: `admin_passwd = newpassword1234`
.. important::
It is essential that the password is changed to something else, rather than triggering a new
password reset by adding a semicolon `;` at the beginning of the line. This ensures the database
is secure throughout the entire password reset process.
Restart Odoo server
~~~~~~~~~~~~~~~~~~~
After setting the temporary password, a restart of the Odoo server is **required**.
.. tabs::
.. group-tab:: Graphical user interface
To restart the Odoo server, first, type `services` into the Windows :guilabel:`Search` bar.
Then, select the :guilabel:`Services` application, and scroll down to the :guilabel:`Odoo`
service.
Next, right click on :guilabel:`Odoo`, and select :guilabel:`Start` or :guilabel:`Restart`.
This action manually restarts the Odoo server.
.. group-tab:: Command-line interface
Restart the Odoo server by typing the command: :command:`sudo service odoo15 restart`
.. note::
Change the number after `odoo` to fit the specific version the server is running on.
Use web interface to re-encrypt password
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
First, navigate to `/web/database/manager` or `http://server_ip:port/web/database/manager` in a
browser.
.. note::
Replace `server_ip` with the IP address of the database. Replace `port` with the numbered port
the database is accessible from.
Next, click :guilabel:`Set Master Password`, and type in the previously-selected temporary password
into the :guilabel:`Master Password` field. Following this step, type in a :guilabel:`New Master
Password`. The :guilabel:`New Master Password` is hashed (or encrypted), once the
:guilabel:`Continue` button is clicked.
At this point, the password has been successfully reset, and a hashed version of the new password
now appears in the configuration file.
.. seealso::
For more information on Odoo database security, see this documentation:
:ref:`db_manager_security`.
Supported Browsers
==================
Odoo supports all the major desktop and mobile browsers available on the market,
as long as they are supported by their publishers.
Here are the supported browsers:
- Google Chrome
- Mozilla Firefox
- Microsoft Edge
- Apple Safari
.. warning:: Please make sure your browser is up-to-date and still supported by
its publisher before filing a bug report.
.. note::
Since Odoo 13.0, ES6 is supported. Therefore, IE support is dropped.
.. [#different-machines]
to have multiple Odoo installations use the same PostgreSQL database,
or to provide more computing resources to both software.
.. [#remote-socket]
technically a tool like socat_ can be used to proxy UNIX sockets across
networks, but that is mostly for software which can only be used over
UNIX sockets
.. [#switching]
or be accessible only over an internal packet-switched network, but that
requires secured switches, protections against `ARP spoofing`_ and
precludes usage of WiFi. Even over secure packet-switched networks,
deployment over HTTPS is recommended, and possible costs are lowered as
"self-signed" certificates are easier to deploy on a controlled
environment than over the internet.
.. _regular expression: https://docs.python.org/3/library/re.html
.. _CSRF: https://en.wikipedia.org/wiki/Cross-site_request_forgery
.. _ARP spoofing: https://en.wikipedia.org/wiki/ARP_spoofing
.. _Nginx termination example:
https://nginx.com/resources/admin-guide/nginx-ssl-termination/
.. _Nginx proxying example:
https://nginx.com/resources/admin-guide/reverse-proxy/
.. _socat: http://www.dest-unreach.org/socat/
.. _PostgreSQL connection settings:
.. _listen to network interfaces:
https://www.postgresql.org/docs/12/static/runtime-config-connection.html
.. _use an SSH tunnel:
https://www.postgresql.org/docs/12/static/ssh-tunnels.html
.. _WSGI: https://wsgi.readthedocs.org/
.. _POSBox: https://www.odoo.com/page/point-of-sale-hardware#part_2
@@ -1,70 +0,0 @@
======
Geo IP
======
.. note::
This documentation only applies to On-premise databases.
Installation
============
.. warning::
Please note that the installation depends on your computer's operating system and distribution.
We will assume that a Linux operating system is being used.
#. Install `geoip2 <https://pypi.org/project/geoip2/>`__ Python library
.. code-block:: bash
pip install geoip2
#. Download the `GeoLite2 City database <https://dev.maxmind.com/geoip/geoip2/geolite2/>`_. You
should end up with a file called ``GeoLite2-City.mmdb``
#. Move the file to the folder ``/usr/share/GeoIP/``
.. code-block:: bash
mv ~/Downloads/GeoLite2-City.mmdb /usr/share/GeoIP/
#. Restart the server
.. note::
If you can't/don't want to locate the geoip database in ``/usr/share/GeoIP/``, you can use the
``--geoip-db`` option of the Odoo command line interface. This option takes the absolute path to
the GeoIP database file and uses it as the GeoIP database. For example:
.. code-block:: bash
./odoo-bin --geoip-db= ~/Downloads/GeoLite2-City.mmdb
.. seealso::
- :doc:`CLI documentation </developer/reference/cli>`.
.. warning::
``GeoIP`` Python library can also be used. However this version is discontinued since January
1. See `GeoLite Legacy databases are now discontinued
<https://support.maxmind.com/geolite-legacy-discontinuation-notice/>`_
How to test GeoIP geolocation in your Odoo website
==================================================
1. Go to your website. Open the web page that you want to test ``GeoIP``.
2. Choose :menuselection:`Customize --> HTML/CSS/JS Editor`.
3. Add the following piece of XML in the page :
.. code-block:: xml
<h1 class="text-center" t-esc="request.session.get('geoip')"/>
You should end up with a dictionary indicating the location of the IP address.
.. image:: geo_ip/on-premise_geo-ip-installation01.png
:align: center
.. note::
If the curly braces are empty ``{}``, it can be for any of the following reasons :
- The browsing IP address is the localhost (``127.0.0.1``) or a local area network one
(``192.168.*.*``)
- If a reversed proxy is used, make sure to configure it correctly. See :option:`proxy mode
<odoo-bin --proxy-mode>`
- ``geoip2`` is not installed or the GeoIP database file wasn't found
- The GeoIP database was unable to resolve the given IP address
Binary file not shown.

Before

Width:  |  Height:  |  Size: 73 KiB

@@ -1,167 +0,0 @@
===================
Packaged installers
===================
Odoo provides packaged installers for Debian-based Linux distributions (Debian, Ubuntu, etc.),
RPM-based Linux distributions (Fedora, CentOS, RHEL, etc.), and Windows for the Community and
Enterprise editions.
Official **Community** nightly packages with all relevant dependency requirements are available on
the `nightly server <https://nightly.odoo.com>`_.
.. note::
Nightly packages may be difficult to keep up to date.
Official **Community** and **Enterprise** packages can be downloaded from the `Odoo download page
<https://www.odoo.com/page/download>`_.
.. note::
It is required to be logged in as a paying on-premise customer or partner to download the
Enterprise packages.
.. _install/packages/linux:
Linux
=====
Prepare
-------
Odoo needs a `PostgreSQL <https://www.postgresql.org/>`_ server to run properly.
.. tabs::
.. group-tab:: Debian/Ubuntu
The default configuration for the Odoo 'deb' package is to use the PostgreSQL server on the
same host as the Odoo instance. Execute the following command to install the PostgreSQL
server:
.. code-block:: console
$ sudo apt install postgresql -y
.. group-tab:: Fedora
Make sure that the `sudo` command is available and well configured and, only then, execute the
following command to install the PostgreSQL server:
.. code-block:: console
$ sudo dnf install -y postgresql-server
$ sudo postgresql-setup --initdb --unit postgresql
$ sudo systemctl enable postgresql
$ sudo systemctl start postgresql
.. warning::
`wkhtmltopdf` is not installed through **pip** and must be installed manually in `version 0.12.6
<https://github.com/wkhtmltopdf/packaging/releases/tag/0.12.6.1-3>`_ for it to support headers
and footers. Check out the `wkhtmltopdf wiki <https://github.com/odoo/odoo/wiki/Wkhtmltopdf>`_
for more details on the various versions.
Repository
----------
Odoo S.A. provides a repository that can be used to install the **Community** edition by executing
the following commands:
.. tabs::
.. group-tab:: Debian/Ubuntu
.. code-block:: console
$ wget -q -O - https://nightly.odoo.com/odoo.key | sudo gpg --dearmor -o /usr/share/keyrings/odoo-archive-keyring.gpg
$ echo 'deb [signed-by=/usr/share/keyrings/odoo-archive-keyring.gpg] https://nightly.odoo.com/{CURRENT_MAJOR_BRANCH}/nightly/deb/ ./' | sudo tee /etc/apt/sources.list.d/odoo.list
$ sudo apt-get update && sudo apt-get install odoo
Use the usual `apt-get upgrade` command to keep the installation up-to-date.
.. group-tab:: Fedora
.. code-block:: console
$ sudo dnf config-manager --add-repo=https://nightly.odoo.com/{CURRENT_MAJOR_BRANCH}/nightly/rpm/odoo.repo
$ sudo dnf install -y odoo
$ sudo systemctl enable odoo
$ sudo systemctl start odoo
.. note::
Currently, there is no nightly repository for the Enterprise edition.
Distribution package
--------------------
Instead of using the repository, packages for both the **Community** and **Enterprise** editions can
be downloaded from the `Odoo download page <https://www.odoo.com/page/download>`_.
.. tabs::
.. group-tab:: Debian/Ubuntu
.. note::
Odoo {CURRENT_MAJOR_VERSION} 'deb' package currently supports `Debian Buster
<https://www.debian.org/releases/buster/>`_ and `Ubuntu 18.04
<https://releases.ubuntu.com/18.04>`_ or above.
Once downloaded, execute the following commands **as root** to install Odoo as a service,
create the necessary PostgreSQL user, and automatically start the server:
.. code-block:: console
# dpkg -i <path_to_installation_package> # this probably fails with missing dependencies
# apt-get install -f # should install the missing dependencies
# dpkg -i <path_to_installation_package>
.. warning::
- The `python3-xlwt` Debian package, needed to export into the XLS format, does not exist
in Debian Buster nor Ubuntu 18.04. If needed, install it manually with the following:
.. code-block:: console
$ sudo pip3 install xlwt
- The `num2words` Python package - needed to render textual amounts - does not exist in
Debian Buster nor Ubuntu 18.04, which could cause problems with the `l10n_mx_edi` module.
If needed, install it manually with the following:
.. code-block:: console
$ sudo pip3 install num2words
.. group-tab:: Fedora
.. note::
Odoo {CURRENT_MAJOR_VERSION} 'rpm' package supports Fedora 36.
Once downloaded, the package can be installed using the 'dnf' package manager:
.. code-block:: console
$ sudo dnf localinstall odoo_{CURRENT_MAJOR_BRANCH}.latest.noarch.rpm
$ sudo systemctl enable odoo
$ sudo systemctl start odoo
.. _install/packages/windows:
Windows
=======
.. warning::
Windows packaging is offered for the convenience of testing or running single-user local
instances but production deployment is discouraged due to a number of limitations and risks
associated with deploying Odoo on a Windows platform.
#. Download the installer from the `nightly server <https://nightly.odoo.com>`_ (Community only) or
the Windows installer from the `Odoo download page <https://www.odoo.com/page/download>`_ (any
edition.
#. Execute the downloaded file.
.. warning::
On Windows 8 and later, a warning titled *Windows protected your PC* may be displayed. Click
**More Info** and then **Run anyway** to proceed.
#. Accept the `UAC <https://en.wikipedia.org/wiki/User_Account_Control>`_ prompt.
#. Go through the installation steps.
Odoo launches automatically at the end of the installation.
@@ -1,488 +0,0 @@
==============
Source install
==============
The source 'installation' is not about installing Odoo but running it directly from the source
instead.
Using the Odoo source can be more convenient for module developers as it is more easily accessible
than using packaged installers.
It makes starting and stopping Odoo more flexible and explicit than the services set up by the
packaged installers. Also, it allows overriding settings using :ref:`command-line parameters
<reference/cmdline>` without needing to edit a configuration file.
Finally, it provides greater control over the system's setup and allows to more easily keep (and
run) multiple versions of Odoo side-by-side.
Fetch the sources
-----------------
There are two ways to obtain the source code of Odoo: as a ZIP **archive** or through **Git**.
Archive
~~~~~~~
Community edition:
- `Odoo download page <https://www.odoo.com/page/download>`_
- `GitHub Community repository <https://github.com/odoo/odoo>`_
- `Nightly server <https://nightly.odoo.com>`_
Enterprise edition:
- `Odoo download page <https://www.odoo.com/page/download>`_
- `GitHub Enterprise repository <https://github.com/odoo/enterprise>`_
.. _install/source/git:
Git
~~~
.. note::
It is required to have `Git <https://git-scm.com/>`_ installed, and it is recommended to have a
basic knowledge of Git commands to proceed.
To clone a Git repository, choose between cloning with HTTPS or SSH. In most cases, the best option
is HTTPS. However, choose SSH to contribute to Odoo source code or when following the :doc:`Getting
Started developer tutorial </developer/tutorials/getting_started>`.
.. tabs::
.. group-tab:: Linux
.. tabs::
.. tab:: Clone with HTTPS
.. code-block:: console
$ git clone https://github.com/odoo/odoo.git
$ git clone https://github.com/odoo/enterprise.git
.. tab:: Clone with SSH
.. code-block:: console
$ git clone git@github.com:odoo/odoo.git
$ git clone git@github.com:odoo/enterprise.git
.. group-tab:: Windows
.. tabs::
.. tab:: Clone with HTTPS
.. code-block:: doscon
C:\> git clone https://github.com/odoo/odoo.git
C:\> git clone https://github.com/odoo/enterprise.git
.. tab:: Clone with SSH
.. code-block:: doscon
C:\> git clone git@github.com:odoo/odoo.git
C:\> git clone git@github.com:odoo/enterprise.git
.. group-tab:: Mac OS
.. tabs::
.. tab:: Clone with HTTPS
.. code-block:: console
$ git clone https://github.com/odoo/odoo.git
$ git clone https://github.com/odoo/enterprise.git
.. tab:: Clone with SSH
.. code-block:: console
$ git clone git@github.com:odoo/odoo.git
$ git clone git@github.com:odoo/enterprise.git
.. note::
**The Enterprise git repository does not contain the full Odoo source code**. It is only a
collection of extra add-ons. The main server code is in the Community edition. Running the
Enterprise version means running the server from the Community version with the `addons-path`
option set to the folder with the Enterprise edition. It is required to clone both the Community
and Enterprise repositories to have a working Odoo Enterprise installation.
.. _install/source/prepare:
Prepare
-------
Python
~~~~~~
Odoo requires **Python 3.7** or later to run.
.. tabs::
.. group-tab:: Linux
Use a package manager to download and install Python 3 if needed.
.. group-tab:: Windows
`Download the latest version of Python 3 <https://www.python.org/downloads/windows/>`_ and
install it.
During installation, check **Add Python 3 to PATH**, then click **Customize Installation** and
make sure that **pip** is checked.
.. group-tab:: Mac OS
Use a package manager (`Homebrew <https://brew.sh/>`_, `MacPorts <https://www.macports.org>`_)
to download and install Python 3 if needed.
.. note::
If Python 3 is already installed, make sure that the version is 3.7 or above, as previous
versions are not compatible with Odoo.
.. tabs::
.. group-tab:: Linux
.. code-block:: console
$ python3 --version
.. group-tab:: Windows
.. code-block:: doscon
C:\> python --version
.. group-tab:: Mac OS
.. code-block:: console
$ python3 --version
Verify that `pip <https://pip.pypa.io>`_ is also installed for this version.
.. tabs::
.. group-tab:: Linux
.. code-block:: console
$ pip3 --version
.. group-tab:: Windows
.. code-block:: doscon
C:\> pip --version
.. group-tab:: Mac OS
.. code-block:: console
$ pip3 --version
PostgreSQL
~~~~~~~~~~
Odoo uses PostgreSQL as its database management system.
.. tabs::
.. group-tab:: Linux
Use a package manager to download and install PostgreSQL (supported versions: 12.0 or above).
It can be achieved by executing the following:
.. code-block:: console
$ sudo apt install postgresql postgresql-client
.. group-tab:: Windows
`Download PostgreSQL <https://www.postgresql.org/download/windows>`_ (supported versions: 12.0
or above) and install it.
.. group-tab:: Mac OS
Use `Postgres.app <https://postgresapp.com>`_ to download and install PostgreSQL (supported
version: 12.0 or above).
.. tip::
To make the command line tools bundled with Postgres.app available, make sure to set up the
`$PATH` variable by following the `Postgres.app CLI tools instructions
<https://postgresapp.com/documentation/cli-tools.html>`_.
By default, the only user is `postgres`. As Odoo forbids connecting as `postgres`, create a new
PostgreSQL user.
.. tabs::
.. group-tab:: Linux
.. code-block:: console
$ sudo -u postgres createuser -d -R -S $USER
$ createdb $USER
.. note::
Because the PostgreSQL user has the same name as the Unix login, it is possible to connect
to the database without a password.
.. group-tab:: Windows
#. Add PostgreSQL's `bin` directory (by default:
:file:`C:\\Program Files\\PostgreSQL\\<version>\\bin`) to the `PATH`.
#. Create a postgres user with a password using the pg admin gui:
#. Open **pgAdmin**.
#. Double-click the server to create a connection.
#. Select :menuselection:`Object --> Create --> Login/Group Role`.
#. Enter the username in the **Role Name** field (e.g., `odoo`).
#. Open the **Definition** tab, enter a password (e.g., `odoo`), and click **Save**.
#. Open the **Privileges** tab and switch **Can login?** to `Yes` and **Create database?**
to `Yes`.
.. group-tab:: Mac OS
.. code-block:: console
$ sudo -u postgres createuser -d -R -S $USER
$ createdb $USER
.. note::
Because the PostgreSQL user has the same name as the Unix login, it is possible to connect
to the database without a password.
.. _install/dependencies:
Dependencies
~~~~~~~~~~~~
.. tabs::
.. group-tab:: Linux
Using **distribution packages** is the preferred way of installing dependencies.
Alternatively, install the Python dependencies with **pip**.
.. tabs::
.. tab:: Debian/Ubuntu
On Debian/Ubuntu, the following commands should install the required packages:
.. code-block:: console
$ cd odoo #CommunityPath
$ sudo ./setup/debinstall.sh
The `setup/debinstall.sh` script will parse the `debian/control
<{GITHUB_PATH}/debian/control>`_ file and install the found packages.
.. tab:: Install with pip
.. warning::
Using pip may lead to security issues and broken dependencies; only do this if you
know what you are doing.
As some of the Python packages need a compilation step, they require system libraries to
be installed.
On Debian/Ubuntu, the following command should install these required libraries:
.. code-block:: console
$ sudo apt install python3-pip libldap2-dev libpq-dev libsasl2-dev
Odoo dependencies are listed in the :file:`requirements.txt` file located at the root of
the Odoo Community directory.
.. note::
The Python packages in :file:`requirements.txt` are based on their stable/LTS
Debian/Ubuntu corresponding version at the moment of the Odoo release. For example,
for Odoo 15.0, the `python3-babel` package version is 2.8.0 in Debian Bullseye and
2.6.0 in Ubuntu Focal. The lowest version is then chosen in the
:file:`requirements.txt`.
.. tip::
It can be preferable not to mix Python module packages between different instances of
Odoo or with the system. However, it is possible to use `virtualenv
<https://pypi.org/project/virtualenv/>`_ to create isolated Python environments.
Navigate to the path of the Odoo Community installation (:file:`CommunityPath`) and run
**pip** on the requirements file to install the requirements for the current user.
.. code-block:: console
$ cd /CommunityPath
$ pip install -r requirements.txt
.. group-tab:: Windows
Before installing the dependencies, download and install the `Build Tools for Visual
Studio <https://visualstudio.microsoft.com/downloads/>`_. Select **C++ build tools** in the
**Workloads** tab and install them when prompted.
Odoo dependencies are listed in the `requirements.txt` file located at the root of the Odoo
Community directory.
.. tip::
It can be preferable not to mix Python module packages between different instances of
Odoo or with the system. However, it is possible to use `virtualenv
<https://pypi.org/project/virtualenv/>`_ to create isolated Python environments.
Navigate to the path of the Odoo Community installation (`CommunityPath`) and run **pip** on
the requirements file in a terminal **with Administrator privileges**:
.. code-block:: doscon
C:\> cd \CommunityPath
C:\> pip install setuptools wheel
C:\> pip install -r requirements.txt
.. group-tab:: Mac OS
Odoo dependencies are listed in the `requirements.txt` file located at the root of the Odoo
Community directory.
.. tip::
It can be preferable not to mix Python module packages between different instances of
Odoo or with the system. However, it is possible to use `virtualenv
<https://pypi.org/project/virtualenv/>`_ to create isolated Python environments.
Navigate to the path of the Odoo Community installation (`CommunityPath`) and run **pip** on
the requirements file:
.. code-block:: console
$ cd /CommunityPath
$ pip3 install setuptools wheel
$ pip3 install -r requirements.txt
.. warning::
Non-Python dependencies must be installed with a package manager (`Homebrew
<https://brew.sh/>`_, `MacPorts <https://www.macports.org>`_).
#. Download and install the **Command Line Tools**:
.. code-block:: console
$ xcode-select --install
#. Use the package manager to install non-Python dependencies.
.. note::
For languages using a **right-to-left interface** (such as Arabic or Hebrew), the `rtlcss`
package is required.
.. tabs::
.. group-tab:: Linux
#. Download and install **nodejs** and **npm** with a package manager.
#. Install `rtlcss`:
.. code-block:: console
$ sudo npm install -g rtlcss
.. group-tab:: Windows
#. Download and install `nodejs <https://nodejs.org/en/download>`_.
#. Install `rtlcss`:
.. code-block:: doscon
C:\> npm install -g rtlcss
#. Edit the system environment's variable `PATH` to add the folder where `rtlcss.cmd` is
located (typically: :file:`C:\\Users\\<user>\\AppData\\Roaming\\npm\\`).
.. group-tab:: Mac OS
#. Download and install **nodejs** with a package manager (`Homebrew <https://brew.sh/>`_,
`MacPorts <https://www.macports.org>`_).
#. Install `rtlcss`:
.. code-block:: console
$ sudo npm install -g rtlcss
.. warning::
`wkhtmltopdf` is not installed through **pip** and must be installed manually in `version 0.12.6
<https://github.com/wkhtmltopdf/packaging/releases/tag/0.12.6.1-3>`_ for it to support headers
and footers. Check out the `wkhtmltopdf wiki <https://github.com/odoo/odoo/wiki/Wkhtmltopdf>`_
for more details on the various versions.
.. _install/source/running_odoo:
Running Odoo
------------
Once all dependencies are set up, Odoo can be launched by running `odoo-bin`, the command-line
interface of the server. It is located at the root of the Odoo Community directory.
To configure the server, either specify :ref:`command-line arguments <reference/cmdline/server>` or
a :ref:`configuration file <reference/cmdline/config>`.
.. tip::
For the Enterprise edition, add the path to the `enterprise` add-ons to the `addons-path`
argument. Note that it must come before the other paths in `addons-path` for add-ons to be loaded
correctly.
Common necessary configurations are:
- PostgreSQL user and password.
- Custom addon paths beyond the defaults to load custom modules.
A typical way to run the server would be:
.. tabs::
.. group-tab:: Linux
.. code-block:: console
$ cd /CommunityPath
$ python3 odoo-bin --addons-path=addons -d mydb
Where `CommunityPath` is the path of the Odoo Community installation, and `mydb` is the name
of the PostgreSQL database.
.. group-tab:: Windows
.. code-block:: doscon
C:\> cd CommunityPath/
C:\> python odoo-bin -r dbuser -w dbpassword --addons-path=addons -d mydb
Where `CommunityPath` is the path of the Odoo Community installation, `dbuser` is the
PostgreSQL login, `dbpassword` is the PostgreSQL password, and `mydb` is the name of the
PostgreSQL database.
.. group-tab:: Mac OS
.. code-block:: console
$ cd /CommunityPath
$ python3 odoo-bin --addons-path=addons -d mydb
Where `CommunityPath` is the path of the Odoo Community installation, and `mydb` is the name
of the PostgreSQL database.
After the server has started (the INFO log `odoo.modules.loading: Modules loaded.` is printed), open
http://localhost:8069 in a web browser and log into the Odoo database with the base administrator
account: use `admin` as the email and, again, `admin` as the password.
.. tip::
- From there, create and manage new :doc:`users <../../applications/general/users>`.
- The user account used to log into Odoo's web interface differs from the :option:`--db_user
<odoo-bin -r>` CLI argument.
.. seealso::
:doc:`The list of CLI arguments for odoo-bin </developer/reference/cli>`
@@ -1,101 +0,0 @@
:hide-page-toc:
.. _supported_versions:
==================
Supported versions
==================
Odoo provides support and bug fixing **for the 3 last major versions** of Odoo.
.. note::
Odoo releases intermediary versions called **Online versions** on the :doc:`Odoo Online
<odoo_online>` hosting every two months. Odoo Online users can then benefit from the latest
features of Odoo.
- Admins of Odoo Online databases are invited to :doc:`upgrade <upgrade>` them regularly.
- Online versions are *not* released for Odoo.sh and On-Premise installations.
- Online versions are listed below as *SaaS*.
This matrix shows the support status of every version.
**Major releases are in bold type.**
.. list-table::
:header-rows: 1
:widths: auto
* -
- Odoo Online
- Odoo.sh
- On-Premise
- Release date
- End of support
* - **Odoo 18.0**
- |green|
- |green|
- |green|
- October 2024
- October 2027 (planned)
* - Odoo SaaS 17.4
- |green|
- N/A
- N/A
- July 2024
-
* - Odoo SaaS 17.2
- |green|
- N/A
- N/A
- April 2024
-
* - **Odoo 17.0**
- |green|
- |green|
- |green|
- November 2023
- October 2026 (planned)
* - **Odoo 16.0**
- |green|
- |green|
- |green|
- October 2022
- October 2025 (planned)
* - **Odoo 15.0**
- |red|
- |red|
- |red|
- October 2021
- October 2024
* - **Odoo 14.0**
- |red|
- |red|
- |red|
- October 2020
- November 2023
* - Older versions
- |red|
- |red|
- |red|
- Before 2020
- Before 2023
.. admonition:: Legend
|green| Supported version
|red| End-of-support
N/A Never released for this platform
.. important::
Even though we don't support older versions, you can always `upgrade from any version
<https://upgrade.odoo.com/>`_.
.. |green| raw:: html
<span class="text-success" style="font-size: 32px; line-height: 0.5">●</span>
.. |red| raw:: html
<span class="text-danger" style="font-size: 32px; line-height: 0.5">●</span>
+178 -355
View File
@@ -1,399 +1,223 @@
:show-content:
.. |assistance-contact| replace::
If you need Odoo assistance on this matter, please get in touch with your Odoo Account Manager or
our `Sales department`_.
.. _Sales department: mailto:sales@odoo.com
=======
Upgrade
=======
An upgrade involves moving a database from an older version to a newer supported version (e.g., from
Odoo 15.0 to Odoo 17.0). Regular upgrades are crucial as each version offers new features, bug
fixes, and security patches. Using a :doc:`supported version <supported_versions>` is strongly
recommended. Each major version is supported for three years.
.. toctree::
:titlesonly:
Depending on the hosting type and Odoo version used, a database upgrade can be **mandatory**.
upgrade/odoo_online
upgrade/odoo_sh
upgrade/on_premise
upgrade/faq
.. tabs::
.. group-tab:: Odoo Online
- If a database is on a **major version** (e.g., 15.0, 16.0, 17.0), an upgrade is mandatory
every two years.
- If a database is on a **minor version** (e.g., 17.1, 17.2, 17.4), an upgrade is mandatory
a few weeks after the next version is released. Minor versions are usually released every
three months.
.. group-tab:: Odoo.sh
After the initial three years of support, you will have another two years to complete the
upgrade. You will be notified when an upgrade is required.
.. image:: upgrade/odoo-sh-message.png
:alt: The "unsupported version" popup on Odoo.sh.
.. group-tab:: On-premise
You can stay on the same version indefinitely, even if it is not recommended. Note that the
smaller the version gap, the easier the upgrade should be.
.. spoiler:: Automatic upgrades: Odoo Online's Rolling Release process
You will receive a notification in your database a few weeks before a mandatory upgrade will be
automatically carried out. You are in control of the process as long as the deadline is not
reached.
.. image:: upgrade/rr-upgrade-message.png
:alt: The upgrade message prompt on the top right of the database
Concretely, Odoos Upgrade Team performs a silent test upgrade of every database that should be
upgraded. If the test is successful and lasts less than 20 minutes, you can directly trigger the
upgrade from the database. If the test fails, you can test an upgrade using the `database manager
<https://www.odoo.com/my/databases>`_.
When you are invited to upgrade, it is strongly recommended to :ref:`request an upgraded test
database <upgrade-request-test>` first and spend time :ref:`testing <upgrade-testing>` it.
An automatic upgrade to the next version will be triggered if no action is taken before the
specified due date.
An upgrade is switching to a newer version of Odoo (e.g., Odoo 14.0 to Odoo 15.0).
An upgrade does not cover:
- Downgrading to a previous version of Odoo
- :doc:`Switching editions <on_premise/community_to_enterprise>` (e.g., from Community to
Enterprise)
- :ref:`Changing hosting type <hosting/change-solution>` (e.g., from on-premise to Odoo Online)
- Migrating from another ERP to Odoo
* Changing :ref:`editions <upgrade-faq/editions-change>` (i.e., Community to Enterprise edition)
* Switching :ref:`hosting type <upgrade-faq/hosting-types-switch>` (i.e., On-Premise to Odoo Online
or Odoo.sh)
* Migration from another ERP to Odoo
.. warning::
If your database contains custom modules, it cannot be upgraded until a version of your custom
modules is available for the target version of Odoo. For customers maintaining their own custom
modules, we recommend to parallelize the process by :ref:`requesting an upgraded database
<upgrade-request-test>` while also :doc:`upgrading the source code of your custom
modules </developer/howtos/upgrade_custom_db>`.
.. note:: |assistance-contact|
.. _upgrade-nutshell:
.. seealso::
- :ref:`upgrade/sla`
Upgrading in a nutshell
.. _upgrade/process-workflow:
Process workflow
================
The upgrade process in a nutshell:
#. You create a test upgrade request.
#. Odoo processes the request automatically by running the database through an upgrade script, which
takes between 20 and 120 minutes.
#. Odoo delivers a test database.
#. You test your database for possible discrepancies (see :ref:`upgrade/test-guidance`).
#. If there are any discrepancies, you report them to the Upgrade support team via the help portal
(see :ref:`upgrade/test-assistance`).
#. We fix the issues and send you a new test database.
#. Once you have completed the testing and are happy with the result, you decide on a date and time
when you stop users from accessing Odoo, freeze all data entries, and create an upgrade request
for the production upgrade.
#. Odoo delivers the production database through the automated process.
#. You restore it in your Production environment a few short hours later and continue working on the
newly upgraded database (this is done automatically on Odoo Online).
.. seealso::
- :doc:`Upgrade process for Odoo Online <upgrade/odoo_online>`
- :doc:`Upgrade process for Odoo.sh <upgrade/odoo_sh>`
- :doc:`Upgrade process for On-Premise <upgrade/on_premise>`
.. _upgrade/testing-phase:
Testing
=======
This phase allows you to review an upgraded version of your database without affecting your
production database in any way. We suggest that you run the test upgrade process at least once, but
you can do it as many times as you need (one at a time).
Once you receive your upgraded test database, check that all data, processes, and functionality are
still correct and working as expected.
If you do find discrepancies, :ref:`report your issues <upgrade/test-assistance>` and :ref:`request
a new test database <upgrade/test-db-request>` when the reported issues are fixed in the upgrade
script.
If you do not find any discrepancies, you can move on to the upgrade of your production database.
.. important::
A test database is only intended for testing and remains completely unrelated to your present or
future production database. Any data you add, or changes you make, will not be reflected in your
upgraded production database.
.. note::
Test databases are neutered and features are disabled to prevent them from having an impact on
the production database:
#. The serial number of the database is modified (to prevent it from sending information as if it
was the production database).
#. The :ref:`base URL of the database <domain-name/web-base-url>` is reset to
``http://localhost:8069`` and the email domain to ``localhost``.
#. Scheduled actions are disabled (the calendar synchronization, the bank statement
synchronization, the planned automated actions, the fetching of incoming mail servers, etc.).
#. Outgoing mail servers are disabled by archiving the existing ones and adding a
fake/non-working one.
#. Payment providers and delivery carriers are reset to test environment.
#. Accounting localization Electronic Data Interchange (EDI) services are disabled.
#. A system parameter is set to tell the database has been neutered.
.. _upgrade/test-db-request:
Request a test database
=======================
#. Request an upgraded test database (see :ref:`obtaining an upgraded test database
<upgrade-request-test>`).
#. If applicable, upgrade the source code of your custom module to be compatible with the new
version of Odoo (see :doc:`/developer/howtos/upgrade_custom_db`).
#. Thoroughly test the upgraded database (see :ref:`testing the new version of the database
<upgrade-testing>`).
#. Report any issue encountered during the testing to Odoo by going to the `Support page and
selecting "An issue related to my future upgrade (I am testing an upgrade)"
<https://www.odoo.com/help?stage=migration>`_.
#. Once all issues are resolved and you are confident that the upgraded database can be used as
your main database without any issues, plan the upgrade of your production database.
#. Request the upgrade for the production database, rendering it unavailable for the time it takes
to complete the process (see :ref:`upgrading the production database <upgrade-production>`).
#. Report any issue encountered during the upgrade to Odoo by going to the `Support page and
selecting "An issue related to my upgrade (production)"
<https://www.odoo.com/help?stage=post_upgrade>`_.
Follow the instructions available per hosting type on the `website form
<https://upgrade.odoo.com>`_ and select *Testing* purpose.
.. _upgrade-request-test:
.. image:: upgrade/test-purpose.png
:align: center
:alt: Selection of the "Testing" purpose in the upgrade form on Odoo
Obtaining an upgraded test database
===================================
.. _upgrade/test-guidance:
The `Upgrade page <https://upgrade.odoo.com>`_ is the main platform for requesting an upgraded
database. However, depending on the hosting type, you can upgrade from the command line
(on-premise), the Odoo Online `database manager <https://www.odoo.com/my/databases>`_, or your
`Odoo.sh project <https://www.odoo.sh/project>`_.
Test guidance
=============
Every business and organization has its own operational needs and has to test its specific Odoo
database individually. We recommend you look at `the test scenario
<https://docs.google.com/document/d/1ypNs7JKPOsjNbKpdiKFH7Al6g6whZ9jr7f7duAQ5E1w/>`_ for further
information.
.. todo:: change link "test scenario" once the related doc is published
.. _upgrade/test-assistance:
Assistance
----------
If you encounter an issue in the **test database**, please get in touch with Odoo Upgrade Support
via the `Odoo Support page <https://www.odoo.com/help>`_.
Under the *Ticket Description* section, select *An issue related to my upgrade* ticket type.
.. image:: upgrade/test-assistance.png
:align: center
:alt: Selection of "An issue related to my upgrade" as Ticket Type in the support form on Odoo
.. warning::
If you choose another *Ticket Description* type, the request will be redirected to another
team. This will slow down the processing and response time.
Please provide as much detail as you can (i.e., videos and screenshots to illustrate your issue).
This will avoid clarifying questions and speed up the resolution process significantly.
.. note::
The Upgrade platform follows the same `Privacy Policy <https://www.odoo.com/privacy>`_ as the
other Odoo.com services. Visit the `General Data Protection Regulation page
<https://www.odoo.com/gdpr>`_ to learn more about how Odoo handles your data and privacy.
.. tabs::
.. group-tab:: Odoo Online
Odoo Online databases can be manually upgraded via the `database manager
<https://www.odoo.com/my/databases>`_.
The database manager displays all databases associated with the user's account. Databases
not on the most recent version of Odoo display an arrow in a circle icon next to their name,
indicating that they can be upgraded.
.. image:: upgrade/databases-page.png
:alt: The database manager with an upgrade button next to the name of a database.
Click the **arrow in a circle** icon to start the upgrade process. In the popup, fill in:
- The **version** of Odoo you want to upgrade to, usually the latest version
- The **email** address that should receive the link to the upgraded database
- The :guilabel:`Purpose` of the upgrade, which is automatically set to :guilabel:`Test` for
your first upgrade request
.. image:: upgrade/upgrade-popup.png
:alt: The "Upgrade your database" popup.
The :guilabel:`Upgrade in progress` tag is displayed next to the database name until
completion. Once the process succeeds, an email containing a link to the upgraded test
database is sent to the address provided. The database can also be accessed from the database
manager by clicking the dropdown arrow before the database name.
.. image:: upgrade/access-upgraded-db.png
:alt: Clicking the menu arrow displays the upgraded test database.
.. group-tab:: Odoo.sh
Odoo.sh is integrated with the upgrade platform to simplify the upgrade process.
.. image:: upgrade/odoo-sh-staging.png
:alt: Odoo.sh project and tabs
The **latest production daily automatic backup** is then sent to the Upgrade platform.
Once the upgrade platform is done upgrading the backup and uploading it on the branch, it is
put in a **special mode**: each time a **commit is pushed** on the branch, a **restore
operation** of the upgraded backup and an **update of all the custom modules** occur. This
allows you to test your custom modules on a pristine copy of the upgraded database. The log
file of the upgrade process can be found in your newly upgraded staging build by going to
:file:`~/logs/upgrade.log`.
.. important::
In databases where custom modules are installed, their source code must be up-to-date with
the target version of Odoo before the upgrade can be performed. If there are none, the
"update on commit" mode is skipped, the upgraded database is built as soon as it is
transferred from the upgrade platform, and the upgrade mode is exited.
Check out the :doc:`/developer/howtos/upgrade_custom_db` page for more information.
.. group-tab:: On-premise
The standard upgrade process can be initiated by entering the following command line on the
machine where the database is hosted:
.. code-block:: console
$ python <(curl -s https://upgrade.odoo.com/upgrade) test -d <your db name> -t <target version>
.. note::
This command has some requirements on the environment it runs in:
- Some external commands that must be provided by the operating system, normally found in
any Linux distribution (including WSL). An error will be displayed if one or several of
them are missing.
- The system user that executes the command needs to be configured with access to the
database. Please refer to the PostgreSQL documentation of the `client environment
<https://www.postgresql.org/docs/current/libpq-envars.html>`_ or the `client password
file <https://www.postgresql.org/docs/current/libpq-pgpass.html>`_ for this requirement.
- The script needs to be able to reach one or multiple servers of the upgrade platform
both on TCP port 443 and to any random TCP port in the range between 32768 and 60999.
This can be in conflict with your restrictive firewall and may need an exception added
to the firewall configuration.
The following command can be used to display the general help and the main commands:
.. code-block:: console
$ python <(curl -s https://upgrade.odoo.com/upgrade) --help
An upgraded test database can also be requested via the `Upgrade page
<https://upgrade.odoo.com>`_.
.. important::
In databases where custom modules are installed, their source code must be up-to-date with
the target version of Odoo before the upgrade can be performed. Check out the
:doc:`/developer/howtos/upgrade_custom_db` page for more information.
.. note::
- For security reasons, only the person who submitted the upgrade request can download it.
- For storage reasons, the database's copy is submitted without a filestore to the upgrade
server. Therefore, the upgraded database does not contain the production filestore.
- Before restoring the upgraded database, its filestore must be merged with the production
filestore to be able to perform tests in the same conditions as it would be in the new
version.
- The upgraded database contains:
- A `dump.sql` file containing the upgraded database
- A `filestore` folder containing files extracted from in-database records into
attachments (if there are any) and new standard Odoo files from the targeted Odoo
version (e.g., new images, icons, payment provider's logos, etc.).
This is the folder that should be merged with the production filestore
in order to get the full upgraded filestore.
.. note::
You can request multiple test databases if you wish to test an upgrade more than once.
.. note::
When an upgrade request is completed, an upgrade report is attached to the successful upgrade
email, and it becomes available in the Discuss app for users who are part of the "Administration
/ Settings" group. This report provides important information about the changes introduced by
the new version.
.. _upgrade-testing:
Testing the new version of the database
=======================================
It is essential to test the upgraded test database to ensure that you are not stuck in your
day-to-day activities by a change in views, behavior, or an error message once the upgrade goes
live.
.. note::
Test databases are neutralized, and some features are disabled to prevent them from impacting the
production database:
#. Scheduled actions are disabled.
#. Outgoing mail servers are disabled by archiving the existing ones and adding a fake one.
#. Payment providers and delivery carriers are reset to the test environment.
#. Bank synchronization is disabled. Should you want to test the synchronization, contact your
bank synchronization provider to get sandbox credentials.
Testing as many of your business flows as possible is strongly recommended to ensure they are
working correctly and to get more familiar with the new version.
.. admonition:: Basic test checklist
- Are there views that are deactivated in your test database but active in your production
database?
- Are your usual views still displayed correctly?
- Are your reports (invoice, sales order, etc.) correctly generated?
- Are your website pages working correctly?
- Are you able to create and modify records? (sales orders, invoices, purchases, users, contacts,
companies, etc.)
- Are there any issues with your mail templates?
- Are there any issues with saved translations?
- Are your search filters still present?
- Can you export your data?
.. spoiler:: Example of end-to-end testing
- Checking a random product in your product catalog and comparing its test and production data to
verify everything is the same (product category, selling price, cost price, vendor, accounts,
routes, etc.).
- Buying this product (Purchase app).
- Confirming the reception of this product (Inventory app).
- Checking if the route to receive this product is the same in your production database
(Inventory app).
- Selling this product (Sales app) to a random customer.
- Opening your customer database (Contacts app), selecting a customer (or company), and checking
its data.
- Shipping this product (Inventory app).
- Checking if the route to ship this product is the same as in your production database
(Inventory app).
- Validating a customer invoice (Invoicing or Accounting app).
- Crediting the invoice (issuing a credit note) and checking if it behaves as in your production
* The purpose of the test phase is not to correct existing data or configurations in your
database.
- Checking your reports' results (Accounting app).
- Randomly checking your taxes, currencies, bank accounts, and fiscal year (Accounting app).
- Making an online order (Website apps) from the product selection in your shop until the
checkout process and checking if everything behaves as in your production database.
* |assistance-contact|
This list is **not** exhaustive. Extend the example to your other apps based on your use of Odoo.
.. _upgrade/steps-production:
If you face an issue while testing your upgraded test database, you can request the assistance of
Odoo by going to the `Support page and selecting "An issue related to my future upgrade (I am
testing an upgrade)" <https://www.odoo.com/help?stage=migration>`_. In any case, it is essential to
report any problem encountered during the testing to fix it before upgrading your production
database.
The production launch
=====================
You might encounter significant differences with standard views, features, fields, and models during
testing. Those changes cannot be reverted on a case-by-case basis. However, if a change introduced
by a new version breaks a customization, it is the responsibility of the maintainer of your custom
module to make it compatible with the new version of Odoo.
The production upgrade request is when you decide to upgrade your current database with all your
production data (invoices, VAT returns, inventories, current orders) to a new version of your
choice.
.. tip::
Do not forget to test:
- Integrations with external software (EDI, APIs, etc.)
- Workflows between different apps (online sales with eCommerce, converting a lead all the way to
a sales order, delivery of products, etc.)
- Data exports
- Automated actions
- Server actions in the action menu on form views, as well as by selecting multiple records on
list views
.. _upgrade-production:
Upgrading the production database
=================================
Once the :ref:`tests <upgrade-testing>` are completed and you are confident that the upgraded
database can be used as your main database without any issues, it is time to plan the go-live day.
Your production database will be unavailable during its upgrade. Therefore, we recommend planning
the upgrade at a time when the use of the database is minimal.
As the standard upgrade scripts and your database are constantly evolving, it is also recommended
to frequently request another upgraded test database to ensure that the upgrade process is still
successful, especially if it takes a long time to finish. **Fully rehearsing the upgrade process the
day before upgrading the production database is also recommended.**
After your :ref:`tests <upgrade/testing-phase>` are completed to your satisfaction, submit the
request to upgrade your production database via our `website form <https://upgrade.odoo.com>`_.
Select *Production* purpose.
.. important::
Going into production without first testing may lead to:
- Users failing to adjust to the changes and new features
- Business interruptions (e.g., no longer having the possibility to validate an action)
- Poor customer experience (e.g., an eCommerce website that does not work correctly)
- business interruptions (e.g., no longer having the possibility to validate an action)
- poor customer experiences (e.g., an eCommerce website that does not work correctly)
The process of upgrading a production database is similar to upgrading a test database, but with a
few exceptions.
.. _upgrade/production-assistance:
.. tabs::
Assistance
----------
.. group-tab:: Odoo Online
If you encounter issues or problems in the **production database**, please get in touch with **Odoo
Support**:
The process is similar to :ref:`obtaining an upgraded test database
<upgrade-request-test>`, except for the purpose option, which must be set to
:guilabel:`Production` instead of :guilabel:`Test`.
#. Connect to our `Odoo Support page <https://www.odoo.com/help>`_.
#. Under the *Ticket Description* section, select the appropriate type related to your issue but
**do not select** the option *An issue related to my upgrade*.
.. warning::
Once the upgrade is requested, the database will be unavailable until the upgrade is
finished. Once the process is completed, it is impossible to revert to the previous
version.
.. note::
After upgrading to production, the support will be provided by the Support team instead of the
Upgrade team.
.. group-tab:: Odoo.sh
#. Please provide as much detail as you can (i.e., videos and screenshots to illustrate your issue).
This will avoid clarifying questions and speed up the resolution process significantly.
The process is similar to :ref:`obtaining an upgraded test database <upgrade-request-test>` on
the :guilabel:`Production` branch.
.. warning::
If you choose *An issue related to my upgrade* as ticket type, the request will be redirected
to another team than the support one and will slow down the processing and response time.
.. image:: upgrade/odoo-sh-prod.png
:alt: View from the upgrade tab
.. _upgrade/assistance:
The process is **triggered as soon as a new commit is made** on the branch. This
allows the upgrade process to be synchronized with the deployment of the custom modules'
upgraded source code.
If there are no custom modules, the upgrade process is triggered immediately.
Help
====
.. important::
The database is unavailable throughout the process. If anything goes wrong, the platform
automatically reverts the upgrade, as it would be for a regular update. In case of success,
a backup of the database before the upgrade is created.
.. _upgrade/contact:
The update of your custom modules must be successful to complete the entire upgrade process.
Make sure the status of your staging upgrade is :guilabel:`successful` before trying it in
production. More information on how to upgrade your custom modules can be found on
:doc:`/developer/howtos/upgrade_custom_db`.
Contact our upgrade service support
-----------------------------------
.. group-tab:: On-premise
Should you have any more questions about the upgrade, do not hesitate to send a message to `Odoo
Upgrade Team <mailto:upgrade@odoo.com>`_. We will be happy to answer it as soon as possible.
The command to upgrade a database to production is similar to the one of upgrading a test
database except for the argument `test`, which must be replaced by `production`:
.. _upgrade/supported-versions:
.. code-block:: console
Supported versions
------------------
$ python <(curl -s https://upgrade.odoo.com/upgrade) production -d <your db name> -t <target version>
Please note that Odoo provides support and bug fixing only for the three last major versions of
Odoo.
An upgraded production database can also be requested via the `Upgrade page
<https://upgrade.odoo.com>`_.
This is a factor to take into consideration before upgrading. If you are on an older version, we
suggest you to prefer the most recent version to benefit from longer support (before having to
upgrade again).
Once the database is uploaded, any modification to your production database will **not** be
present on your upgraded database. This is why we recommend not using it during the upgrade
process.
.. seealso::
:doc:`maintain/supported_versions`
.. important::
When requesting an upgraded database for production purposes, the copy is submitted without
a filestore. Therefore, the upgraded database filestore must be merged with the production
filestore before deploying the new version.
In case of an issue with your production database, you can request the assistance of Odoo by going
to the `Support page and selecting "An issue related to my future upgrade (I am testing an upgrade)"
<https://www.odoo.com/help?stage=migration>`_.
.. _upgrade-sla:
.. _upgrade/sla:
Service-level agreement (SLA)
=============================
@@ -405,8 +229,6 @@ Information about the upgrade services included in the Enterprise Licence is ava
:ref:`Odoo Enterprise Subscription Agreement <upgrade>`. However, this section clarifies what
upgrade services you can expect.
.. _upgrade-sla-covered:
Upgrade services covered by the SLA
-----------------------------------
@@ -422,8 +244,6 @@ benefit from upgrade services at all times for:
Upgrade services are limited to the technical conversion and adaptation of a database (standard
modules and data) to make it compatible with the version targeted by the upgrade.
.. _upgrade-sla-not-covered:
Upgrade services not covered by the SLA
---------------------------------------
@@ -436,6 +256,9 @@ The following upgrade-related services are **not** included:
<studio/automated-actions/action>`; and
- **training** on using the upgraded version's features and workflows.
.. note:: |assistance-contact|
.. seealso::
- :doc:`Upgrade FAQ <upgrade/faq>`
- :doc:`Odoo.sh documentation <odoo_sh>`
- :doc:`Supported Odoo versions <supported_versions>`
- :doc:`Supported Odoo versions <maintain/supported_versions>`
Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

+228
View File
@@ -0,0 +1,228 @@
.. |assistance-contact| replace::
If you need Odoo assistance on this matter, please get in touch with your Odoo Account Manager or
our `Sales department`_.
.. _Sales department: mailto:sales@odoo.com
===
FAQ
===
.. _upgrade-faq/why:
Why upgrade
===========
* You benefit from the latest features of the :ref:`new major version
<upgrade-faq/release-notes>` released by Odoo.
* If you are in an :ref:`unsupported version <upgrade/supported-versions>`, you get a new version
with support.
.. _upgrade-faq/when:
When to upgrade
===============
Whenever you want. You can make your upgrade request as soon as a new version is released or when
your version turns unsupported, and you still wish to enjoy support.
.. _upgrade-faq/availability:
Availability of the new version
===============================
As soon as Odoo announces the release of a new major version, you can create a test upgrade request
to try the latest version. Please note that at this point, the upgrade scripts will only have been
tested with demo data. Please report any issue you might encounter while testing via the `Odoo
Support page <https://www.odoo.com/help>`_ and make sure to be happy with your test version before
requesting the upgrade of your database in production.
.. _upgrade-faq/duration:
Duration of the upgrade
=======================
It is impossible to give time estimates for every upgrade request.
In general, the "smaller" the database, the quickest the upgrade request is completed. A single-user
database that uses only CRM will be processed faster than a multi-company, multi-user database that
uses Accounting, Sales, Purchase, and Manufacturing.
You can expect the time it takes for the platform to upgrade the test database to be similar to the
production upgrade.
.. _upgrade-faq/project:
Duration of the upgrade project
-------------------------------
It depends on the user involvement (the time spent on testing, reporting problems, etc.) and the
issues encountered that might need to be addressed by our technical team.
So, in a nutshell, what can impact your upgrade lead time?
* Source & targeted versions
* Installed apps
* Volume of data
* Amount of customization (models, fields, methods, workflows, reports, website, etc.)
* Installation of new apps or configuration changes after the start of the test phase
* User commitment
.. _upgrade-faq/custom-modules:
Upgrade of the custom modules
=============================
As stated in our :doc:`/legal/terms/enterprise`, section :ref:`charges_standard`, this optional
service is subject to additional fees.
Depending on your situation, the custom code could be upgraded by our services, by one of our
partners, or you can do it yourself.
.. note:: |assistance-contact|
.. _upgrade-faq/upgrade-or-migration:
Upgrade or Migration
====================
An upgrade is switching to a newer version of Odoo, while a migration reflects the change of
:ref:`editions <upgrade-faq/editions-change>` or change of :ref:`hosting type
<upgrade-faq/hosting-types-switch>`.
.. note:: |assistance-contact|
.. _upgrade-faq/editions-change:
Editions change (from Community to Enterprise)
==============================================
The upgrade always returns an Enterprise edition of Odoo, whether the database you sent was a
community or enterprise edition. It is required to have an enterprise subscription to upgrade.
.. note::
If you need assistance on this matter, please contact us via the `Odoo Support page
<https://www.odoo.com/help>`_.
.. seealso::
- `Editions <https://www.odoo.com/page/editions>`_
.. _upgrade-faq/hosting-types-switch:
Switching the hosting types (On-premise vs. Odoo Online vs. Odoo.sh)
====================================================================
An upgrade does not cover a change of `Hosting types <https://www.odoo.com/page/hosting-types>`_.
Open the following link to get :doc:`more information about how to change your hosting type
<../maintain/hosting_changes>`.
.. note:: |assistance-contact|
.. _upgrade-faq/upgrade-report:
The Upgrade Report
==================
When an upgrade request completes successfully (test or production), you receive an email
notification about it that includes an 'Upgrade Report'. This report is also sent to you via the
Discuss app. It contains valuable information regarding changes that occurred during the upgrade.
While it serves as a guide to possible issues to look out for, it is not an exhaustive list. It
remains imperative that you test the upgraded database thoroughly and report any discrepancies you
might find, before you decide to upgrade your production database.
.. _upgrade-faq/custom-views:
Custom views
============
During the upgrade, some custom views might get disabled for technical reasons. Therefore they might
have to be fixed after the upgrade. The :ref:`Upgrade Report <upgrade-faq/upgrade-report>` that is
generated after the upgrade is available in the Discuss app, and lists all the custom views that
might be impacted by this.
.. _upgrade-faq/release-notes:
Release Notes by version
========================
Open our `Release Note <https://www.odoo.com/page/release-notes>`_ page to get a summary of the new
features and improvements made in each version.
How long is my test available for
=================================
An Odoo Online test database is available for one month by default. We can extend this trial period
upon request. For Odoo.sh or on-premise, there is no restriction.
How many tests to perform before upgrading to production?
=========================================================
As many as needed. When you are comfortable with the database, run a last test upgrade 48 hours
before requesting your production upgrade and test your workflows one last time.
How to/Where to report upgrade issues?
======================================
If you encounter issues during the upgrade process, please contact the Odoo Support through the
`Odoo Support page <https://www.odoo.com/help>`_.
- To report an issue discovered during the testing phase, please select **An issue related to my
upgrade (test phase)**.
- To report an issue discovered post-upgrade, please select **An issue related to my upgrade
(production)**.
Upgrading to production
=======================
Once you have completed testing and are happy with the result, you decide on a date and time when
you stop users from accessing Odoo, freeze all data entries, and create an upgrade request for the
production upgrade.
How is my data handled in the Upgrade Platform?
===============================================
The Odoo Upgrade platform uses the same Privacy Policy as the rest of Odoo.com services.
Your data is hosted on servers that follow our security guidelines, namely:
- SSL - All web connections to client instances are protected with 256-bit SSL encryption
(HTTPS with a 2048-bit modulus SSL certificate), and running behind Grade A SSL stacks. All our
certificate chains are using SHA-2 already.
- Safe System - Our servers are running recent Linux distribution with up-to-date security patches,
with firewall and intrusion countermeasures (not disclosed for obvious reasons).
Servers are located at the same locations as our Cloud providers with the following services:
- Restricted perimeter, physically accessed by authorized data center employees only
- Physical access control with security badges or biometrical security
- Security cameras monitoring the data center locations 24/7
- Security personnel on-site 24/7
The uploaded and migrated databases uploaded to the Upgrade platform are kept for up to 3 months and
are permanently deleted following that period.
You can learn more about privacy and data handling at Odoo by visiting our `General Data Protection
Regulation page <https://www.odoo.com/gdpr>`_.
Rolling Release (applicable to Odoo Online databases)
=====================================================
This feature allows customers to upgrade their database directly from a message prompt sent to the
database administrator as soon as the new version is released. Odoo first tests the upgrade to the
next version. The rolling release upgrade option is displayed if the automated tests are successful.
The message offers two options:
#. To 'Upgrade Now', which immediately triggers the upgrade of your live production database.
#. To take you to your `database manager <https://www.odoo.com/my/databases/>`_ where you can
`request an upgraded test database <https://upgrade.odoo.com/#online/>`_ and check the upgraded
test database for any discrepancies.
When you choose to proceed with the production upgrade directly, make sure all users have saved
their work and are logged out. The upgrade takes approximately 15 minutes. During this time your
database is unreachable. If you notice any problem after the upgrade, please report it via the `Odoo
Support page <https://www.odoo.com/help>`_.
.. note::
If you are using the Website or Studio app, we recommend you always do a test upgrade before
upgrading your production instance.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

@@ -0,0 +1,92 @@
===========
Odoo Online
===========
Odoo databases can be manually upgraded directly from the main Odoo website. To upgrade an Odoo
database, navigate to the `database manager <https://www.odoo.com/my/databases>`_ page and sign in.
The database manager page displays all of the Odoo databases associated with the user's account. Any
databases that are not already on the most recent version of Odoo display an **arrow in a circle**
icon next to the database name, indicating that the database can be upgraded.
.. image:: odoo_online/databases-page.png
:align: center
:alt: The database manager page with an upgrade button next to the name of a database.
.. important::
- If the database's version is **lower** than the latest major release: the database must be
upgraded within two months. After these two months, an automatic upgrade is initiated.
- If the database's version is **equal** to or **higher** than the latest major release:
you can disregard the invitation to upgrade, as the database probably would not benefit from
new features every two months.
If a database is *not* on the latest online version, its administrator should receive an invitation
to upgrade on the database's dashboard, displayed as an **arrow in a circle**.
.. image:: odoo_online/database-notification.png
:alt: Invitation to upgrade on the database dashboard.
.. note::
Versions that are not supported anymore become deprecated and must be updated to avoid
security issues. It is recommended to initiate the upgrade yourself and not wait for the
automatic upgrade, as the former method allows you to request a test upgrade of the database to
check for any discrepancies.
Test database
=============
Click on the **arrow in a circle** icon to start the upgrade process. On the :guilabel:`Upgrade your
database` pop-up, select the version of Odoo that the platform will be upgraded to. In the
:guilabel:`Email to notify` field, enter an email address that will receive email notifications
about the database upgrade.
There is also a :guilabel:`Purpose` section on the pop-up that is used to specify the reason for the
upgrade. However, at this stage of the process, the only selectable option is :guilabel:`Test`, as
Odoo requires users to create a test copy of the upgraded database before converting the actual
database.
.. image:: odoo_online/upgrade-pop-up.png
:align: center
:alt: The "Upgrade your database" pop-up.
After filling out the form, click the :guilabel:`Upgrade` button. The pop-up disappears and the
database being upgraded shows a red :guilabel:`Upgrade in progress` tag next to its name. An email
confirming that the upgrade is in progress is also sent to the email address specified on the
pop-up.
.. image:: odoo_online/upgrade-in-progress.png
:align: center
:alt: The "Upgrade in progress" tag next to the database name.
Once the upgrade is complete, a new test database appears on the `database manager
<https://www.odoo.com/my/databases>`_ page. To access the test database, click the drop-down arrow
(:guilabel:`⯆`) to the left of the main database's name. Doing so makes the test version appear
below it. Finally, click the green :guilabel:`Connect` button on the right side of the test
version's row to go to the database.
.. image:: odoo_online/test-database.png
:align: center
:alt: A test database on the database manager page.
Except for being on the newer version of Odoo, the test database is an exact copy of the one being
upgraded. It is important to do extensive testing in this database to ensure that the upgrade has
not altered or corrupted any data, and that all workflows still proceed as expected.
Production database
===================
After confirming the integrity of the new version, return to the `database manager
<https://www.odoo.com/my/databases>`_ page. Once again, click on the **arrow in a circle** icon next
to the database being upgraded. The :guilabel:`Upgrade your database` pop-up appears as before,
except that there is now a :guilabel:`Production` option under the :guilabel:`Purpose` section.
Select the :guilabel:`Production` option and then click :guilabel:`Upgrade` to begin the upgrade
process. As before, a notification email is sent to the email address provided and a red
:guilabel:`Upgrade in progress` tag appears next to the name of the database.
The production database is then taken offline and will be upgraded automatically. The time it takes
to upgrade the production database should be similar to the time that was necessary to upgrade the
test database. Make sure to inform database users of the scheduled downtime.
After the upgrade is finished, the :guilabel:`Upgrade in progress` tag disappears and the database
is upgraded to the version specified.
Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Some files were not shown because too many files have changed in this diff Show More