Compare commits

..

189 Commits

Author SHA1 Message Date
Fabien Pinckaers
291215471d Update whatsapp.rst 2023-09-13 10:30:37 +05:30
Olivier Dony
24679c1dbf [ADD] Add LICENSE and COPYRIGHT
closes odoo/documentation#5846

X-original-commit: a8be832f47
Signed-off-by: Olivier Dony (odo) <odo@odoo.com>
2023-09-13 01:46:53 +00:00
Olivier Dony
058910b52a [ADD] legal: update terms of sales for monthly subs, add ES,DE
closes odoo/documentation#5847

X-original-commit: 76570c1e9d
Signed-off-by: Olivier Dony (odo) <odo@odoo.com>
2023-09-13 00:32:13 +00:00
Martin Trigaux
7665cc2873 [IMP] install: clarify Windows is not recommended for prod
It has always been the case informally but write it in the doc.

closes odoo/documentation#5833

X-original-commit: 80e1065dff
Signed-off-by: Olivier Dony (odo) <odo@odoo.com>
2023-09-13 00:32:13 +00:00
Loredana Perazzo
c43ecf5bee [IMP] l11n: Odoo 16 is now certified to use the blackbox
task-3495357

closes odoo/documentation#5809

X-original-commit: 87b4f1817e
Signed-off-by: Jonathan Castillo (jcs) <jcs@odoo.com>
2023-09-11 16:17:01 +00:00
Leloup Loïc (lole)
4d6cc725a3 [IMP] cli: add unit to memory options
The documentation is unclear about the unit used for the --limit-memory-soft
and --limit-memory-hard options of odoo-bin.  The unit used is bytes, but
it isn't mentioned and the default unit is shown in mebibytes, causing
confusion.

closes odoo/documentation#5792

X-original-commit: 9fadc3355d
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-09-11 11:04:49 +00:00
KC (ksc)
12614ebbcd [IMP] sales: updated RST formatting for quote template doc
closes odoo/documentation#5797

X-original-commit: e689c98a05
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-09-09 04:43:26 +00:00
“Audrey
12ba2ea34f [IMP] payment_provider/mercado pago: Add missing step for production credentials
task-3498727

closes odoo/documentation#5783

X-original-commit: fe7f72bf63
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-09-08 16:13:44 +00:00
“Audrey
a366bca094 [IMP] website: Google Analytics
task-2790245

- Update existing Google Analytics doc for GA4
- Merge GA and Plausible into one Analytics page
- Review Plausible.io instructions to adopt same style as GA instructions

closes odoo/documentation#5766

X-original-commit: d538ed070e
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
2023-09-08 07:03:23 +00:00
Sam Lieber (sali)
cbca252682 [IMP] accounting/l10n: add tour and smartclass links
closes odoo/documentation#5756

X-original-commit: 88c2aacbf5
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-09-06 18:37:44 +00:00
baro-odoo
019c28b254 [FIX] odoo.sh: typo in branches.rst
closes odoo/documentation#5751

X-original-commit: cbbd5a5ee9
Signed-off-by: Jonathan Castillo (jcs) <jcs@odoo.com>
2023-09-06 16:38:11 +00:00
Xavier (XPL)
66e334a2cd [IMP] maintain: refresh the change hosting solution page
This PR updates the page's content as it is a bit dated in some places
(see task) and takes into consideration the latest rst guidelines.

task-3434787

closes odoo/documentation#5743

X-original-commit: 8e41b58834
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2023-09-06 14:15:07 +00:00
Tom Aarab (toaa)
dbd82dac07 [ADD] website: menus page
taskid-3414667

closes odoo/documentation#5735

X-original-commit: 0433155eab
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
Co-authored-by: Toaa <toaa@odoo.com>
Co-authored-by: Auva <auva@odoo.com>
2023-09-06 11:39:40 +00:00
Augusto Perez
d78f807564 [ADD] upgrade/on_premise: Add filestore explanation
Added a note explaining that the filestores from the upgraded database
and the production database have to be merged for on-premise upgrade,
on both the testing and the production phases

closes odoo/documentation#5727

X-original-commit: 28cacd3b98
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2023-09-05 15:03:37 +00:00
Jonathan Castillo (jcs)
8b7d298f4a [ADD] WhatsApp: basic description of the app
- adds basic content for Odoo WhatsApp app
- adds a redirect rule for non-existent links in the app
  see https://github.com/odoo/enterprise/pull/45601#pullrequestreview-1608996613

task-3425722

closes odoo/documentation#5713

Related: odoo/enterprise#46785
Signed-off-by: Jonathan Castillo (jcs) <jcs@odoo.com>
2023-09-04 11:56:47 +00:00
Odoo's Mergebot
4f10ef0b20 [FW][FIX] developer/tutorials/discover_js_framework: fix broken "domain.js" link
The link pointing to domain.js file was broken.
The xml id on the line before that is also broken but it will be fixed with PR#5699.

closes odoo/documentation#5707

Forward-port-of: odoo/documentation#5702
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Co-authored-by: Armin FalDiS <armin.fallah96@gmail.com>
Co-authored-by: Armin FalDiS <fara@odoo.com>
2023-09-04 09:10:26 +00:00
Nur Muhammad Naufaldo
4eff51ed4b [FIX] inventory: fix typo
closes odoo/documentation#5682

X-original-commit: cae0edcc83
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-09-04 04:42:27 +00:00
Zachary Straub (ZST)
0d9da9ea78 [FIX] voip: update broken links, light markup cleaning
closes odoo/documentation#5695

X-original-commit: 2fff805029
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-08-31 01:29:01 +00:00
Andrea Tasselli
290768367e [FW][FIX] developer/tutorials/discover_js_framework: add missing this
closes odoo/documentation#5683

Forward-port-of: odoo/documentation#5677
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-08-31 00:22:01 +00:00
Donatienne Pirlot
481c78e6b3 [ADD] forum: create the forum documentation
This PR adds a page describing how to create, use and moderate a forum.
It creates references in the elearning page as karma features are shared.
It removes redundant information from the helpdesk/overview/help_center
page and links back to the more detailed forum page.

task-3283274

closes odoo/documentation#5674

X-original-commit: c60ec48c9d
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2023-08-29 13:07:51 +00:00
arsi
c28e5e81ca [FIX] localizations: guide to tax report to re-connect to HMRC
In the multi-company HMRC submission section, the documentation mentions
that you can connect to HMRC from the user form, after having reset the
credentials.
This is not true, you have to go back to the tax report and click the
"Connect to HMRC" button.

opw-3449939

closes odoo/documentation#5668

X-original-commit: 39c0515208
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
Signed-off-by: Arnaud Sibille (arsi) <arsi@odoo.com>
2023-08-29 10:16:12 +00:00
Tom Aarab (toaa)
edb03bfee8 [FIX] PayPal: documentation dead link fix
Fixed a dead URL

taskid-3454286

closes odoo/documentation#5617

X-original-commit: f74e9568c0
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
Signed-off-by: Tom Aarab (toaa) <toaa@odoo.com>
2023-08-28 10:32:24 +00:00
“Audrey
caf52828d8 [IMP] payment_providers/buckaroo: review doc page structure and fix small mistake
task-3382228

closes odoo/documentation#5649

X-original-commit: 4a42a9c327
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
2023-08-28 09:19:16 +00:00
KC (ksc)
eb4114cb5f [IMP] fixed duplicate content in the Group By section
closes odoo/documentation#5659

X-original-commit: 575f6040a0
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-08-26 01:00:35 +02:00
Tom Aarab (toaa)
4480d19e26 [FIX] Stripe: screenshot update
Updated an outdated screenshot from V14 to V15

Forward to master.

taskid-3467638

closes odoo/documentation#5643

X-original-commit: 93c8de714f
Signed-off-by: Tom Aarab (toaa) <toaa@odoo.com>
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2023-08-25 13:59:40 +02:00
“Audrey
3d6998550d [FIX] ecommerce: broken link to cross-selling and upselling doc
task-3416686

closes odoo/documentation#5622

X-original-commit: b9cb5ffa1c
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2023-08-25 09:56:56 +02:00
“tap-odoo”~
d604c7f31f [ADD] Thailand localisation Documentation
- Added Thailand localisation documentation as it not exist before.
Features were pushed to Odoo 16 already

closes odoo/documentation#5613

X-original-commit: 7287989ea4
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2023-08-25 09:56:51 +02:00
tiku-odoo
294393524d [IMP] Discuss Team Communication edits
closes odoo/documentation#5637

X-original-commit: b6a3be322c
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-08-25 06:16:19 +02:00
Brandon Seltenrich (BRSE)
fb13a5ebee [FIX] mrp: fix kits note
closes odoo/documentation#5629

X-original-commit: a02022e2fd
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Signed-off-by: Brandon Seltenrich (brse) <brse@odoo.com>
2023-08-24 23:28:20 +02:00
Antoine (anso)
1bc645bb02 [FIX] odoo_theme: fix logo colors
Before this commit, the Odoo logos used in the documentation were
using the old purple color.

This commit updates all these old logos with the latest version that
can be found on the Odoo brand-asset page

https://www.odoo.com/page/brand-assets

task-3328677

closes odoo/documentation#5601

X-original-commit: 4bec9a6e09
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-08-24 14:21:33 +02:00
Loredana Perazzo
700de05880 [FIX] pos: typo in note (stripe)
task-3472802

closes odoo/documentation#5587

X-original-commit: ac53c6f12e
Signed-off-by: Jonathan Castillo (jcs) <jcs@odoo.com>
2023-08-23 18:59:50 +02:00
Jonathan Castillo (jcs)
31c3240030 [REM] support: what_can_i_expect
This page used to be hosted as an "orphan" page in the documentation
repository. It now is displayed on the support form page at
www.odoo.com/help making this page redundant. This commit deletes that
page and a redirection pointing to the support form has been set.

task-3027584

closes odoo/documentation#5580

X-original-commit: fd2c0b8010
Signed-off-by: Jonathan Castillo (jcs) <jcs@odoo.com>
2023-08-23 14:40:45 +02:00
Erwin Zoer
2ada4b4adb Update stock_warehouses.rst
closes odoo/documentation#5563

Spelling: whe > the on line 168
X-original-commit: 7eb22a3737
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-08-22 02:50:30 +02:00
Felicious
b9e1ffa367 [ADD] barcode: GS1 nomenclature
closes odoo/documentation#5570

X-original-commit: 3b2c2376c0
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Felicia Kuan (feku) <feku@odoo.com>
Co-authored-by: meng-odoo <101904966+meng-odoo@users.noreply.github.com>
Co-authored-by: Sam Lieber (sali) <36018073+samueljlieber@users.noreply.github.com>
2023-08-22 01:17:47 +02:00
Xavier (XPL)
b0b0c77dcd [FIX] install: fix reference and redirect
closes odoo/documentation#5550

X-original-commit: f1db43b3ac
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2023-08-18 23:29:58 +02:00
Xavier (XPL)
91c28fd433 [REF] install: move intro to main install page and split by install type
This PR moves the introduction about the different installation methods and editions found on the
install/install.rst page directly under the main install/ page. It creates three pages, one per
installation method documented on the install/install.rst page (Docker being documented on
docker.com and maintained by us), and moves the related content there. In addition, it fixes various
typos/grammar issues and improves the content according to the documentation guidelines. Various
references and links across the documentation had to be fixed accordingly.

task-3459070

closes odoo/documentation#5539

X-original-commit: da2a48b9fd
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2023-08-18 14:19:21 +02:00
Martin Trigaux
7794a25628 [I18N] *: export translations
closes odoo/documentation#5534

X-original-commit: b27ca9b36a
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2023-08-18 13:14:46 +02:00
KC (ksc)
e340381072 [IMP] sales: updated different addresses doc for RST
closes odoo/documentation#5529

X-original-commit: e4ebe9f277
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-08-18 01:19:32 +02:00
Antoine Vandevenne (anv)
41f86b5b00 [FIX] tutorials/getting_started: fix typos in example model name
Commit f36c612d13 changed the model name
in Chapter 4 without updating the other occurences.

closes odoo/documentation#5512

X-original-commit: b6f923d111
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-08-17 19:18:48 +02:00
ksc-odoo
8894cb2244 [IMP] Sales - Update optional_products.rst
closes odoo/documentation#5418

X-original-commit: 4d95afe86c
Signed-off-by: Kevin Scannell (ksc) <ksc@odoo.com>
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-08-16 23:47:54 +02:00
Jonathan
242d1ea961 [IMP] email com: update daily limit
The current default daily limit for one-app free
is 20 mails only. This commit updates the value.

closes odoo/documentation#5511

X-original-commit: c0ca09cdde
Signed-off-by: Jonathan Castillo (jcs) <jcs@odoo.com>
2023-08-16 19:07:35 +02:00
Antoine Dupuis (andu)
42ef43f8c4 [ADD] l10n_ro_saft: Romanian D.406 monthly/quarterly declaration doc
Since January 1, 2023, Romanian businesses are required to report their
accounting data on a monthly/quarterly basis, in the D.406 declaration.

This is an XML following the SAF-T 2.0 standard, with Romanian-specific
customizations. The new module l10n_ro_saft lets you generate this
declaration from the General Ledger report.

Here's some documentation about how to use this new module! Yay!

closes odoo/documentation#5488

Task-id: 3172198
X-original-commit: c96be6dc69
Related: odoo/odoo#131920
Related: odoo/enterprise#45752
Signed-off-by: Antoine Dupuis (andu) <andu@odoo.com>
2023-08-16 16:45:15 +02:00
Sam Lieber (sali)
ddcddf1b21 [ADD] accounting: l10n_br avalara implementation
closes odoo/documentation#5463

X-original-commit: 4081ec3f17
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
2023-08-15 17:28:20 +02:00
masi-odoo
ead2e2a623 [IMP] accounting/loca: AR add check management section
closes odoo/documentation#5491

X-original-commit: 98d0d59188
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
2023-08-14 18:01:33 +02:00
Sam Lieber (sali)
eb4103248c [REF] l10n: PoC doc restructure for CO
closes odoo/documentation#5478

X-original-commit: e52d8f172f
Signed-off-by: Jonathan Castillo (jcs) <jcs@odoo.com>
2023-08-12 08:40:43 +02:00
imanie383
1bed977b8c [FW][FIX] reference/owl_components: fix typo
Making edits for Owl Components Doc : [Link](https://www.odoo.com/documentation/16.0/developer/reference/frontend/owl_components.html#example-multi-level-dropdown-nested)

![image](https://github.com/odoo/documentation/assets/35231827/b2dd4b87-941c-4241-b0f5-e91ca69b3633)

closes odoo/documentation#5473

Forward-port-of: odoo/documentation#5459
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-08-11 19:16:02 +02:00
tiku-odoo
d8bcaaef46 [IMP] Misc Oauth Azure Clarification
closes odoo/documentation#5445

X-original-commit: b41d69ae82
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-08-10 00:43:31 +02:00
Lara Martini (larm)
d30501aeaf [IMP] Inventory: updating second person and images, add clarity
feku-review-add-headings-and-extra-reference

closes odoo/documentation#5453

X-original-commit: 6cb2ed8abc
Signed-off-by: Felicia Kuan (feku) <feku@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-08-09 22:11:20 +02:00
John Holton (hojo)
662a23edfb [ADD] MRP: Add Scrap during manufacturing
closes odoo/documentation#5378

X-original-commit: 72ba26414b
Signed-off-by: John Holton (hojo) <hojo@odoo.com>
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-08-09 18:59:57 +02:00
Lara Martini (larm)
e02bf048b5 [MOV] Payroll: moved configuration doc to main payroll so there is less clicking for users
closes odoo/documentation#5431

X-original-commit: 4fd1f56b33
Signed-off-by: Lara Martini (larm) <larm@odoo.com>
2023-08-09 16:38:41 +02:00
Brandon Seltenrich (BRSE)
638c6f113a [IMP] inventory: update inventory adjustments
closes odoo/documentation#5417

X-original-commit: 3da457a501
Signed-off-by: Brandon Seltenrich (brse) <brse@odoo.com>
2023-08-09 15:18:21 +02:00
Victor Feyens
c8f0e1a280 [ADD] tests: image compression and resource file name checkers
task-2801043

closes odoo/documentation#5365

X-original-commit: f76c28867d
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Co-authored-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-08-09 10:00:20 +02:00
Xavier (XPL)
9947a67928 [IMP] sales: correct amazon invoicing and payment registration info
task-2203035

closes odoo/documentation#5377

X-original-commit: bd50b39abf
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2023-08-08 22:47:36 +02:00
Sam Lieber (sali)
b538d4226f [IMP] marketing: RST upgrades for metrics doc
closes odoo/documentation#5402

X-original-commit: 6f02a0af04
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Kevin Scannell (ksc) <ksc@odoo.com>
2023-08-08 21:33:40 +02:00
ksc-odoo
430d3009b2 [IMP] Sales - updated Deadline.rst (v14)
closes odoo/documentation#5401

X-original-commit: 5f2725160d
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Kevin Scannell (ksc) <ksc@odoo.com>
2023-08-08 21:33:37 +02:00
Sam Lieber (sali)
a54dc5946e [ADD] email marketing: essentials, mailing lists, unsubscriptions
closes odoo/documentation#5388

X-original-commit: 56a291831a
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-08-08 21:33:33 +02:00
Sam Lieber (sali)
c5a68b73dc [IMP] test/rst_style, Makefile: add optional review checkers
task-2801043

closes odoo/documentation#5356

X-original-commit: 8eec0e7634
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-08-08 14:15:01 +02:00
KC (ksc)
f3b57a9346 [IMP] sales: invoicing policy doc for RST reasons
closes odoo/documentation#5344

X-original-commit: acc2c7994a
Signed-off-by: Kevin Scannell (ksc) <ksc@odoo.com>
2023-08-08 01:36:51 +02:00
Xavier (XPL)
9e34d5ea4e [IMP] maintain: change info about domain names approval time
Original commit: 4fd1b73013
Original PR: https://github.com/odoo/documentation/pull/5272

closes odoo/documentation#5338

X-original-commit: 45a2d970b7
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2023-08-07 19:43:01 +02:00
“ralo-odoo”
a72094d166 [ADD] localization: philippines-l10n_ph
Adding Philippines localization documentation from PR #5179

closes odoo/documentation#5330

X-original-commit: 465e7e70c4
Signed-off-by: Dallas Dean (dade) <dade@odoo.com>
2023-08-07 17:50:11 +02:00
Antoine Vandevenne (anv)
2282aa9b72 [IMP] supported_versions: release saas-16.4
This commit also moves all versions from 8.0 to 12.0 from the table to
the "older versions" section.

closes odoo/documentation#5325

X-original-commit: 6225ef9e32
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-08-07 16:33:34 +02:00
Jonathan
b1f73ce0c5 [FIX] iot: broken link in troubleshooting.rst
closes odoo/documentation#5317

X-original-commit: 020200abbe
Signed-off-by: Jonathan Castillo (jcs) <jcs@odoo.com>
2023-08-07 15:14:29 +02:00
Tom Aarab (toaa)
fc73ce1d7d [IMP] website: "pages" page
Adding a documentation on "pages" within the already existing "page"
toctree

task-3383323

closes odoo/documentation#5307

X-original-commit: e314289fc4
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
Co-authored-by: Toaa <toaa@odoo.com>
Co-authored-by: Auva <auva@odoo.com>
2023-08-07 12:38:01 +02:00
Tom Aarab (toaa)
1e8e39df93 [IMP] accounting/credit and debit notes
Forward to master.

Change 16.3 onwards (screenshots)

Improved the doc and added some info on debit notes (was missing).

taskid-3439169

closes odoo/documentation#5268

X-original-commit: 7f75d16f1b
Signed-off-by: Tom Aarab (toaa) <toaa@odoo.com>
2023-08-07 11:11:47 +02:00
KC (ksc)
1883977103 [IMP] sales: updated get siganture for validation doc for RST formatting
closes odoo/documentation#5301

X-original-commit: 6c38992016
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-08-06 08:50:24 +02:00
Lara Martini (larm)
574740195f [ADD] Payroll: adding new configuration doc
closes odoo/documentation#5293

X-original-commit: 8a88ec1dd0
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-08-05 03:14:15 +02:00
Lara Martini (larm)
8b5a7ca683 [IMP] Inventory: updated text for 16 and fixed rst errors
closes odoo/documentation#5285

X-original-commit: 5a2e7b0512
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-08-05 03:14:12 +02:00
Sam Lieber (sali)
ae0a53ca92 [IMP] marketing: RST format upgrades for marketing automation v14
closes odoo/documentation#5280

X-original-commit: b5bde9186e
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-08-05 03:14:06 +02:00
Martin Trigaux
bf5c888446 [IMP] developer: document new parameter
closes odoo/documentation#5234

Related: odoo/odoo#129977
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2023-08-04 12:38:04 +02:00
“Dallas”
eddb0e2a99 [IMP] accounting: move cash discount tax reduction to payment term
task-3211595

closes odoo/documentation#5258

X-original-commit: ceda988a29
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
Signed-off-by: Dallas Dean (dade) <dade@odoo.com>
2023-08-04 11:15:29 +02:00
tiku-odoo
ebfca4bca6 [IMP] Misc: Oauth Azure
closes odoo/documentation#5041

closes odoo/documentation#5253

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

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 04:08:21 +02:00
“Chiara
c55d1a8b28 [ADD] l10n: saudi arabia e-invoicing
task-3422500

closes odoo/documentation#5231

X-original-commit: 442eccd566
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2023-07-28 16:51:57 +02:00
Martin Trigaux
c0159491a7 [I18N] *: export translations
closes odoo/documentation#5221

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

X-original-commit: 4cb7b3af3d
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2023-07-26 18:41:18 +02:00
Xavier (XPL)
93d2bfaff4 [IMP] accounting: year-end closing
task-2823858

closes odoo/documentation#5208

X-original-commit: 8c03442791
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2023-07-26 17:28:21 +02:00
Donatienne Pirlot
bea93632a0 [ADD] elearning: creating a new elearning doc page
To add updated information related to the elearning app

closes odoo/documentation#5153

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:11:43 +02:00
Xavier (XPL)
9502fe6bf4 [IMP] payments: add section about ACH payments
task-3303591

closes odoo/documentation#5196

X-original-commit: 0155844ef5
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2023-07-25 18:21:25 +02:00
Levi Siuzdak (sile)
1b1340524f [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#5182

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 18:10:26 +02:00
Tom Aarab (toaa)
abe1a14e3c [IMP] accounting: multicurrency
Changed the "bank statement" section to "bank transactions"

taskid-3433653

closes odoo/documentation#5170

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:14:00 +02:00
“Dallas”
8a3c452920 [IMP] accounting: update payment terms
task-3211595

closes odoo/documentation#5174

X-original-commit: 26c4c01889
Signed-off-by: Dallas Dean (dade) <dade@odoo.com>
2023-07-20 14:00:49 +02:00
Xavier (XPL)
18607ba774 [IMP] general: add screenshot of stacked line chart in reporting
task-3375264

closes odoo/documentation#5154

X-original-commit: 5ee932e14b
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2023-07-19 09:53:44 +02:00
Louis Wicket
fb5018a46f [FIX] incoterms: fix typo: DPA → DAP
closes odoo/documentation#5145

X-original-commit: 1227c9cf79
Signed-off-by: Louis Wicket (wil) <wil@odoo.com>
2023-07-18 15:38:38 +02:00
chyde-clearwater
302c373994 [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#5140

X-original-commit: f36c612d13
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-07-18 15:38:33 +02:00
Henrique Dias
91cfadcac3 [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#5128

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

X-original-commit: a67a69beae
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-07-13 22:37:13 +02:00
Lara Martini (larm)
a02bc78ce5 [IMP] Inventory: update for 16
closes odoo/documentation#5102

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

X-original-commit: a187b7cde4
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-07-13 19:59:44 +02:00
Marc Durepos
1ba2976fa0 [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#5107

X-original-commit: c85031b3fc
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-07-13 17:43:06 +02:00
Martin Trigaux
8bf2d026b7 [FIX] developer: document changes of message_post API
closes odoo/documentation#5082

Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2023-07-13 16:16:10 +02:00
Loredana Perazzo
d1201080ca [IMP] pos: move part of the intro into generate tab
task-3372676

closes odoo/documentation#5114

X-original-commit: d5466bea0d
Signed-off-by: Loredana Perazzo (lrpz) <lrpz@odoo.com>
2023-07-13 13:45:12 +02:00
Odoo's Mergebot
766ace6b14 [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#5091

Forward-port-of: odoo/documentation#5087
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2023-07-12 22:28:00 +02:00
Aymen Sellami
542661eede 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#5091
2023-07-12 22:27:59 +02:00
Xavier (XPL)
830fd28ae3 [IMP] payments: clarify authorize.net statement import steps
task-2382237

closes odoo/documentation#5076

X-original-commit: 22d45407c4
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2023-07-10 22:44:48 +02:00
Martin Trigaux
d1fca0b2bb [I18N] *: export translations
closes odoo/documentation#5068

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

closes odoo/documentation#5062

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:48:05 +02:00
Antoine Vandevenne (anv)
73c25cda97 [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#5058

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

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

closes odoo/documentation#5033

X-original-commit: 6d21b089a5
Related: odoo/enterprise#43702
Signed-off-by: Jonathan Castillo (jcs) <jcs@odoo.com>
Signed-off-by: Tommy Ng (tong) <tong@odoo.com>
2023-07-06 12:04:43 +02:00
Xavier (XPL)
294c49ed84 [IMP] accounting: l10n chile deliver guides warning
task-3410367

closes odoo/documentation#5029

X-original-commit: b729d05e57
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2023-07-05 16:46:21 +02:00
Brandon Seltenrich (BRSE)
e6fdf2e3ca [IMP] purchase: update manage vendor bills
closes odoo/documentation#5011

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 01:06:12 +02:00
Xavier
7989b82225 [IMP] maintain: odoo online database management
task-2995394

closes odoo/documentation#5005

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

closes odoo/documentation#4997

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

closes odoo/documentation#4990

X-original-commit: f3e3490ba4
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2023-07-04 01:05:55 +02:00
Julien Mougenot
d1c810739e [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#4330

Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-07-04 01:05:53 +02:00
Julien Mougenot
1479ddc2af [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#4330
2023-07-04 01:05:52 +02:00
John Holton (hojo)
9b6552b50e [ADD] Inventory: Add Replenish on order (MTO)
closes odoo/documentation#4983

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

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

X-original-commit: 18a9b88a11
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-07-01 18:05:34 +02:00
Jess Rogers (jero)
6a9443fd74 [ADD] livechat: added chatbot doc
closes odoo/documentation#4967

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

X-original-commit: 710c373354
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-06-30 23:26:51 +02:00
John Holton (hojo)
1b14fa5f7b [IMP] Administration: Rewrite Upgrade Odoo SaaS
closes odoo/documentation#4950

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

closes odoo/documentation#4941

X-original-commit: ac0db5ad17
Signed-off-by: Tom Aarab (toaa) <toaa@odoo.com>
2023-06-29 10:16:36 +02:00
Xavier
c336f34baf [FIX] accounting: remove fullscreen property from tutorial link
task-3389168

closes odoo/documentation#4935

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

X-original-commit: e8aaefd283
Signed-off-by: Jessica Rogers (jero) <jero@odoo.com>
2023-06-28 14:34:56 +02:00
Xavier
39313aaa8e [ADD] website: reCAPTCHA
task-3336129

closes odoo/documentation#4919

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

X-original-commit: e7457c992b
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-06-27 21:14:59 +02:00
Benoit Socias
1659c8b801 [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#4911

X-original-commit: 3a131c829a
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-06-27 15:38:16 +02:00
Benoit Socias
9d4671d68f [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#4910

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

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 00:52:16 +02:00
Brandon Seltenrich (BRSE)
c83d4b33a7 [IMP] inventory: update expiration dates doc
closes odoo/documentation#4889

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 22:03:04 +02:00
Lara Martini (larm)
0aff3e8376 [ADD] Employees: anning a new employee
closes odoo/documentation#4857

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 22:02:55 +02:00
Jess Rogers (jero)
555fcf25d3 [IMP] live chat:update getting started doc
closes odoo/documentation#4882

X-original-commit: c24f4b237e
Signed-off-by: Jessica Rogers (jero) <jero@odoo.com>
2023-06-26 20:57:56 +02:00
Donatienne Pirlot
12d40d6e0f [ADD] localization: belgian accounting
closes odoo/documentation#4841

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

X-original-commit: 6201ee8760
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-06-24 03:47:42 +02:00
Jess Rogers (jero)
9ba82bdc12 [IMP] helpdesk: update help center documentation
closes odoo/documentation#4874

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

closes odoo/documentation#4862

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 14:01:43 +02:00
“Audrey
10bae262c8 [IMP] Payment providers - Stripe: Add missing webhook events
task-3373642

closes odoo/documentation#4779

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:48:50 +02:00
Lara Martini (larm)
17e0e4e5bd [IMP] Expenses: updating for new 16 design
closes odoo/documentation#4849

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

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:03:00 +02:00
Jonathan
9dd4f67d1e [IMP] accounting: add tutorials links to chart of accounts
closes odoo/documentation#4834

X-original-commit: a85e064ffc
Signed-off-by: Jonathan Castillo (jcs) <jcs@odoo.com>
2023-06-21 22:10:57 +02:00
Lara Martini (larm)
f1c071f526 [IMP] Inventory: Updating for 16.0 no save button
closes odoo/documentation#4813

X-original-commit: e074580ffb
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-06-21 19:35:47 +02:00
Jonathan
013e9b4e68 [FIX] discuss: broken link in ice_servers.rst
closes odoo/documentation#4826

X-original-commit: 8efbe3ef84
Signed-off-by: Jonathan Castillo (jcs) <jcs@odoo.com>
2023-06-21 17:33:48 +02:00
Loredana Perazzo
90c221f122 [IMP] pos: write content on the Payment Terminals page
task-3358474

closes odoo/documentation#4797

X-original-commit: b745bd9fef
Signed-off-by: Jonathan Castillo (jcs) <jcs@odoo.com>
Signed-off-by: Loredana Perazzo (lrpz) <lrpz@odoo.com>
2023-06-21 13:07:57 +02:00
Christophe Monniez
23b5ebd865 [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#4807

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 17:31:56 +02:00
Christophe Monniez
81f12e1c6a [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#4807
2023-06-20 17:31:56 +02:00
Martin Trigaux
6428006680 [I18N] *: export 16.0 source terms
closes odoo/documentation#4800

X-original-commit: ad7b636275
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2023-06-20 15:29:48 +02:00
Antoine Vandevenne (anv)
630d4a30a7 [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#4790

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

closes odoo/documentation#4777

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

closes odoo/documentation#4765

X-original-commit: 7ddbeb9223
Signed-off-by: Platteau Xavier (xpl) <xpl@odoo.com>
2023-06-16 14:52:41 +02:00
Tom Aarab (toaa)
978d8b0eca [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#4733

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

X-original-commit: 3e4e8acfed
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-06-16 01:41:44 +02:00
Sam Lieber (sali)
3ff140ffe6 [IMP] marketing: testing_running.rst format fixes
closes odoo/documentation#4753

X-original-commit: 4b327417b0
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-06-15 20:35:20 +02:00
Sam Lieber (sali)
30b596aafd [IMP] marketing: workflow_activities.rst - Format fixes
closes odoo/documentation#4752

X-original-commit: a09ca7bd0f
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-06-15 20:35:18 +02:00
Sam Lieber (sali)
8f3d59caf5 [IMP] Update rst for target_audiences.rst (v14)
closes odoo/documentation#4740

X-original-commit: 89c1c1b357
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-06-15 20:35:10 +02:00
“Audrey
9d1ce94d2f [FIX] Adyen: Fix live/test URLs
closes odoo/documentation#4728

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

closes odoo/documentation#4713

X-original-commit: 9e453285d0
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
Signed-off-by: auva-odoo <auva@odoo.com>
2023-06-13 09:36:41 +02:00
Tom Aarab (toaa)
372ecf24cb [IMP] accounting: OSS report
Added a section on where to find OSS reports and how to export them

task-3305037

closes odoo/documentation#4714

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:28:31 +02:00
Loredana Perazzo
7c88185e6a [IMP] pos: update the register customers section
task-3357882

closes odoo/documentation#4705

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:57:05 +02:00
Tom Aarab (toaa)
096cb6db4f [IMP] accounting: follow-up reports
task-3316301.

closes odoo/documentation#4699

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 10:28:31 +02:00
Morfosys
83168299d9 [IMP] l10n: update links in mexico.rst
Update the link for Smarter Web to the appropriate landing page for
Odoo.

closes odoo/documentation#4688

X-original-commit: 7510b4bb23
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-06-09 15:18:47 +02:00
Benjamin Hanquin
6e686eceac [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#4687

X-original-commit: 98207740d5
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-06-09 15:18:44 +02:00
Xavier-Do
2445940b2c [FIX] werkzeug version
https://werkzeug.palletsprojects.com/en/1.0.x/objects.inv now returns a
404.
2023-06-09 01:20:27 +02:00
Lara Martini (larm)
76d0d24b70 [IMP] Expenses: updaitng out of date information and images
closes odoo/documentation#4553

closes odoo/documentation#4668

X-original-commit: 01f40f24ba
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-06-08 22:11:42 +02:00
“Audrey
96ec4ab70c [IMP] Adyen: Update directions for setting the URLs
task-3338125

closes odoo/documentation#4660

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:27:59 +02:00
Loredana Perazzo
0a17db6d3d [IMP] pos: update multi employees management
task-3005118

closes odoo/documentation#4656

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

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 21:44:58 +02:00
“Dallas”
d472c646a8 [IMP] accounting: update VIES VAT number validation
task-3329992

closes odoo/documentation#4616

Signed-off-by: Dallas Dean (dade) <dade@odoo.com>
2023-06-07 15:00:24 +02:00
luvi
0aad6eafda [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#4468

Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-06-06 12:49:44 +02:00
Antoine Vandevenne (anv)
ec0bb11a62 [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#4628

X-original-commit: 3d1293757a
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-06-06 10:20:04 +02:00
Martin Trigaux
8448e351c5 [I18N] *: export saas-16.1 source terms
closes odoo/documentation#4618

X-original-commit: cedd35f653
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2023-06-05 14:45:37 +02:00
Julien Castiaux
38e6d5d368 [FIX] install: minimal python version is 3.8
See odoo/odoo@44d60e3

closes odoo/documentation#4605

Signed-off-by: Julien Castiaux (juc) <juc@odoo.com>
2023-06-05 13:32:14 +02:00
Tom Aarab (toaa)
8b49c23499 [IMP] accounting: OSS note removal
Removal of a note in 16 that only applies to versions below it.

task-3305037

closes odoo/documentation#4612

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

task-3305222

closes odoo/documentation#4611

X-original-commit: 971543266a
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-06-02 18:53:17 +02:00
tiku-odoo
3929b58e05 [NEW]IoT- Windows IoT doc
closes odoo/documentation#4598

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

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:29 +02:00
Brandon Seltenrich (BRSE)
f989b34301 [FIX] inventory: fix note in inv val config
closes odoo/documentation#4592

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:26 +02:00
Jess Rogers (jero)
971cac92a2 [IMP] helpdesk: combine and update invoice time docs
closes odoo/documentation#4578

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 16:03:27 +02:00
“Audrey
e5113732c4 [IMP] payment providers: Wire Transfer
task-3301001

closes odoo/documentation#4570

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:47:04 +02:00
Loredana Perazzo
a42608cb50 [ADD] k7e: how to manage articles (add, del, move, structure, share).
Task-3049957

closes odoo/documentation#4556

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 18:45:45 +02:00
Olivier Dony
f8a84d879b [FIX] legal: fix link to pt_BR PDF version 2023-05-26 20:04:35 +02:00
oco-odoo
913cc4cb02 [IMP] accounting: subformulas for aggregation engine in custom reports
f39862263c
introduced two new subformulas for aggregations, but they were still
missing in the doc.

closes odoo/documentation#4561

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

closes odoo/documentation#4544

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 14:14:56 +02:00
Olivier Dony
fc03df1be2 [FIX] legal: add pt_BR translation of OEEL
Courtesy of LANA :)

closes odoo/documentation#4551

X-original-commit: a718922b0c
Signed-off-by: Olivier Dony (odo) <odo@odoo.com>
2023-05-26 11:46:07 +02:00
Olivier Dony
993fde3b1f [FIX] legal: rename pt_BR + build PDF version
X-original-commit: 0df79a70e0
Part-of: odoo/documentation#4551
2023-05-26 11:46:06 +02:00
jopa-odoo
291cc82330 [ADD] Legal: Portuguese (Brasil) translation of Odoo Enterprise Agreement
X-original-commit: 966bade927
Part-of: odoo/documentation#4551
2023-05-26 11:46:06 +02:00
“Chiara
0a3618cf95 [IMP] accounting: fiscal position update
task-3272939

closes odoo/documentation#4531

X-original-commit: 440c18ca01
Signed-off-by: Platteau Xavier (xpl) <xpl@odoo.com>
Signed-off-by: chiaraprattico <chpr@odoo.com>
2023-05-25 10:03:11 +02:00
Gauthier Wala (gawa)
768c2b231b [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#4421

Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-05-24 20:26:30 +02:00
Brandon Seltenrich (BRSE)
891e1c8a2c [IMP] inventory: fix and update lots
closes odoo/documentation#4527

X-original-commit: 5bc3b94b61
Signed-off-by: Brandon Seltenrich (brse) <brse@odoo.com>
2023-05-24 19:20:23 +02:00
“Dallas”
7fb0691247 [IMP] contributing: change gui abbreviation to lower case
closes odoo/documentation#4513

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

closes odoo/documentation#4519

X-original-commit: 4fc24468e4
Signed-off-by: Platteau Xavier (xpl) <xpl@odoo.com>
Signed-off-by: chiaraprattico <chpr@odoo.com>
2023-05-24 08:31:57 +02:00
Tom Aarab (toaa)
ae22f379c5 [ADD] accounting: VAT units
task-2557013

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

closes odoo/documentation#4502

X-original-commit: 214ce3075c
Signed-off-by: Aarab Tom (toaa) <toaa@odoo.com>
2023-05-23 13:45:17 +02:00
Tom Aarab (toaa)
5e53a7ee1b [ADD] Sales: loyalty and discount programs
closes odoo/documentation#4473

X-original-commit: 04f67c0b3f
Signed-off-by: Melanie Nguyen (meng) <meng@odoo.com>
2023-05-23 01:20:54 +02:00
tiku-odoo
d407e86479 [IMP]Misc:SysParm-edits-email-doc
closes odoo/documentation#4493

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

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

X-original-commit: af4ad4cf4d
Signed-off-by: Brandon Seltenrich (brse) <brse@odoo.com>
2023-05-22 18:03:44 +02:00
Jonathan Castillo (jcs)
c68cc154ed [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#4478

X-original-commit: 14afa1a1a2
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-05-21 20:31:02 +02:00
Olivier Dony
0d4f653d07 [CHG] legal: partnership contract v11 (updated level requirements + clarifications) 2023-05-19 12:41:28 +02:00
Christophe Monniez
ca22962fa8 [REL] saas-16.3 2023-05-17 16:01:11 +02:00
3148 changed files with 53233 additions and 120191 deletions

View File

@@ -1,122 +1,63 @@
[main]
host = https://www.transifex.com
[o:odoo:p:odoo-17-doc:r:administration]
file_filter = locale/<lang>/LC_MESSAGES/administration.po
source_file = locale/sources/administration.pot
type = POT
minimum_perc = 0
resource_name = administration
replace_edited_strings = false
keep_translations = false
source_lang = en
[o:odoo:p:odoo-16-doc:r:administration]
file_filter = locale/<lang>/LC_MESSAGES/administration.po
source_file = locale/sources/administration.pot
source_lang = en
[o:odoo:p:odoo-17-doc:r:applications]
file_filter = locale/<lang>/LC_MESSAGES/applications.po
source_file = locale/sources/applications.pot
type = POT
minimum_perc = 0
resource_name = applications
replace_edited_strings = false
keep_translations = false
source_lang = en
[o:odoo:p:odoo-16-doc:r:applications]
file_filter = locale/<lang>/LC_MESSAGES/applications.po
source_file = locale/sources/applications.pot
source_lang = en
[o:odoo:p:odoo-17-doc:r:finance]
file_filter = locale/<lang>/LC_MESSAGES/finance.po
source_file = locale/sources/finance.pot
type = POT
minimum_perc = 0
resource_name = finance
replace_edited_strings = false
keep_translations = false
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
source_lang = en
[o:odoo:p:odoo-17-doc:r:general]
file_filter = locale/<lang>/LC_MESSAGES/general.po
source_file = locale/sources/general.pot
type = POT
minimum_perc = 0
resource_name = general
replace_edited_strings = false
keep_translations = false
source_lang = en
[o:odoo:p:odoo-16-doc:r:general]
file_filter = locale/<lang>/LC_MESSAGES/general.po
source_file = locale/sources/general.pot
source_lang = en
[o:odoo:p:odoo-17-doc:r:index]
file_filter = locale/<lang>/LC_MESSAGES/index.po
source_file = locale/sources/index.pot
type = POT
minimum_perc = 0
resource_name = index
replace_edited_strings = false
keep_translations = false
source_lang = en
[o:odoo:p:odoo-16-doc:r:index]
file_filter = locale/<lang>/LC_MESSAGES/index.po
source_file = locale/sources/index.pot
source_lang = en
[o:odoo:p:odoo-17-doc:r:inventory_and_mrp]
file_filter = locale/<lang>/LC_MESSAGES/inventory_and_mrp.po
source_file = locale/sources/inventory_and_mrp.pot
type = POT
minimum_perc = 0
resource_name = inventory_and_mrp
replace_edited_strings = false
keep_translations = false
source_lang = en
[o:odoo:p:odoo-16-doc:r:inventory_and_mrp]
file_filter = locale/<lang>/LC_MESSAGES/inventory_and_mrp.po
source_file = locale/sources/inventory_and_mrp.pot
source_lang = en
[o:odoo:p:odoo-17-doc:r:marketing]
file_filter = locale/<lang>/LC_MESSAGES/marketing.po
source_file = locale/sources/marketing.pot
type = POT
minimum_perc = 0
resource_name = marketing
replace_edited_strings = false
keep_translations = false
source_lang = en
[o:odoo:p:odoo-16-doc:r:marketing]
file_filter = locale/<lang>/LC_MESSAGES/marketing.po
source_file = locale/sources/marketing.pot
source_lang = en
[o:odoo:p:odoo-17-doc:r:productivity]
file_filter = locale/<lang>/LC_MESSAGES/productivity.po
source_file = locale/sources/productivity.pot
type = POT
minimum_perc = 0
resource_name = productivity
replace_edited_strings = false
keep_translations = false
source_lang = en
[o:odoo:p:odoo-16-doc:r:productivity]
file_filter = locale/<lang>/LC_MESSAGES/productivity.po
source_file = locale/sources/productivity.pot
source_lang = en
[o:odoo:p:odoo-17-doc:r:sales]
file_filter = locale/<lang>/LC_MESSAGES/sales.po
source_file = locale/sources/sales.pot
type = POT
minimum_perc = 0
resource_name = sales
replace_edited_strings = false
keep_translations = false
source_lang = en
[o:odoo:p:odoo-16-doc:r:sales]
file_filter = locale/<lang>/LC_MESSAGES/sales.po
source_file = locale/sources/sales.pot
source_lang = en
[o:odoo:p:odoo-17-doc:r:services]
file_filter = locale/<lang>/LC_MESSAGES/services.po
source_file = locale/sources/services.pot
type = POT
minimum_perc = 0
resource_name = services
replace_edited_strings = false
keep_translations = false
source_lang = en
[o:odoo:p:odoo-16-doc:r:services]
file_filter = locale/<lang>/LC_MESSAGES/services.po
source_file = locale/sources/services.pot
source_lang = en
[o:odoo:p:odoo-17-doc:r:user_settings]
file_filter = locale/<lang>/LC_MESSAGES/settings.po
source_file = locale/sources/settings.pot
type = POT
minimum_perc = 0
resource_name = settings
replace_edited_strings = false
keep_translations = false
source_lang = en
[o:odoo:p:odoo-16-doc:r:user_settings]
file_filter = locale/<lang>/LC_MESSAGES/settings.po
source_file = locale/sources/settings.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
source_lang = en
[o:odoo:p:odoo-17-doc:r:websites]
file_filter = locale/<lang>/LC_MESSAGES/websites.po
source_file = locale/sources/websites.pot
type = POT
minimum_perc = 0
resource_name = websites
replace_edited_strings = false
keep_translations = false
source_lang = en

View File

@@ -26,7 +26,7 @@ SOURCE_DIR = content
HTML_BUILD_DIR = $(BUILD_DIR)/html
ifdef VERSIONS
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/master
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/saas-16.3
endif
ifneq ($(CURRENT_LANG),en)
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/$(CURRENT_LANG)
@@ -86,13 +86,12 @@ static: $(HTML_BUILD_DIR)/_static/style.css
# 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
@python tests/main.py $(SOURCE_DIR)/administration $(SOURCE_DIR)/applications $(SOURCE_DIR)/contributing $(SOURCE_DIR)/developer $(SOURCE_DIR)/services 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; \
@read -p "Enter 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

21
conf.py
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 = 'master'
version = release = 'saas-16.3'
# `current_branch` is the technical name of the current branch.
# E.g., saas-15.4 -> saas-15.4; 12.0 -> 12.0, master -> master (*).
@@ -213,8 +213,6 @@ 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",
'saas-17.1': "Odoo Online",
'17.0': "Odoo 17",
'saas-16.4': "Odoo Online",
'saas-16.3': "Odoo Online",
'saas-16.2': "Odoo Online",
@@ -223,6 +221,7 @@ versions_names = {
'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`
@@ -479,24 +478,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 ""}' \

View File

@@ -3,62 +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/odoo_accounts
administration/odoo_sh

View File

@@ -1,116 +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 <duplicate_premise>` of the database.
#. 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>` cannot be hosted on-premise as
that type of hosting does not support those versions. 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.
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.

View File

@@ -0,0 +1,49 @@
:show-content:
=======
Install
=======
Depending on the intended use case, there are multiple ways to install Odoo - or not install it at
all.
- :doc:`Online <install/online>` is the easiest way to use Odoo in production or to try it.
- :doc:`Packaged installers <install/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 <install/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 <maintain/enterprise>` at any time (except for the
source install).
.. toctree::
install/online
install/packages
install/source
install/deploy
install/cdn
install/email_gateway

View File

@@ -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

View File

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

Before

Width:  |  Height:  |  Size: 64 KiB

After

Width:  |  Height:  |  Size: 64 KiB

View File

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 29 KiB

View File

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View File

@@ -3,7 +3,7 @@ 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
internet-facing server. It follows :doc:`installation <../install>`, and is
not generally necessary for a development systems that is not exposed on the
internet.
@@ -179,31 +179,21 @@ or 'verify-full'
Builtin server
==============
Odoo includes built-in HTTP, cron, and live-chat servers, using either multi-threading or
multi-processing.
Odoo includes built-in HTTP servers, using either multithreading or
multiprocessing.
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.
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.
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``.
* 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
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.
.. warning:: multiprocessing mode currently isn't available on Windows
Worker number calculation
-------------------------
@@ -224,12 +214,18 @@ Needed RAM = #worker * ( (light_worker_ratio * light_worker_ram_estimation) + (h
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.
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
--------------------
@@ -330,27 +326,21 @@ in ``/etc/nginx/sites-enabled/odoo.conf`` set:
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-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;
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-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;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";
proxy_cookie_flags session_id samesite=lax secure; # requires nginx 1.19.8
}
# common gzip
@@ -358,31 +348,6 @@ in ``/etc/nginx/sites-enabled/odoo.conf`` set:
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
==========================
@@ -399,30 +364,38 @@ 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.
To run cron jobs for an Odoo deployment as a WSGI application requires
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.
* 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
--------
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 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.
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).
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:
@@ -440,71 +413,51 @@ Odoo static files are located in each module's :file:`static/` folder, so static
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.
.. 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 ``map`` and ``location`` blocks should be
added to serve static files via NGINX.
Using the above NGINX (https) configuration, the following location block should be added to
serve static files via NGINX.
.. code-block:: nginx
.. code-block:: nginx
map $sent_http_content_type $content_type_csp {
default "";
~image/ "default-src 'none'";
}
location @odoo {
# copy-paste the content of the / location block
}
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>`.
# 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'``.
.. tabs::
Using the above NGINX (https) configuration, the following location block should be added to
serve static files via NGINX.
.. group-tab:: Debian package
.. code-block:: nginx
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'``.
location @odoo {
# copy-paste the content of the / location block
}
The ``root`` and ``try_files`` should be:
# Serve static files right away
location ~ ^/[^/]+/static/.+$ {
root /opt/odoo;
try_files /community/odoo/addons$uri /community/addons$uri /enterprise$uri @odoo;
expires 24h;
}
.. 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;
.. 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
-------------------
@@ -778,7 +731,6 @@ Here are the supported browsers:
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/

View File

@@ -0,0 +1,21 @@
======
Online
======
Online instances are accessed using any web browser and do not require a local installation.
Demo
----
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.
Odoo Online
-----------
`Odoo Online <https://www.odoo.com/trial>`_ provides private instances 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.

View File

@@ -16,8 +16,8 @@ Official **Community** and **Enterprise** packages can be downloaded from the `O
<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.
It is required to be logged in as a paying customer or partner to download the Enterprise
packages.
.. _install/packages/linux:
@@ -54,10 +54,10 @@ Odoo needs a `PostgreSQL <https://www.postgresql.org/>`_ server to run properly.
$ 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.
`wkhtmltopdf` is not installed through **pip** and must be installed manually in `version 0.12.5
<https://github.com/wkhtmltopdf/wkhtmltopdf/releases/tag/0.12.5>`_ 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
----------

View File

@@ -1,6 +1,6 @@
==============
Source install
==============
======
Source
======
The source 'installation' is not about installing Odoo but running it directly from the source
instead.
@@ -118,11 +118,7 @@ Prepare
Python
~~~~~~
Odoo requires **Python 3.10** or later to run.
.. versionchanged:: 17
Minimum requirement updated from Python 3.7 to Python 3.10.
Odoo requires **Python 3.7** or later to run.
.. tabs::
@@ -229,7 +225,7 @@ PostgreSQL user.
.. code-block:: console
$ sudo -u postgres createuser -d -R -S $USER
$ sudo -u postgres createuser -s $USER
$ createdb $USER
.. note::
@@ -254,7 +250,7 @@ PostgreSQL user.
.. code-block:: console
$ sudo -u postgres createuser -d -R -S $USER
$ sudo -u postgres createuser -s $USER
$ createdb $USER
.. note::
@@ -413,10 +409,10 @@ Dependencies
$ 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.
`wkhtmltopdf` is not installed through **pip** and must be installed manually in `version 0.12.5
<https://github.com/wkhtmltopdf/wkhtmltopdf/releases/tag/0.12.5>`_ 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:
@@ -479,7 +475,7 @@ http://localhost:8069 in a web browser and log into the Odoo database with the b
account: use `admin` as the email and, again, `admin` as the password.
.. tip::
- From there, create and manage new :doc:`users <../../applications/general/users>`.
- From there, create and manage new :doc:`users <../../applications/general/users/manage_users>`.
- The user account used to log into Odoo's web interface differs from the :option:`--db_user
<odoo-bin -r>` CLI argument.

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

View File

@@ -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`

View File

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 23 KiB

View File

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

View File

@@ -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 can take several days due to the success of the offer.
- 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

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

View File

@@ -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 :doc:`../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

View File

Before

Width:  |  Height:  |  Size: 6.9 KiB

After

Width:  |  Height:  |  Size: 6.9 KiB

View File

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

View File

@@ -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

View File

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View File

Before

Width:  |  Height:  |  Size: 7.5 KiB

After

Width:  |  Height:  |  Size: 7.5 KiB

View File

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

View File

Before

Width:  |  Height:  |  Size: 9.8 KiB

After

Width:  |  Height:  |  Size: 9.8 KiB

View File

@@ -0,0 +1,111 @@
=======================
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 <duplicate_premise>` of the database.
#. 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>` cannot be hosted on-premise as
that type of hosting does not support those versions. 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.
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.

View File

@@ -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!

View File

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

View File

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 35 KiB

View File

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

View File

@@ -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`

View File

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View File

Before

Width:  |  Height:  |  Size: 6.0 KiB

After

Width:  |  Height:  |  Size: 6.0 KiB

View File

@@ -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

View File

Before

Width:  |  Height:  |  Size: 9.5 KiB

After

Width:  |  Height:  |  Size: 9.5 KiB

View File

Before

Width:  |  Height:  |  Size: 4.6 KiB

After

Width:  |  Height:  |  Size: 4.6 KiB

View File

Before

Width:  |  Height:  |  Size: 89 KiB

After

Width:  |  Height:  |  Size: 89 KiB

View File

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

View File

Before

Width:  |  Height:  |  Size: 6.9 KiB

After

Width:  |  Height:  |  Size: 6.9 KiB

View File

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -0,0 +1,124 @@
.. _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.4
- |green|
- N/A
- N/A
- August 2023
-
* - Odoo saas~16.3
- |red|
- N/A
- N/A
- June 2023
-
* - Odoo saas~16.2
- |red|
- N/A
- N/A
- March 2023
-
* - Odoo saas~16.1
- |red|
- N/A
- N/A
- February 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
- November 2023 (planned)
* - **Odoo 13.0**
- |red|
- |red|
- |red|
- October 2019
- October 2022
.. 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
==============================================
Odoo 12.0, 11.0, 10.0, 9.0, and 8.0 are not supported anymore, on any platform.
OpenERP 7.0, 6.1, 6.0 and 5.0 are not supported anymore, on any platform.
TinyERP 4.0, 3.0, 2.0 and 1.0 are 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/>`_.

View File

@@ -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 :doc:`installation guide <../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,

View File

@@ -1,35 +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 parameters:
- 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
.. note::
**A red banner at the top of the screen is displayed on the neutralized database so that it can
be seen immediately.**

View File

@@ -1,78 +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.
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`

View File

@@ -1,149 +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-database>`.
.. _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 </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`

View File

@@ -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:

View File

@@ -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.

View File

@@ -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 :doc:`installation of Odoo <../../install/source>`:
.. code-block:: bash

View File

@@ -1,172 +0,0 @@
:show-content:
==========
On-premise
==========
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
: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
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
* 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
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
: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
: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
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
.. 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

View File

@@ -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

View File

@@ -1,63 +0,0 @@
======
Geo IP
======
.. note::
This documentation only applies to On-premise databases.
Installation
============
#. Download both the GeoLite2 City and Country
`databases <https://dev.maxmind.com/geoip/geoip2/geolite2/>`_. You should end up with two files
called :file:`GeoLite2-City.mmdb` and :file:`GeoLite2-Country.mmdb`.
#. Move the files to the folder :file:`/usr/share/GeoIP/`.
.. code-block:: bash
mv ~/Downloads/GeoLite2-City.mmdb /usr/share/GeoIP/
mv ~/Downloads/GeoLite2-Country.mmdb /usr/share/GeoIP/
#. Restart the server
.. note::
If you don't want to locate the geoip database in :file:`/usr/share/GeoIP/`, use the
:option:`--geoip-city-db <odoo-bin --geoip-city-db>` and
:option:`--geoip-country-db <odoo-bin --geoip-country-db>` options of the Odoo command line
interface. These options take the absolute path to the GeoIP database file and use it as the
GeoIP database. For example:
.. code-block:: bash
./odoo-bin --geoip-city-db= ~/Downloads/GeoLite2-City.mmdb
.. seealso::
- :doc:`CLI documentation </developer/reference/cli>`.
Test GeoIP geolocation in your Odoo website
===========================================
Edit a web page to include some geo-ip information such as the country name of the current
request IP address. To do so:
#. Go to your website. Open the web page that you want to test ``GeoIP``.
#. Choose :menuselection:`Customize --> HTML/CSS/JS Editor`.
#. Add the following piece of XML in the page :
.. code-block:: xml
<h1 class="text-center" t-esc="request.geoip.country.name or 'geoip failure'"/>
#. Save and refresh the page.
Geo-ip is working if you read your country name displayed in bold in the middle of the page.
In case you read "**geoip failure**" instead then the geolocalization failed. The common causes are:
#. The browsing IP address is the localhost (``127.0.0.1``) or a local area network one. If you
don't know, you can access your website using mobile data.
#. You are using a reverse-proxy (apache, nginx) in front of Odoo but didn't start Odoo with the
proxy-mode enabled. See :option:`proxy mode <odoo-bin --proxy-mode>`.
#. The GeoIP database is corrupt, missing or unaccessible. In such case a warning was logged in the
server logs.

View File

@@ -1,131 +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 saas~17.1
- |green|
- N/A
- N/A
- January 2024
-
* - **Odoo 17.0**
- |green|
- |green|
- |green|
- November 2023
- October 2026 (planned)
* - Odoo saas~16.4
- |green|
- N/A
- N/A
- August 2023
-
* - Odoo saas~16.3
- |red|
- N/A
- N/A
- June 2023
-
* - Odoo saas~16.2
- |red|
- N/A
- N/A
- March 2023
-
* - Odoo saas~16.1
- |red|
- N/A
- N/A
- February 2023
-
* - **Odoo 16.0**
- |green|
- |green|
- |green|
- October 2022
- November 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
- November 2024 (planned)
* - **Odoo 14.0**
- |red|
- |red|
- |red|
- October 2020
- November 2023
* - **Odoo 13.0**
- |red|
- |red|
- |red|
- October 2019
- October 2022
* - Older versions
- |red|
- |red|
- |red|
- Before 2019
- Before 2022
.. 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>

View File

@@ -1,372 +1,226 @@
: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
=======
.. _administration/upgrade:
.. toctree::
:titlesonly:
An upgrade is the process of moving your database from an older version to a newer :doc:`supported
version <supported_versions>` (e.g., Odoo 14.0 to Odoo 16.0). Frequently upgrading is essential as
each version comes with new and improved features, bug fixes, and security patches.
upgrade/odoo_online
upgrade/odoo_sh
upgrade/on_premise
upgrade/faq
.. _upgrade_faq/rolling_release:
.. spoiler:: Automatic upgrades: Odoo Online's Rolling Release process
The Rolling Release process allows Odoo Online customers to upgrade their database directly from
a message prompt sent to the database administrator as soon as a new version is released. The
invitation to upgrade is only sent if no issues are detected during the automatic tests.
.. image:: upgrade/rr-upgrade-message.png
:alt: The upgrade message prompt on the top right of the database
It is strongly recommended to manually :ref:`test the upgrade first <upgrade/test_your_db>`.
Clicking :guilabel:`I want to test first` redirects to `the database manager
<https://www.odoo.com/my/databases/>`_, where it is possible to request an upgraded test database
and check it for any discrepancies.
It is **not** recommended to click :guilabel:`Upgrade Now` without testing first, as it
immediately triggers the live production database upgrade.
If the Rolling Release process detects an issue with the upgrade, it will be deactivated until
the issue is resolved.
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-database>` while also :doc:`upgrading the source code of your custom
modules </developer/howtos/upgrade_custom_db>`.
.. note:: |assistance-contact|
.. seealso::
- :ref:`upgrade/sla`
Upgrading in a nutshell
-----------------------
.. _upgrade/process-workflow:
#. Request an upgraded test database (see :ref:`obtaining an upgraded test database
<upgrade/request-test-database>`).
Process workflow
================
#. 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`).
The upgrade process in a nutshell:
#. Thoroughly test the upgraded database (see :ref:`testing the new version of the database
<upgrade/test_your_db>`).
#. 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).
#. Report any issue encountered during the testing to Odoo via the `support page
<https://odoo.com/help?stage=migration>`__.
.. 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>`
#. 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.
.. _upgrade/testing-phase:
#. 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/upgrade-prod>`).
Testing
=======
#. Report any issue encountered during the upgrade to Odoo via the `support page
<https://odoo.com/help?stage=post_upgrade>`__.
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).
.. _upgrade/request-test-database:
Once you receive your upgraded test database, check that all data, processes, and functionality are
still correct and working as expected.
Obtaining an upgraded test database
-----------------------------------
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.
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://odoo.com/my/databases>`_, or your `Odoo.sh
project <https://odoo.sh/project>`_.
.. 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://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
<https://upgrade.odoo.com>`_.
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>
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.
.. _upgrade/upgrade_report:
.. 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/test_your_db:
Testing the new version of the database
---------------------------------------
It is essential to spend some time testing 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
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.
This list is **not** exhaustive. Extend the example to your other apps based on your use of Odoo.
If you face an issue while testing your upgraded test database, you can request the assistance of
Odoo via the `support page <https://odoo.com/help?stage=migration>`__ by selecting the option
related to testing the upgrade. In any case, it is essential to report any
problem encountered during the testing to fix it before upgrading your production database.
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.
.. 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/upgrade-prod:
Upgrading the production database
---------------------------------
Once the :ref:`tests <upgrade/test_your_db>` 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. It
can be planned in coordination with Odoo's upgrade support analysts, reachable via the `support page
<https://odoo.com/help>`__.
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.**
If you do not find any discrepancies, you can move on to the upgrade of your production database.
.. important::
- Going into production without first testing may lead to:
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.
- 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)
.. note::
Test databases are neutered and features are disabled to prevent them from having an impact on
the production database:
The process of upgrading a production database is similar to upgrading a test database with a few
exceptions.
#. 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.
.. tabs::
.. _upgrade/test-db-request:
.. group-tab:: Odoo Online
Request a test database
=======================
The process is similar to :ref:`obtaining an upgraded test database
<upgrade/request-test-database>`, except for the purpose option, which must be set to
:guilabel:`Production` instead of :guilabel:`Test`.
Follow the instructions available per hosting type on the `website form
<https://upgrade.odoo.com>`_ and select *Testing* purpose.
.. 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.
.. image:: upgrade/test-purpose.png
:align: center
:alt: Selection of the "Testing" purpose in the upgrade form on Odoo
.. group-tab:: Odoo.sh
.. _upgrade/test-guidance:
The process is similar to :ref:`obtaining an upgraded test database
<upgrade/request-test-database>` on the :guilabel:`Production` branch.
Test guidance
=============
.. image:: upgrade/odoo-sh-prod.png
:alt: View from the upgrade tab
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.
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.
.. todo:: change link "test scenario" once the related doc is published
.. 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/test-assistance:
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`.
Assistance
----------
.. group-tab:: On-premise
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>`_.
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`:
Under the *Ticket Description* section, select *An issue related to my upgrade* ticket type.
.. code-block:: console
.. 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
$ python <(curl -s https://upgrade.odoo.com/upgrade) production -d <your db name> -t <target version>
.. 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.
An upgraded production database can also be requested via the `Upgrade page
<https://upgrade.odoo.com/>`_.
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.
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.
.. 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.
.. note::
* The purpose of the test phase is not to correct existing data or configurations in your
database.
* |assistance-contact|
In case of an issue with your production database, you can request the assistance of Odoo via the
`support page <https://odoo.com/help?stage=post_upgrade>`__ by selecting the option related to
the upgrade in production.
.. _upgrade/steps-production:
The production launch
=====================
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.
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:
- 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)
.. _upgrade/production-assistance:
Assistance
----------
If you encounter issues or problems in the **production database**, please get in touch with **Odoo
Support**:
#. 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*.
.. note::
After upgrading to production, the support will be provided by the Support team instead of the
Upgrade team.
#. 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.
.. 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.
.. _upgrade/assistance:
Help
====
.. _upgrade/contact:
Contact our upgrade service support
-----------------------------------
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.
.. _upgrade/supported-versions:
Supported versions
------------------
Please note that Odoo provides support and bug fixing only for the three last major versions of
Odoo.
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).
.. seealso::
:doc:`maintain/supported_versions`
.. _upgrade/sla:
Service-level agreement (SLA)
-----------------------------
=============================
With Odoo Enterprise, upgrading a database to the most recent version of Odoo is **free**, including
any support required to rectify potential discrepancies in the upgraded database.
@@ -376,7 +230,7 @@ Information about the upgrade services included in the Enterprise Licence is ava
upgrade services you can expect.
Upgrade services covered by the SLA
===================================
-----------------------------------
Databases hosted on Odoo's cloud platforms (Odoo Online and Odoo.sh) or self-hosted (On-Premise) can
benefit from upgrade services at all times for:
@@ -391,7 +245,7 @@ Upgrade services are limited to the technical conversion and adaptation of a dat
modules and data) to make it compatible with the version targeted by the upgrade.
Upgrade services not covered by the SLA
=======================================
---------------------------------------
The following upgrade-related services are **not** included:
@@ -402,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

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: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

View File

@@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -0,0 +1,132 @@
=======
Odoo.sh
=======
.. _upgrade/odoo_sh/overview:
Overview
========
Odoo.sh is integrated with the upgrade platform to make the upgrade process easier.
.. note::
The :guilabel:`Upgrade` tab is available in the branches view. It is only available for valid
projects with a valid production build.
.. image:: odoo_sh/odoo-sh-menu.png
:align: center
:alt: Click on the upgrade menu
The suggested upgrade steps on Odoo.sh are:
#. On a :guilabel:`Development` branch, upgrade your custom modules to keep them compatible with the
new version and thoroughly **test them**.
#. Switch that branch to the :guilabel:`Staging` branch, **upgrade** the last daily production
backup and **test it**. Write upgrade scripts if necessary.
#. Trigger the production upgrade from your :guilabel:`Production` branch and sit tight.
.. seealso::
- :doc:`../../administration/upgrade`
- :doc:`Upgrade FAQ <../upgrade/faq>`
- :doc:`Introduction to Odoo.sh <../odoo_sh/overview/introduction>`
.. _upgrade/odoo_sh/custom-modules:
Upgrade your custom modules
===========================
The first step is to upgrade your custom modules to keep them compatible with the new version. Fork
your :guilabel:`Production` branch in the :guilabel:`Development` stage, then go to the settings of
your :guilabel:`Development` branch and select the Odoo version you target. If needed, modify your
code to be compatible with the new version. Make sure to **test** your features are still working
correctly.
.. note::
Depending on your contract, the upgrade of your custom modules can be done by yourself, by your
Partner or by Odoo (if you hold a subscription including maintenance of customizations).
.. _upgrade/odoo_sh/testing-phase:
Upgrade your database on a staging branch
=========================================
Take the upgraded development branch and drag & drop it to :guilabel:`Staging`.
Go to the :guilabel:`Upgrade` tab and select the :guilabel:`target version`. Then, click on
:guilabel:`Test Upgrade`.
.. image:: odoo_sh/odoo-sh-staging.png
:align: center
:alt: Odoo.sh project and tabs
The **latest production daily automatic backup** is sent to the
`upgrade platform <https://www.upgrade.odoo.com>`_ to start the upgrade test process.
.. note::
You can follow the upgrade process by going to the :guilabel:`Upgrade` menu of your
:guilabel:`Production` branch.
When the upgraded backup is ready on the `upgrade platform <https://www.upgrade.odoo.com>`_, it is
automatically downloaded back to your project.
The branch is now in a **special mode**: each time a **commit is pushed** on the branch, a
**restore operation** of the upgraded backup occurs, and an **update of all the custom modules**
happens. This allows you to quickly iterate on your custom modules upgrade scripts. The log file of
the upgrade process can be found at :file:`~/logs/upgrade.log` in your newly upgraded staging build.
.. note::
- The **special upgrade mode** is automatically closed after 30 days.
- It may happen that custom modules are no longer needed after an upgrade. Custom modules in the
upgraded database are set to be updated. If the modules are missing in the code, the update
fails, thus failing the whole process. An empty module with a manifest and possibly some custom
upgrade script are necessary to clean up the database. The complete removal of the module has
to be handled afterwards.
Functionally test your upgraded database
========================================
Now that the test upgraded database is available on your staging branch, **thoroughly test it** and
make sure everything runs as it's supposed to. Once you are satisfied with the result, you are ready
to upgrade your production database.
Production upgrade
==================
Once you are happy with your testing, you can start the process on the :guilabel:`Production`
branch.
On your :guilabel:`Production` branch, go to the :guilabel:`Upgrade` tab, select the
:guilabel:`targeted version` and click on the :guilabel:`start Upgrade` button.
.. image:: odoo_sh/odoo-sh-prod.png
:align: center
:alt: View from the upgrade tab
The actual process is **triggered as soon as you push a new commit** in your branch. Make sure you
are pushing code that is compatible with the new version. For example by merging the code from your
upgraded staging branch.
.. note::
You can see the progress of the upgrade by going to the :guilabel:`Upgrade` tab of the main
branch.
.. image:: odoo_sh/odoo-sh-progress.png
:align: center
:alt: View showing the progress of the upgrade
.. important::
Your database is unavailable throughout the process.
.. note::
If anything goes wrong, the platform automatically reverts the upgrade, the same as it would be
for a regular update. In case of success, a backup is always made.
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.
.. note::
It may happen that custom modules are no longer needed after an upgrade. Custom modules in the
upgraded database are set to be updated. If the modules are missing in the code, the update
fails, thus failing the whole process. An empty module with a manifest and possibly some custom
upgrade script are necessary to clean up the database. The complete removal of the module has to
be handled afterwards.

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

View File

@@ -0,0 +1,76 @@
==========
On-Premise
==========
Test upgrade request
====================
There are two ways to create your upgrade request.
Upgrade request via command line
--------------------------------
For technically-advanced users and partners, the upgrade process can be initiated via the following
command line on the server where the database is hosted:
:command:`python <(curl -s https://upgrade.odoo.com/upgrade) test -d <your db name> -t
<target version>`
The above command creates the database dump, sends it to the upgrade platform, and initiates the
automated upgrade process. During the upgrade, you can follow the live logs on your screen.
Once the upgrade process is completed successfully, the upgraded database is restored onto the
server (as a duplicate test database).
Upgrade request via the Odoo Upgrade Portal
-------------------------------------------
#. Download a recent copy of your database and select the option :guilabel:`pg_dump custom format
(without filestore)`.
#. Upload this dump file at https://upgrade.odoo.com and select *Testing* as the aim.
Odoo performs the automated upgrade process. Once it is completed, you receive an email with a
link to download the upgrade database dump file.
#. Import the upgraded database into your on-premise environment and manually test all processes and
workflows.
.. note::
- For security reasons, only the person who submitted the upgrade request is able to download it.
- Any problem found during testing should be reported via the `helpdesk
<https://odoo.com/help>`_.
- For storage reasons, the copy of your database 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 that were extracted from in-database records into
attachments (if there are any) and new standard Odoo files from the targeted Odoo version
(like 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.
Upgrade your production database
================================
Once you have completed the testing successfully, you can proceed to upgrade your live database in
production. Download your upgraded database from the link in the email and import it onto your live
environment.
.. important::
- Same as in the test phase, when requesting an upgrade for production purposes, the copy of your
database is submitted without a filestore.
- Therefore, the upgraded database filestore must be merged with the production filestore before
deploying the new version.
Custom modules (if applicable)
==============================
The upgrade of a database that contains custom modules is a two-step process.
#. The standard upgrade is done when your upgrade request is completed.
#. Your custom modules also need to be upgraded to keep them compatible with the new version.
Depending on your contract, the upgrade of your custom modules can be done
#. by yourself.
#. by your Partner.
#. by Odoo (if you hold a subscription to 'Maintenance of Customizations').

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

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