From 5427ad29589c88862e146ed62deb5ffcb69490b8 Mon Sep 17 00:00:00 2001 From: Martin Trigaux Date: Thu, 2 Mar 2023 07:45:16 +0000 Subject: [PATCH] [I18N] *: export source translations closes odoo/documentation#3741 X-original-commit: e4bf31cde730a3b496c2093ac2addaeb4dec607c Signed-off-by: Martin Trigaux (mat) --- locale/sources/administration.pot | 6331 +++-- locale/sources/applications.pot | 12 +- locale/sources/contributing.pot | 3024 +- locale/sources/developer.pot | 37122 ++++++++++++++++--------- locale/sources/finance.pot | 23415 ++++++++++------ locale/sources/general.pot | 4147 +-- locale/sources/index.pot | 6 +- locale/sources/inventory_and_mrp.pot | 4010 ++- locale/sources/legal.pot | 3315 +-- locale/sources/marketing.pot | 1615 +- locale/sources/productivity.pot | 2787 +- locale/sources/sales.pot | 3461 ++- locale/sources/services.pot | 756 +- locale/sources/websites.pot | 1125 +- 14 files changed, 58397 insertions(+), 32729 deletions(-) diff --git a/locale/sources/administration.pot b/locale/sources/administration.pot index e1683ca40..889842ba4 100644 --- a/locale/sources/administration.pot +++ b/locale/sources/administration.pot @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Odoo 14.0\n" +"Project-Id-Version: Odoo saas-15.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-05-18 07:12+0200\n" +"POT-Creation-Date: 2023-03-03 14:24+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -16,2426 +16,3677 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../../content/administration.rst:3 -msgid "Administration" +#: ../../content/administration.rst:8 +msgid "Install and Maintain" msgstr "" -#: ../../content/administration/db_management.rst:3 -msgid "Database Management" +#: ../../content/administration.rst:10 +msgid "These guides provide instructions on how to install, maintain and upgrade Odoo databases." msgstr "" -#: ../../content/administration/db_management/db_online.rst:6 -msgid "Online Database management" +#: ../../content/administration.rst:13 +msgid ":doc:`History of Versions `" msgstr "" -#: ../../content/administration/db_management/db_online.rst:8 -msgid "To manage your databases, access the `database management page `__ (you will have to sign in). Then click on the `Manage Your Databases `__ button." +#: ../../content/administration/install.rst:5 +msgid "Install" msgstr "" -#: ../../content/administration/db_management/db_online.rst:16 -msgid "Make sure you are connected as the administrator of the database you want to manage - many operations depends on indentifying you remotely to that database." +#: ../../content/administration/install/cdn.rst:3 +msgid "Setting up a Content Delivery Network (CDN)" msgstr "" -#: ../../content/administration/db_management/db_online.rst:20 -msgid "Several actions are available:" -msgstr "" - -#: ../../content/administration/db_management/db_online.rst:26 -msgid ":ref:`Upgrade `" -msgstr "" - -#: ../../content/administration/db_management/db_online.rst:26 -msgid "Upgrade your database to the latest Odoo version to enjoy cutting-edge features" -msgstr "" - -#: ../../content/administration/db_management/db_online.rst:30 -msgid ":ref:`Duplicate `" -msgstr "" - -#: ../../content/administration/db_management/db_online.rst:29 -msgid "Make an exact copy of your database, if you want to try out new apps or new flows without compromising your daily operations" -msgstr "" - -#: ../../content/administration/db_management/db_online.rst:32 -msgid ":ref:`Rename `" -msgstr "" - -#: ../../content/administration/db_management/db_online.rst:33 -msgid "Rename your database (and its URL)" -msgstr "" - -#: ../../content/administration/db_management/db_online.rst:35 -msgid "**Backup**" -msgstr "" - -#: ../../content/administration/db_management/db_online.rst:35 -msgid "Download an instant backup of your database; note that we back up databases daily according to our Odoo Cloud SLA" -msgstr "" - -#: ../../content/administration/db_management/db_online.rst:38 -msgid ":ref:`Domains `" -msgstr "" - -#: ../../content/administration/db_management/db_online.rst:38 -msgid "Configure custom domains to access your database via another URL" -msgstr "" - -#: ../../content/administration/db_management/db_online.rst:40 -msgid ":ref:`Delete `" -msgstr "" - -#: ../../content/administration/db_management/db_online.rst:41 -msgid "Delete a database instantly" -msgstr "" - -#: ../../content/administration/db_management/db_online.rst:44 -msgid "Contact Support" -msgstr "" - -#: ../../content/administration/db_management/db_online.rst:43 -msgid "Access our `support page `__ with the correct database already selected" -msgstr "" - -#: ../../content/administration/db_management/db_online.rst:49 -#: ../../content/administration/db_upgrade.rst:11 -msgid "Upgrade" -msgstr "" - -#: ../../content/administration/db_management/db_online.rst:51 -msgid "Upgrading your database to a newer version of Odoo is a complex operation that require time and caution. It is extremely important that you fully test the process before upgrading your production database." -msgstr "" - -#: ../../content/administration/db_management/db_online.rst:55 -msgid "Odoo releases new versions regularly (at least once a year), and upgrading your database to enjoy new Odoo features is part of the Odoo Online experience." -msgstr "" - -#: ../../content/administration/db_management/db_online.rst:58 -msgid "The upgrade process can take some time, especially if you use multiple apps or apps that manage sensitive data (e.g. Accounting, Inventory, etc.). In general, the 'smaller' the database, the quickest the upgrade. 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." -msgstr "" - -#: ../../content/administration/db_management/db_online.rst:64 -msgid "Unfortunately, it is impossible to give time estimates for every upgrade request, since Odoo.com will test manually every database upgrade at least once and will need to correct/adapt changes made to the standard Odoo Apps (e.g. through Studio or through a Success Pack) on a case-by-case basis. This can make the process slower, since requests are treated in the order they arrive. This is especially true in the months following the release of a new major version, which can lengthen the upgrade delay significantly." -msgstr "" - -#: ../../content/administration/db_management/db_online.rst:72 -msgid "The upgrade process is quite simple from your point of view:" -msgstr "" - -#: ../../content/administration/db_management/db_online.rst:74 -msgid "You request a test upgrade" -msgstr "" - -#: ../../content/administration/db_management/db_online.rst:75 -msgid "Once all tests have been validated **by you**, you upgrade your actual database" -msgstr "" - -#: ../../content/administration/db_management/db_online.rst:77 -msgid "The process to request a test or a production (*actual*) upgrade is the same." -msgstr "" - -#: ../../content/administration/db_management/db_online.rst:79 -msgid "First, make sure to be connected to the database you want to upgrade and access the `database management page `__." -msgstr "" - -#: ../../content/administration/db_management/db_online.rst:82 -msgid "You have to have an active session with access to the Settings app in the database you want to upgrade for the button to be visible." -msgstr "" - -#: ../../content/administration/db_management/db_online.rst:85 -msgid "On the line of the database you want to upgrade, click on the \"Cog\" menu. If an newer version of Odoo is available, you will see an 'Upgrade' button." -msgstr "" - -#: ../../content/administration/db_management/db_online.rst:92 -msgid "You have the possibility to choose the target version of the upgrade. By default, we select the highest available version available for your database; if you were already in the process of testing an upgrade, we will automatically select the version you were already testing (even if we released a more recent version during your tests)." -msgstr "" - -#: ../../content/administration/db_management/db_online.rst:101 -msgid "By clicking on the \"Test upgrade\" button, an upgrade request will be generated. Only one request can be made at time for each database; if a request has already been made, you will see an 'Upgrade Queued' note instead and asking another request will not be possible." -msgstr "" - -#: ../../content/administration/db_management/db_online.rst:106 -msgid "A test upgrade will create a copy of your database, upgrade it and make it available to you automatically once successful. If this is the first test you request for this particular database, a manual testing phase will be done by Odoo.com - this could take time (up to several weeks). Subsequent requests will not go through that manual testing step and will usually be made available in a few hours. Once the test database is available, you should receive an e-mail with the URL of the test database." -msgstr "" - -#: ../../content/administration/db_management/db_online.rst:114 -msgid "**Testing your database is the most important step of the upgrade process!** Even though we test all upgrades manually, we do not know your work processes. A change in standard worfklows of Odoo in new versions might require you to change internal processes, or some of the customizations you made through Odoo Studio might not work properly. *It is up to you to make sure that everything works as it should!* You can report issues with your test database through our `Support page `__." -msgstr "" - -#: ../../content/administration/db_management/db_online.rst:122 -msgid "Make sure to do one last test of your upgrade right before the final upgrade (e.g. the day before) to ensure everything will run smoothly. Downgrading is not possible and post-poning an upgrade is always easier than being prevented to work by an upgrade issue after the fact!" -msgstr "" - -#: ../../content/administration/db_management/db_online.rst:127 -msgid "Once you are ready and you have validated all your tests, you can click again on the Upgrade button and confirm by clicking on Upgrade (the button with the little rocket!) to switch your production database to the new version. Your database will then be taken offline within the next 10 minutes and will be upgraded automatically; you receive a confirmation e-mail once the process is completed." -msgstr "" - -#: ../../content/administration/db_management/db_online.rst:138 -msgid "Your database will be taken offline during the upgrade (usually between 30min up to several hours for big databases), so make sure to plan your migration during non-business hours." -msgstr "" - -#: ../../content/administration/db_management/db_online.rst:144 -msgid "Duplicating a database" -msgstr "" - -#: ../../content/administration/db_management/db_online.rst:146 -msgid "Database duplication, renaming, custom DNS, etc. is not available for trial databases on our Online platform. Paid Databases and \"One App Free\" database can duplicate without problem." -msgstr "" - -#: ../../content/administration/db_management/db_online.rst:151 -msgid "In the line of the database you want to duplicate, you will have a few buttons. To duplicate your database, just click **Duplicate**. You will have to give a name to your duplicate, then click **Duplicate Database**." -msgstr "" - -#: ../../content/administration/db_management/db_online.rst:158 -msgid "If you do not check the \"For testing purposes\" checkbox when duplicating a database, all external communication will remain active:" -msgstr "" - -#: ../../content/administration/db_management/db_online.rst:161 -msgid "Emails are sent" -msgstr "" - -#: ../../content/administration/db_management/db_online.rst:163 -msgid "Payments are processed (in the e-commerce or Subscriptions apps, for example)" -msgstr "" - -#: ../../content/administration/db_management/db_online.rst:166 -msgid "Delivery orders (shipping providers) are sent" -msgstr "" - -#: ../../content/administration/db_management/db_online.rst:168 -msgid "Etc." -msgstr "" - -#: ../../content/administration/db_management/db_online.rst:170 -msgid "Make sure to check the checkbox \"For testing purposes\" if you want these behaviours to be disabled." -msgstr "" - -#: ../../content/administration/db_management/db_online.rst:173 -msgid "After a few seconds, you will be logged in your duplicated database. Notice that the url uses the name you chose for your duplicated database." -msgstr "" - -#: ../../content/administration/db_management/db_online.rst:178 -msgid "Duplicate databases expire automatically after 15 days." -msgstr "" - -#: ../../content/administration/db_management/db_online.rst:186 -msgid "Rename a Database" -msgstr "" - -#: ../../content/administration/db_management/db_online.rst:188 -msgid "To rename your database, make sure you are connected to the database you want to rename, access the `database management page `__ and click **Rename**. You will have to give a new name to your database, then click **Rename Database**." -msgstr "" - -#: ../../content/administration/db_management/db_online.rst:199 -msgid "Deleting a Database" -msgstr "" - -#: ../../content/administration/db_management/db_online.rst:201 -msgid "You can only delete databases of which you are the administrator." -msgstr "" - -#: ../../content/administration/db_management/db_online.rst:203 -msgid "When you delete your database all the data will be permanently lost. The deletion is instant and for all the Users. We advise you to do an instant backup of your database before deleting it, since the last automated daily backup may be several hours old at that point." -msgstr "" - -#: ../../content/administration/db_management/db_online.rst:209 -msgid "From the `database management page `__, on the line of the database you want to delete, click on the \"Delete\" button." -msgstr "" - -#: ../../content/administration/db_management/db_online.rst:216 -msgid "Read carefully the warning message that will appear and proceed only if you fully understand the implications of deleting a database:" -msgstr "" - -#: ../../content/administration/db_management/db_online.rst:222 -msgid "After a few seconds, the database will be deleted and the page will reload automatically." -msgstr "" - -#: ../../content/administration/db_management/db_online.rst:226 -msgid "If you need to re-use this database name, it will be immediately available." -msgstr "" - -#: ../../content/administration/db_management/db_online.rst:228 -msgid "It is not possible to delete a database if it is expired or linked to a Subscription. In these cases contact `Odoo Support `__" -msgstr "" - -#: ../../content/administration/db_management/db_online.rst:232 -msgid "If you want to delete your Account, please contact `Odoo Support `__" -msgstr "" - -#: ../../content/administration/db_management/db_premise.rst:6 -msgid "On-premises Database management" -msgstr "" - -#: ../../content/administration/db_management/db_premise.rst:9 -msgid "Register a database" -msgstr "" - -#: ../../content/administration/db_management/db_premise.rst:11 -msgid "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 Epiration Date in the About menu (Odoo 9) or in the Settings Dashboard (Odoo 10)." -msgstr "" - -#: ../../content/administration/db_management/db_premise.rst:19 -msgid "Registration Error Message" -msgstr "" - -#: ../../content/administration/db_management/db_premise.rst:21 -msgid "If you are unable to register your database, you will likely encounter this message:" -msgstr "" - -#: ../../content/administration/db_management/db_premise.rst:30 -#: ../../content/administration/db_management/db_premise.rst:109 -#: ../../content/administration/db_management/db_premise.rst:137 -msgid "Solutions" -msgstr "" - -#: ../../content/administration/db_management/db_premise.rst:32 -msgid "Do you have a valid Enterprise subscription?" -msgstr "" - -#: ../../content/administration/db_management/db_premise.rst:34 -msgid "Check if your subscription details get the tag \"In Progress\" on your `Odoo Account `__ or with your Account Manager" -msgstr "" - -#: ../../content/administration/db_management/db_premise.rst:38 -msgid "Have you already linked a database with your subscription reference?" -msgstr "" - -#: ../../content/administration/db_management/db_premise.rst:40 -msgid "You can link only one database per subscription. (Need a test or a development database? `Find a partner `__)" -msgstr "" - -#: ../../content/administration/db_management/db_premise.rst:44 -msgid "You can unlink the old database yourself on your `Odoo Contract `__ with the button \"Unlink database\"" -msgstr "" - -#: ../../content/administration/db_management/db_premise.rst:51 -msgid "A confirmation message will appear; make sure this is the correct database as it will be deactivated shortly:" -msgstr "" - -#: ../../content/administration/db_management/db_premise.rst:58 -msgid "Do you have the updated version of Odoo 9?" -msgstr "" - -#: ../../content/administration/db_management/db_premise.rst:60 -#: ../../content/administration/db_management/db_premise.rst:170 -msgid "From July 2016 onward, Odoo 9 now automatically change the uuid of a duplicated database; a manual operation is no longer required." -msgstr "" - -#: ../../content/administration/db_management/db_premise.rst:63 -msgid "If it's not the case, you may have multiple databases sharing the same UUID. Please check on your `Odoo Contract `__, a short message will appear specifying which database is problematic:" -msgstr "" - -#: ../../content/administration/db_management/db_premise.rst:72 -msgid "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 `." -msgstr "" - -#: ../../content/administration/db_management/db_premise.rst:75 -msgid "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." -msgstr "" - -#: ../../content/administration/db_management/db_premise.rst:79 -msgid "Check your network and firewall settings" -msgstr "" - -#: ../../content/administration/db_management/db_premise.rst:81 -msgid "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:" -msgstr "" - -#: ../../content/administration/db_management/db_premise.rst:85 -msgid "services.odoo.com on port 443 (or 80)" -msgstr "" - -#: ../../content/administration/db_management/db_premise.rst:86 -msgid "services.openerp.com on port 443 (or 80) for older deployments" -msgstr "" - -#: ../../content/administration/db_management/db_premise.rst:88 -msgid "Once you activated your database, you must keep these ports open, as the Update notification runs once a week." -msgstr "" - -#: ../../content/administration/db_management/db_premise.rst:94 -msgid "Error message due to too many users" -msgstr "" - -#: ../../content/administration/db_management/db_premise.rst:96 -msgid "If you have more users in your local database than provisionned in your Odoo Enterprise subscription, you may encounter this message:" -msgstr "" - -#: ../../content/administration/db_management/db_premise.rst:105 -msgid "When the message appears you have 30 days before the expiration. The countdown is updated everyday." -msgstr "" - -#: ../../content/administration/db_management/db_premise.rst:111 -msgid "**Add more users** on your subscription: follow the link and Validate the upsell quotation and pay for the extra users." -msgstr "" - -#: ../../content/administration/db_management/db_premise.rst:113 -msgid "**Deactivate users** as explained in this `documentation `_ and **Reject** the upsell quotation." -msgstr "" - -#: ../../content/administration/db_management/db_premise.rst:116 -msgid "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 ` to make the message disappear right away." -msgstr "" - -#: ../../content/administration/db_management/db_premise.rst:123 -msgid "Database expired error message" -msgstr "" - -#: ../../content/administration/db_management/db_premise.rst:125 -msgid "If your database reaches its expiration date before your renew your subscription, you will encounter this message:" -msgstr "" - -#: ../../content/administration/db_management/db_premise.rst:133 -msgid "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." -msgstr "" - -#: ../../content/administration/db_management/db_premise.rst:141 -msgid "Renew your subscription: follow the link and renew your subscription - note that" -msgstr "" - -#: ../../content/administration/db_management/db_premise.rst:140 -msgid "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." -msgstr "" - -#: ../../content/administration/db_management/db_premise.rst:143 -msgid "Contact our `Support `__" -msgstr "" - -#: ../../content/administration/db_management/db_premise.rst:145 -msgid "None of those solutions worked for you? Please contact our `Support `__" -msgstr "" - -#: ../../content/administration/db_management/db_premise.rst:154 -msgid "Duplicate a database" -msgstr "" - -#: ../../content/administration/db_management/db_premise.rst:156 -msgid "You can duplicate your database by accessing the database manager on your server (/web/database/manager). In this page, you can easily duplicate your database (among other things)." -msgstr "" - -#: ../../content/administration/db_management/db_premise.rst:164 -msgid "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." -msgstr "" - -#: ../../content/administration/db_management/db_premise.rst:173 -msgid "The database uuid is currently accessible from the menu :menuselection:`Settings --> Technical --> System Parameters`, we advise you to use a `uuid generator `_ 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." -msgstr "" - -#: ../../content/administration/db_management/hosting_changes.rst:6 -msgid "Hosting Changes" -msgstr "" - -#: ../../content/administration/db_management/hosting_changes.rst:8 -msgid "You may want to move your Odoo database from one hosting solution to another. Depending on the platforms, you have to do it by yourself or contact our support team first." -msgstr "" - -#: ../../content/administration/db_management/hosting_changes.rst:12 -msgid "From on-premises to Odoo Online" -msgstr "" - -#: ../../content/administration/db_management/hosting_changes.rst:14 -#: ../../content/administration/db_management/hosting_changes.rst:48 -msgid "Odoo Online is not compatible with **non-standard apps**." -msgstr "" - -#: ../../content/administration/db_management/hosting_changes.rst:16 -msgid "Create a :ref:`duplicate ` of your database: in this duplicate, uninstall all the **non-standard apps**." -msgstr "" - -#: ../../content/administration/db_management/hosting_changes.rst:17 -msgid "Grab a \"dump with filestore\" of your database by using the Database Manager." -msgstr "" - -#: ../../content/administration/db_management/hosting_changes.rst:18 -#: ../../content/administration/db_management/hosting_changes.rst:51 -msgid "**If you have time constraints, contact us earlier to schedule the transfer.**" -msgstr "" - -#: ../../content/administration/db_management/hosting_changes.rst:19 -#: ../../content/administration/db_management/hosting_changes.rst:52 -msgid "`Create a support ticket `_ and attach the dump (if the file is too large, use any file transfer service and attach the link to your ticket). Also include your subscription number and the URL you want to use for your database (e.g.: my-company.odoo.com)." -msgstr "" - -#: ../../content/administration/db_management/hosting_changes.rst:20 -#: ../../content/administration/db_management/hosting_changes.rst:53 -msgid "We will make sure your database is compatible and upload it to our cloud. In case of technical issues, we will get in touch with you." -msgstr "" - -#: ../../content/administration/db_management/hosting_changes.rst:21 -#: ../../content/administration/db_management/hosting_changes.rst:54 -msgid "It's done!" -msgstr "" - -#: ../../content/administration/db_management/hosting_changes.rst:24 -msgid "From on-premises to Odoo.sh" -msgstr "" - -#: ../../content/administration/db_management/hosting_changes.rst:26 -#: ../../content/administration/db_management/hosting_changes.rst:43 -msgid "Follow the :ref:`Import your database section of the Odoo.sh documentation `." -msgstr "" - -#: ../../content/administration/db_management/hosting_changes.rst:27 -msgid "...and voilà!" -msgstr "" - -#: ../../content/administration/db_management/hosting_changes.rst:30 -msgid "From Odoo Online to on-premises" -msgstr "" - -#: ../../content/administration/db_management/hosting_changes.rst:32 -#: ../../content/administration/db_management/hosting_changes.rst:40 -msgid "Log into `your Odoo Online user portal `_ and look for the version number of your database." -msgstr "" - -#: ../../content/administration/db_management/hosting_changes.rst:33 -msgid "If your database does not run a :ref:`major version ` of Odoo, you cannot host it on-premises yet, you have to upgrade it first to a new major version. (*e.g.: If your database runs Odoo 12.3 which is not a major version, you have to upgrade it first to Odoo 13.0 or 14.0.*)" -msgstr "" - -#: ../../content/administration/db_management/hosting_changes.rst:34 -#: ../../content/administration/db_management/hosting_changes.rst:42 -msgid "Download a backup of your database by clicking on the \"Gear\" icon next to your database name then :menuselection:`Download` (if the download fails due to your backup file being too large, contact `our support `_)" -msgstr "" - -#: ../../content/administration/db_management/hosting_changes.rst:35 -#: ../../content/administration/db_management/hosting_changes.rst:60 -msgid "Restore it from the database manager on your local server." -msgstr "" - -#: ../../content/administration/db_management/hosting_changes.rst:38 -msgid "From Odoo Online to Odoo.sh" -msgstr "" - -#: ../../content/administration/db_management/hosting_changes.rst:41 -msgid "If your database does not run a :ref:`major version ` of Odoo, you cannot host it on Odoo.sh yet, you have to upgrade it first to a new major version. (*e.g.: If your database runs Odoo 12.3 which is not a major version, you have to upgrade it first to Odoo 13.0 or 14.0.*)" -msgstr "" - -#: ../../content/administration/db_management/hosting_changes.rst:46 -msgid "From Odoo.sh to Odoo Online" -msgstr "" - -#: ../../content/administration/db_management/hosting_changes.rst:50 -msgid "Uninstall all the **non-standard apps**: test it in a staging build first, then do it in your production build." -msgstr "" - -#: ../../content/administration/db_management/hosting_changes.rst:57 -msgid "From Odoo.sh to on-premises" -msgstr "" - -#: ../../content/administration/db_management/hosting_changes.rst:59 -msgid "Grab a :ref:`backup of your Odoo.sh production database `." -msgstr "" - -#: ../../content/administration/db_upgrade.rst:16 -#: ../../content/administration/odoo_sh/advanced/containers.rst:7 -#: ../../content/administration/odoo_sh/advanced/submodules.rst:9 -#: ../../content/administration/odoo_sh/getting_started/branches.rst:7 -#: ../../content/administration/odoo_sh/getting_started/builds.rst:9 -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:7 -#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:9 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:7 -#: ../../content/administration/odoo_sh/getting_started/status.rst:7 -#: ../../content/administration/odoo_sh/overview.rst:4 -msgid "Overview" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:21 -msgid "The upgrade process" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:23 -msgid "This documentation is for our *On-Premise* (self-hosted) and *Odoo.sh* customers. If you are hosted Online, please check our :ref:`instruction page for our Online (SaaS) customers `." -msgstr "" - -#: ../../content/administration/db_upgrade.rst:29 -msgid "Definition" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:31 -msgid "An upgrade is switching to a newer version of Odoo (e.g., Odoo 13.0 to Odoo 14.0)" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:33 -msgid "An upgrade does not cover:" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:35 -msgid "changing :ref:`Editions ` (i.e., Community to Enterprise edition)" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:36 -msgid "switching :ref:`hosting type ` (i.e., On-Premise to Online or Odoo.sh)" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:38 -msgid "migration from another ERP to Odoo" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:40 -#: ../../content/administration/db_upgrade.rst:98 -#: ../../content/administration/db_upgrade.rst:230 -#: ../../content/administration/db_upgrade.rst:360 -#: ../../content/administration/db_upgrade.rst:369 -#: ../../content/administration/db_upgrade.rst:381 -msgid "|assistance-contact|" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:45 -msgid "Process workflow" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:47 -msgid "The upgrade process in a nutshell:" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:49 -msgid "You create a test upgrade request." -msgstr "" - -#: ../../content/administration/db_upgrade.rst:0 -msgid "The request is processed by Odoo:" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:0 -msgid "This happens via an automated process that runs the database through an upgrade script and takes between 20 and 120 minutes. Only if an issue(s) arises will we have to intervene manually and adjust the script specifically to your database until the upgrade succeeds." -msgstr "" - -#: ../../content/administration/db_upgrade.rst:54 -msgid "Odoo delivers a test database." -msgstr "" - -#: ../../content/administration/db_upgrade.rst:55 -msgid "You test your database for possible discrepancies (see :ref:`db-upgrade/test-guidance`)" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:56 -msgid "If there are any discrepancies, you report them to the Upgrade support team via the :ref:`Help portal `." -msgstr "" - -#: ../../content/administration/db_upgrade.rst:58 -msgid "We will fix the issues and send you a new test database." -msgstr "" - -#: ../../content/administration/db_upgrade.rst:59 -msgid "Once you 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." -msgstr "" - -#: ../../content/administration/db_upgrade.rst:62 -msgid "Odoo delivers the production database through the automated process." -msgstr "" - -#: ../../content/administration/db_upgrade.rst:63 -msgid "You restore it in your Production environment a few short hours later and continue working on the newly upgraded database." -msgstr "" - -#: ../../content/administration/db_upgrade.rst:69 -msgid "Service Level Agreement" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:72 -msgid "What is covered by the Enterprise Licence?" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:74 -msgid "Databases hosted on Odoo’s Cloud platforms (Saas and Odoo.sh) or On-Premise (Self-Hosting) enjoy the following service at all times." -msgstr "" - -#: ../../content/administration/db_upgrade.rst:77 -msgid "The upgrade of:" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:79 -msgid "standard applications" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:80 -msgid "Studio customization (as long as the Studio app is still active)" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:81 -msgid "customizations done by our consulting and developer services *if* they are covered by a ‘Maintenance of Customisations’ subscription" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:84 -msgid "The Upgrade Service is limited to the technical conversion and adaptation of your database (standard modules and data) to make it compatible with the targeted version." -msgstr "" - -#: ../../content/administration/db_upgrade.rst:88 -msgid "What upgrading does NOT cover" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:90 -msgid "The cleaning of pre-existing data & configuration while upgrading" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:91 -msgid "Any new developments and/or upgrade of your own :ref:`custom modules `" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:93 -msgid "`Training `_ on the new version" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:95 -msgid "You can get more information about your Enterprise Licence on our :ref:`Odoo Enterprise Subscription Agreement ` page." -msgstr "" - -#: ../../content/administration/db_upgrade.rst:103 -#: ../../content/administration/odoo_sh/getting_started.rst:4 -msgid "Get started" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:105 -msgid "The upgrade process varies depending on where your database is hosted." -msgstr "" - -#: ../../content/administration/db_upgrade.rst:110 -msgid "Online (SaaS)" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:112 -msgid "If you are hosted Online, please check our :ref:`instruction page for our Online (SaaS) customers `." -msgstr "" - -#: ../../content/administration/db_upgrade.rst:118 -msgid "Odoo.sh" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:120 -msgid "If you are Odoo.sh hosted, check our :doc:`specific instructions to be able to upgrade `." -msgstr "" - -#: ../../content/administration/db_upgrade.rst:126 -msgid "On-Premise" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:128 -msgid "There are two possibilities:" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:130 -msgid "Via the interface of our `website form `_" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:0 -msgid "For technically-advanced users and partners, via the following command line (to be used on the machine where your database is hosted):" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:0 -msgid "``python <(curl -s beta.upgrade.odoo.com/upgrade) test -d -t 14.0``" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:136 -msgid "What does it do?" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:138 -msgid "The above command will dump your database to a file, then send it to the upgrade platform for upgrade, displaying you the live logs, then restore the upgraded database back on your server as a duplicate test database." -msgstr "" - -#: ../../content/administration/db_upgrade.rst:145 -msgid "Steps" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:150 -msgid "The testing phase" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:155 -msgid "Test process" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:157 -msgid "Also referred to as the pre-production phase, the test phase allows you to review an upgraded version of your database without affecting your production database in any way." -msgstr "" - -#: ../../content/administration/db_upgrade.rst:160 -msgid "We suggest that you run the test upgrade process at least once, but you can do it as often as you want (one at a time)." -msgstr "" - -#: ../../content/administration/db_upgrade.rst:163 -msgid "Once you receive your upgraded test database, you should check that all data, processes and functionality are still correct and working as expected." -msgstr "" - -#: ../../content/administration/db_upgrade.rst:166 -msgid "If you do find discrepancies, you'll be able to:" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:0 -msgid ":ref:`Report your issues `" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:0 -msgid "and/or" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:170 -msgid "Ask for a new :ref:`test request ` after the reported issues have been fixed in the upgrade script." -msgstr "" - -#: ../../content/administration/db_upgrade.rst:173 -msgid "When you do not find any discrepancies, you'll be able to:" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:175 -msgid "Move on to the upgrade of your :ref:`production database `." -msgstr "" - -#: ../../content/administration/db_upgrade.rst:180 -msgid "Request a test database" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:182 -msgid "When filling the `website form `_, select *Testing* purpose." -msgstr "" - -#: ../../content/administration/db_upgrade.rst:191 -msgid "Test guidance" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:193 -msgid "Every business and organization has its own operational needs and will have to test its specific Odoo instance respectively. However, we recommend you look at `the test scenario `_ we created, a high-level idea of what you should test and look out for." -msgstr "" - -#: ../../content/administration/db_upgrade.rst:198 -#: ../../content/administration/deployment/deploy.rst:408 -msgid "Todo" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:198 -msgid "change link \"test scenario\" once the related doc is published" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:203 -#: ../../content/administration/db_upgrade.rst:262 -#: ../../content/administration/db_upgrade.rst:394 -msgid "Assistance" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:205 -msgid "If you encounter issues or problems in the **test database**, please contact the Odoo Upgrade Support:" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:208 -#: ../../content/administration/db_upgrade.rst:267 -msgid "Connect to our `Odoo Support page `_." -msgstr "" - -#: ../../content/administration/db_upgrade.rst:209 -msgid "Under the *Ticket Description* section, select *An issue related to my upgrade* ticket type." -msgstr "" - -#: ../../content/administration/db_upgrade.rst:216 -msgid "If you choose another *Ticket Description* type, the request will be redirected to another team than the upgrade one and will slow down the processing and response time." -msgstr "" - -#: ../../content/administration/db_upgrade.rst:219 -#: ../../content/administration/db_upgrade.rst:275 -msgid "Please provide as much detail as you can. Where applicable, illustrate the current and previous flows with videos and/or screenshots. This will avoid clarifying questions and speed up the resolution process significantly." -msgstr "" - -#: ../../content/administration/db_upgrade.rst:228 -msgid "The purpose of the test phase is not to correct existing data or configurations in your database." -msgstr "" - -#: ../../content/administration/db_upgrade.rst:235 -msgid "The production launch" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:240 -msgid "Production goes live" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:242 -msgid "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." -msgstr "" - -#: ../../content/administration/db_upgrade.rst:245 -msgid "After your :ref:`tests ` are completed to your satisfaction, submit the request to upgrade your production database via our `website form `_. Select *Production* purpose." -msgstr "" - -#: ../../content/administration/db_upgrade.rst:254 -msgid "Going into production without first testing may lead to:" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:256 -msgid "business interruptions (e.g. no longer having the possibility to validate an action)" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:257 -msgid "poor customer experiences (e.g. an eCommerce website that does not work correctly)" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:264 -msgid "If you encounter issues or problems in the **production database**, please contact the **Odoo Support**:" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:268 -msgid "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*." -msgstr "" - -#: ../../content/administration/db_upgrade.rst:272 -msgid "After upgrading to production, the support will be provided by the Support team instead of the Upgrade team." -msgstr "" - -#: ../../content/administration/db_upgrade.rst:284 -msgid "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." -msgstr "" - -#: ../../content/administration/db_upgrade.rst:290 -msgid "FAQ" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:295 -msgid "Why upgrade?" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:297 -msgid "You benefit from the latest features of the :ref:`new major version ` released by Odoo." -msgstr "" - -#: ../../content/administration/db_upgrade.rst:299 -msgid "If you are in an :ref:`unsupported version `, you get a new version with support." -msgstr "" - -#: ../../content/administration/db_upgrade.rst:305 -msgid "When to upgrade?" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:307 -msgid "Whenever you want. You can make your upgrade request as soon as a new version is released on our `website form `_." -msgstr "" - -#: ../../content/administration/db_upgrade.rst:313 -msgid "Availability of the new version" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:315 -msgid "Please kindly note that as soon as we announce the release of a new major version (usually at the end of year), the Upgrade Service team needs to adapt the upgrade scripts to it, which is why the new version is not immediately available for existing databases." -msgstr "" - -#: ../../content/administration/db_upgrade.rst:322 -msgid "Finalization of the upgrade (:abbr:`ETA (Estimated Time of Arrival)`)" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:324 -msgid "Unfortunately, it is impossible to give time estimates for every upgrade request. Odoo offers so many possibilities (e.g. branding, workflows, customization, etc) that it can get tricky to upgrade, and translate to the new structure. If you use multiple apps managing sensitive data (e.g., Accounting, Inventory, etc.), some cases may still require a human intervention, making the process slower." -msgstr "" - -#: ../../content/administration/db_upgrade.rst:330 -msgid "This is especially true during the first months following the release of a new major version, which can significantly lengthen the upgrade delay." -msgstr "" - -#: ../../content/administration/db_upgrade.rst:333 -msgid "In general, the ‘smaller’ the database, the quickest the upgrade. 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." -msgstr "" - -#: ../../content/administration/db_upgrade.rst:337 -msgid "So, in a nutshell, what can impact your upgrade lead time?" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:339 -msgid "Source & targeted versions" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:340 -msgid "Installed apps" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:341 -msgid "Volume of data" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:342 -msgid "Amount of customization (models, fields, methods, workflows, reports, website, etc.)" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:343 -msgid "Installation of new apps or configuration changes after the start of the test phase" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:345 -msgid "Usually, the delays experienced during the first request (waiting time between the time you submitted your first request for a test upgrade) can generally give you an idea of the time to wait for the production request." -msgstr "" - -#: ../../content/administration/db_upgrade.rst:352 -msgid "Upgrade of the custom modules" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:354 -msgid "As stated in our :doc:`../legal/terms/enterprise`, section :ref:`charges_standard`, this optional service is subject to additional fees." -msgstr "" - -#: ../../content/administration/db_upgrade.rst:357 -msgid "If you have a custom code, you can choose to have it upgraded by our services, by one of our `partners `_ or you can do it yourself." -msgstr "" - -#: ../../content/administration/db_upgrade.rst:365 -msgid "Editions change (from Community to Enterprise)" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:367 -msgid "An upgrade does not cover a change of `Editions `_" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:374 -msgid "Switching the hosting types (Self-hosted vs Online vs Odoo.sh)" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:376 -msgid "An upgrade does not cover a change of `Hosting types `_." -msgstr "" - -#: ../../content/administration/db_upgrade.rst:378 -msgid "Open the following link to get :doc:`more information about how to change your hosting type `." -msgstr "" - -#: ../../content/administration/db_upgrade.rst:386 -msgid "Release Notes by version" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:388 -msgid "Open our `Release Note `_ page to get a summary of the new features and improvements made in each version." -msgstr "" - -#: ../../content/administration/db_upgrade.rst:399 -msgid "Contact our Upgrade service support" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:401 -msgid "Should you have any more questions about the upgrade, do not hesitate to send a message to `Odoo Upgrade Team `_. We will be very pleased to answer it as soon as possible." -msgstr "" - -#: ../../content/administration/db_upgrade.rst:407 -msgid "Supported versions" -msgstr "" - -#: ../../content/administration/db_upgrade.rst:409 -msgid "Please note that Odoo provides support and bug fixing only for the three last major versions of Odoo." -msgstr "" - -#: ../../content/administration/db_upgrade.rst:411 -msgid "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 a longer support (before having to upgrade again)." -msgstr "" - -#: ../../content/administration/db_upgrade.rst:415 -msgid "You can get more information about our :doc:`supported versions <../services/support/supported_versions>`." -msgstr "" - -#: ../../content/administration/deployment.rst:3 -msgid "Deployment" -msgstr "" - -#: ../../content/administration/deployment/cdn.rst:4 -msgid "Deploying with Content Delivery Networks" -msgstr "" - -#: ../../content/administration/deployment/cdn.rst:9 +#: ../../content/administration/install/cdn.rst:8 msgid "Deploying with KeyCDN_" msgstr "" -#: ../../content/administration/deployment/cdn.rst:13 +#: ../../content/administration/install/cdn.rst:12 msgid "This document will guide you through the setup of a KeyCDN_ account with your Odoo powered website." msgstr "" -#: ../../content/administration/deployment/cdn.rst:17 +#: ../../content/administration/install/cdn.rst:16 msgid "Step 1: Create a pull zone in the KeyCDN dashboard" msgstr "" -#: ../../content/administration/deployment/cdn.rst:22 +#: ../../content/administration/install/cdn.rst:21 msgid "When creating the zone, enable the CORS option in the :guilabel:`advanced features` submenu. (more on that later)" msgstr "" -#: ../../content/administration/deployment/cdn.rst:28 +#: ../../content/administration/install/cdn.rst:27 msgid "Once done, you'll have to wait a bit while KeyCDN_ is crawling your website." msgstr "" -#: ../../content/administration/deployment/cdn.rst:33 +#: ../../content/administration/install/cdn.rst:32 msgid "a new URL has been generated for your Zone, in this case it is ``http://pulltest-b49.kxcdn.com``" msgstr "" -#: ../../content/administration/deployment/cdn.rst:37 +#: ../../content/administration/install/cdn.rst:36 msgid "Step 2: Configure the odoo instance with your zone" msgstr "" -#: ../../content/administration/deployment/cdn.rst:39 +#: ../../content/administration/install/cdn.rst:38 msgid "In the Odoo back end, go to the :guilabel:`Website Settings`: menu, then activate the CDN support and copy/paste your zone URL in the :guilabel:`CDN Base URL` field. This field is only visible and configurable if you have developer mode activated." msgstr "" -#: ../../content/administration/deployment/cdn.rst:47 +#: ../../content/administration/install/cdn.rst:46 msgid "Now your website is using the CDN for the resources matching the :guilabel:`CDN filters` regular expressions." msgstr "" -#: ../../content/administration/deployment/cdn.rst:50 +#: ../../content/administration/install/cdn.rst:49 msgid "You can have a look to the HTML of your website in order to check if the CDN integration is properly working." msgstr "" -#: ../../content/administration/deployment/cdn.rst:58 +#: ../../content/administration/install/cdn.rst:57 msgid "Why should I activate CORS?" msgstr "" -#: ../../content/administration/deployment/cdn.rst:60 +#: ../../content/administration/install/cdn.rst:59 msgid "A security restriction in some browsers (Firefox and Chrome at time of writing) prevents a remotely linked CSS file to fetch relative resources on this same external server." msgstr "" -#: ../../content/administration/deployment/cdn.rst:64 +#: ../../content/administration/install/cdn.rst:63 msgid "If you don't activate the CORS option in the CDN zone, the more obvious resulting problem on a default Odoo website will be the lack of font-awesome icons because the font file declared in the font-awesome CSS won't be loaded on the remote server." msgstr "" -#: ../../content/administration/deployment/cdn.rst:69 +#: ../../content/administration/install/cdn.rst:68 msgid "Here's what you would see on your homepage in such a case:" msgstr "" -#: ../../content/administration/deployment/cdn.rst:74 +#: ../../content/administration/install/cdn.rst:73 msgid "A security error message will also appear in the browser's console:" msgstr "" -#: ../../content/administration/deployment/cdn.rst:79 +#: ../../content/administration/install/cdn.rst:78 msgid "Enabling the CORS option in the CDN fixes this issue." msgstr "" -#: ../../content/administration/deployment/deploy.rst:4 -msgid "Deploying Odoo" +#: ../../content/administration/install/deploy.rst:3 +msgid "System configuration" msgstr "" -#: ../../content/administration/deployment/deploy.rst:6 +#: ../../content/administration/install/deploy.rst:5 msgid "This document describes basic steps to set up Odoo in production or on an internet-facing server. It follows :ref:`installation `, and is not generally necessary for a development systems that is not exposed on the internet." msgstr "" -#: ../../content/administration/deployment/deploy.rst:11 -msgid "If you are setting up a public server, be sure to check our :ref:`security` recommandations!" +#: ../../content/administration/install/deploy.rst:10 +msgid "If you are setting up a public server, be sure to check our :ref:`security` recommendations!" msgstr "" -#: ../../content/administration/deployment/deploy.rst:17 +#: ../../content/administration/install/deploy.rst:15 msgid "dbfilter" msgstr "" -#: ../../content/administration/deployment/deploy.rst:19 +#: ../../content/administration/install/deploy.rst:17 msgid "Odoo is a multi-tenant system: a single Odoo system may run and serve a number of database instances. It is also highly customizable, with customizations (starting from the modules being loaded) depending on the \"current database\"." msgstr "" -#: ../../content/administration/deployment/deploy.rst:23 +#: ../../content/administration/install/deploy.rst:21 msgid "This is not an issue when working with the backend (web client) as a logged-in company user: the database can be selected when logging in, and customizations loaded afterwards." msgstr "" -#: ../../content/administration/deployment/deploy.rst:27 +#: ../../content/administration/install/deploy.rst:25 msgid "However it is an issue for non-logged users (portal, website) which aren't bound to a database: Odoo needs to know which database should be used to load the website page or perform the operation. If multi-tenancy is not used that is not an issue, there's only one database to use, but if there are multiple databases accessible Odoo needs a rule to know which one it should use." msgstr "" -#: ../../content/administration/deployment/deploy.rst:33 +#: ../../content/administration/install/deploy.rst:31 msgid "That is one of the purposes of :option:`--db-filter `: it specifies how the database should be selected based on the hostname (domain) that is being requested. The value is a `regular expression`_, possibly including the dynamically injected hostname (``%h``) or the first subdomain (``%d``) through which the system is being accessed." msgstr "" -#: ../../content/administration/deployment/deploy.rst:39 +#: ../../content/administration/install/deploy.rst:37 msgid "For servers hosting multiple databases in production, especially if ``website`` is used, dbfilter **must** be set, otherwise a number of features will not work correctly." msgstr "" -#: ../../content/administration/deployment/deploy.rst:44 +#: ../../content/administration/install/deploy.rst:42 msgid "Configuration samples" msgstr "" -#: ../../content/administration/deployment/deploy.rst:46 +#: ../../content/administration/install/deploy.rst:44 msgid "Show only databases with names beginning with 'mycompany'" msgstr "" -#: ../../content/administration/deployment/deploy.rst:48 -#: ../../content/administration/deployment/deploy.rst:60 -#: ../../content/administration/deployment/deploy.rst:155 -#: ../../content/administration/deployment/deploy.rst:281 +#: ../../content/administration/install/deploy.rst:46 +#: ../../content/administration/install/deploy.rst:58 +#: ../../content/administration/install/deploy.rst:153 +#: ../../content/administration/install/deploy.rst:276 msgid "in ``/etc/odoo.conf`` set:" msgstr "" -#: ../../content/administration/deployment/deploy.rst:55 +#: ../../content/administration/install/deploy.rst:53 msgid "Show only databases matching the first subdomain after ``www``: for example the database \"mycompany\" will be shown if the incoming request was sent to ``www.mycompany.com`` or ``mycompany.co.uk``, but not for ``www2.mycompany.com`` or ``helpdesk.mycompany.com``." msgstr "" -#: ../../content/administration/deployment/deploy.rst:68 -msgid "Setting a proper :option:`--db-filter ` is an important part of securing your deployment. Once it is correctly working and only matching a single database per hostname, it is strongly recommended to block access to the database manager screens, and to use the ``--no-database-list`` startup paramater to prevent listing your databases, and to block access to the database management screens. See also security_." +#: ../../content/administration/install/deploy.rst:67 +msgid "Setting a proper :option:`--db-filter ` is an important part of securing your deployment. Once it is correctly working and only matching a single database per hostname, it is strongly recommended to block access to the database manager screens, and to use the ``--no-database-list`` startup parameter to prevent listing your databases, and to block access to the database management screens. See also security_." msgstr "" -#: ../../content/administration/deployment/deploy.rst:78 -#: ../../content/administration/install.rst:299 -#: ../../content/administration/install.rst:460 -#: ../../content/administration/install.rst:629 +#: ../../content/administration/install/deploy.rst:76 +#: ../../content/administration/install/install.rst:339 +#: ../../content/administration/install/install.rst:526 +#: ../../content/administration/install/install.rst:746 msgid "PostgreSQL" msgstr "" -#: ../../content/administration/deployment/deploy.rst:80 +#: ../../content/administration/install/deploy.rst:78 msgid "By default, PostgreSQL only allows connection over UNIX sockets and loopback connections (from \"localhost\", the same machine the PostgreSQL server is installed on)." msgstr "" -#: ../../content/administration/deployment/deploy.rst:84 +#: ../../content/administration/install/deploy.rst:82 msgid "UNIX socket is fine if you want Odoo and PostgreSQL to execute on the same machine, and is the default when no host is provided, but if you want Odoo and PostgreSQL to execute on different machines [#different-machines]_ it will need to `listen to network interfaces`_ [#remote-socket]_, either:" msgstr "" -#: ../../content/administration/deployment/deploy.rst:89 +#: ../../content/administration/install/deploy.rst:87 msgid "Only accept loopback connections and `use an SSH tunnel`_ between the machine on which Odoo runs and the one on which PostgreSQL runs, then configure Odoo to connect to its end of the tunnel" msgstr "" -#: ../../content/administration/deployment/deploy.rst:92 +#: ../../content/administration/install/deploy.rst:90 msgid "Accept connections to the machine on which Odoo is installed, possibly over ssl (see `PostgreSQL connection settings`_ for details), then configure Odoo to connect over the network" msgstr "" -#: ../../content/administration/deployment/deploy.rst:97 -#: ../../content/administration/deployment/deploy.rst:147 -#: ../../content/administration/deployment/deploy.rst:236 -#: ../../content/administration/deployment/deploy.rst:276 +#: ../../content/administration/install/deploy.rst:95 +#: ../../content/administration/install/deploy.rst:145 +#: ../../content/administration/install/deploy.rst:231 +#: ../../content/administration/install/deploy.rst:271 msgid "Configuration sample" msgstr "" -#: ../../content/administration/deployment/deploy.rst:99 +#: ../../content/administration/install/deploy.rst:97 msgid "Allow tcp connection on localhost" msgstr "" -#: ../../content/administration/deployment/deploy.rst:100 +#: ../../content/administration/install/deploy.rst:98 msgid "Allow tcp connection from 192.168.1.x network" msgstr "" -#: ../../content/administration/deployment/deploy.rst:102 +#: ../../content/administration/install/deploy.rst:100 msgid "in ``/etc/postgresql/9.5/main/pg_hba.conf`` set:" msgstr "" -#: ../../content/administration/deployment/deploy.rst:110 +#: ../../content/administration/install/deploy.rst:108 msgid "in ``/etc/postgresql/9.5/main/postgresql.conf`` set:" msgstr "" -#: ../../content/administration/deployment/deploy.rst:121 +#: ../../content/administration/install/deploy.rst:119 msgid "Configuring Odoo" msgstr "" -#: ../../content/administration/deployment/deploy.rst:123 +#: ../../content/administration/install/deploy.rst:121 msgid "Out of the box, Odoo connects to a local postgres over UNIX socket via port 5432. This can be overridden using :ref:`the database options ` when your Postgres deployment is not local and/or does not use the installation defaults." msgstr "" -#: ../../content/administration/deployment/deploy.rst:128 +#: ../../content/administration/install/deploy.rst:126 msgid "The :ref:`packaged installers ` will automatically create a new user (``odoo``) and set it as the database user." msgstr "" -#: ../../content/administration/deployment/deploy.rst:131 +#: ../../content/administration/install/deploy.rst:129 msgid "The database management screens are protected by the ``admin_passwd`` setting. This setting can only be set using configuration files, and is simply checked before performing database alterations. It should be set to a randomly generated value to ensure third parties can not use this interface." msgstr "" -#: ../../content/administration/deployment/deploy.rst:136 +#: ../../content/administration/install/deploy.rst:134 msgid "All database operations use the :ref:`database options `, including the database management screen. For the database management screen to work requires that the PostgreSQL user have ``createdb`` right." msgstr "" -#: ../../content/administration/deployment/deploy.rst:140 +#: ../../content/administration/install/deploy.rst:138 msgid "Users can always drop databases they own. For the database management screen to be completely non-functional, the PostgreSQL user needs to be created with ``no-createdb`` and the database must be owned by a different PostgreSQL user." msgstr "" -#: ../../content/administration/deployment/deploy.rst:144 +#: ../../content/administration/install/deploy.rst:142 msgid "the PostgreSQL user *must not* be a superuser" msgstr "" -#: ../../content/administration/deployment/deploy.rst:149 +#: ../../content/administration/install/deploy.rst:147 msgid "connect to a PostgreSQL server on 192.168.1.2" msgstr "" -#: ../../content/administration/deployment/deploy.rst:150 +#: ../../content/administration/install/deploy.rst:148 msgid "port 5432" msgstr "" -#: ../../content/administration/deployment/deploy.rst:151 +#: ../../content/administration/install/deploy.rst:149 msgid "using an 'odoo' user account," msgstr "" -#: ../../content/administration/deployment/deploy.rst:152 +#: ../../content/administration/install/deploy.rst:150 msgid "with 'pwd' as a password" msgstr "" -#: ../../content/administration/deployment/deploy.rst:153 +#: ../../content/administration/install/deploy.rst:151 msgid "filtering only db with a name beginning with 'mycompany'" msgstr "" -#: ../../content/administration/deployment/deploy.rst:170 +#: ../../content/administration/install/deploy.rst:168 msgid "SSL Between Odoo and PostgreSQL" msgstr "" -#: ../../content/administration/deployment/deploy.rst:172 -msgid "Since Odoo 11.0, you can enforce ssl connection between Odoo and PostgreSQL. in Odoo the db_sslmode control the ssl security of the connection with value choosed out of 'disable', 'allow', 'prefer', 'require', 'verify-ca' or 'verify-full'" +#: ../../content/administration/install/deploy.rst:170 +msgid "Since Odoo 11.0, you can enforce ssl connection between Odoo and PostgreSQL. in Odoo the db_sslmode control the ssl security of the connection with value chosen out of 'disable', 'allow', 'prefer', 'require', 'verify-ca' or 'verify-full'" msgstr "" -#: ../../content/administration/deployment/deploy.rst:177 +#: ../../content/administration/install/deploy.rst:175 msgid "`PostgreSQL Doc `_" msgstr "" -#: ../../content/administration/deployment/deploy.rst:182 +#: ../../content/administration/install/deploy.rst:180 msgid "Builtin server" msgstr "" -#: ../../content/administration/deployment/deploy.rst:184 +#: ../../content/administration/install/deploy.rst:182 msgid "Odoo includes built-in HTTP servers, using either multithreading or multiprocessing." msgstr "" -#: ../../content/administration/deployment/deploy.rst:187 +#: ../../content/administration/install/deploy.rst:185 msgid "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." msgstr "" -#: ../../content/administration/deployment/deploy.rst:191 +#: ../../content/administration/install/deploy.rst:189 msgid "Multiprocessing is enabled by configuring :option:`a non-zero number of worker processes `, 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)" msgstr "" -#: ../../content/administration/deployment/deploy.rst:195 +#: ../../content/administration/install/deploy.rst:193 msgid "Worker limits can be configured based on the hardware configuration to avoid resources exhaustion" msgstr "" -#: ../../content/administration/deployment/deploy.rst:198 +#: ../../content/administration/install/deploy.rst:196 msgid "multiprocessing mode currently isn't available on Windows" msgstr "" -#: ../../content/administration/deployment/deploy.rst:202 +#: ../../content/administration/install/deploy.rst:199 msgid "Worker number calculation" msgstr "" -#: ../../content/administration/deployment/deploy.rst:204 +#: ../../content/administration/install/deploy.rst:201 msgid "Rule of thumb : (#CPU * 2) + 1" msgstr "" -#: ../../content/administration/deployment/deploy.rst:205 +#: ../../content/administration/install/deploy.rst:202 msgid "Cron workers need CPU" msgstr "" -#: ../../content/administration/deployment/deploy.rst:206 +#: ../../content/administration/install/deploy.rst:203 msgid "1 worker ~= 6 concurrent users" msgstr "" -#: ../../content/administration/deployment/deploy.rst:209 +#: ../../content/administration/install/deploy.rst:206 msgid "memory size calculation" msgstr "" -#: ../../content/administration/deployment/deploy.rst:211 +#: ../../content/administration/install/deploy.rst:208 msgid "We consider 20% of the requests are heavy requests, while 80% are simpler ones" msgstr "" -#: ../../content/administration/deployment/deploy.rst:212 +#: ../../content/administration/install/deploy.rst:209 msgid "A heavy worker, when all computed field are well designed, SQL requests are well designed, ... is estimated to consume around 1GB of RAM" msgstr "" -#: ../../content/administration/deployment/deploy.rst:213 +#: ../../content/administration/install/deploy.rst:210 msgid "A lighter worker, in the same scenario, is estimated to consume around 150MB of RAM" msgstr "" -#: ../../content/administration/deployment/deploy.rst:215 +#: ../../content/administration/install/deploy.rst:212 msgid "Needed RAM = #worker * ( (light_worker_ratio * light_worker_ram_estimation) + (heavy_worker_ratio * heavy_worker_ram_estimation) )" msgstr "" -#: ../../content/administration/deployment/deploy.rst:218 -#: ../../content/administration/deployment/deploy.rst:375 +#: ../../content/administration/install/deploy.rst:215 +#: ../../content/administration/install/deploy.rst:369 msgid "LiveChat" msgstr "" -#: ../../content/administration/deployment/deploy.rst:220 +#: ../../content/administration/install/deploy.rst:217 msgid "In multiprocessing, a dedicated LiveChat worker is automatically started and listening on :option:`the longpolling port ` but the client will not connect to it." msgstr "" -#: ../../content/administration/deployment/deploy.rst:224 +#: ../../content/administration/install/deploy.rst:221 msgid "Instead you must have a proxy redirecting requests whose URL starts with ``/longpolling/`` to the longpolling port. Other request should be proxied to the :option:`normal HTTP port `" msgstr "" -#: ../../content/administration/deployment/deploy.rst:228 +#: ../../content/administration/install/deploy.rst:225 msgid "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." msgstr "" -#: ../../content/administration/deployment/deploy.rst:238 +#: ../../content/administration/install/deploy.rst:233 msgid "Server with 4 CPU, 8 Thread" msgstr "" -#: ../../content/administration/deployment/deploy.rst:239 +#: ../../content/administration/install/deploy.rst:234 msgid "60 concurrent users" msgstr "" -#: ../../content/administration/deployment/deploy.rst:241 -msgid "60 users / 6 = 10 <- theorical number of worker needed" +#: ../../content/administration/install/deploy.rst:236 +msgid "60 users / 6 = 10 <- theoretical number of worker needed" msgstr "" -#: ../../content/administration/deployment/deploy.rst:242 -msgid "(4 * 2) + 1 = 9 <- theorical maximal number of worker" +#: ../../content/administration/install/deploy.rst:237 +msgid "(4 * 2) + 1 = 9 <- theoretical maximal number of worker" msgstr "" -#: ../../content/administration/deployment/deploy.rst:243 +#: ../../content/administration/install/deploy.rst:238 msgid "We'll use 8 workers + 1 for cron. We'll also use a monitoring system to measure cpu load, and check if it's between 7 and 7.5 ." msgstr "" -#: ../../content/administration/deployment/deploy.rst:244 +#: ../../content/administration/install/deploy.rst:239 msgid "RAM = 9 * ((0.8*150) + (0.2*1024)) ~= 3Go RAM for Odoo" msgstr "" -#: ../../content/administration/deployment/deploy.rst:246 +#: ../../content/administration/install/deploy.rst:241 msgid "in ``/etc/odoo.conf``:" msgstr "" -#: ../../content/administration/deployment/deploy.rst:262 +#: ../../content/administration/install/deploy.rst:257 msgid "HTTPS" msgstr "" -#: ../../content/administration/deployment/deploy.rst:264 +#: ../../content/administration/install/deploy.rst:259 msgid "Whether it's accessed via website/web client or web service, Odoo transmits authentication information in cleartext. This means a secure deployment of Odoo must use HTTPS\\ [#switching]_. SSL termination can be implemented via just about any SSL termination proxy, but requires the following setup:" msgstr "" -#: ../../content/administration/deployment/deploy.rst:269 +#: ../../content/administration/install/deploy.rst:264 msgid "Enable Odoo's :option:`proxy mode `. This should only be enabled when Odoo is behind a reverse proxy" msgstr "" -#: ../../content/administration/deployment/deploy.rst:270 +#: ../../content/administration/install/deploy.rst:265 msgid "Set up the SSL termination proxy (`Nginx termination example`_)" msgstr "" -#: ../../content/administration/deployment/deploy.rst:271 +#: ../../content/administration/install/deploy.rst:266 msgid "Set up the proxying itself (`Nginx proxying example`_)" msgstr "" -#: ../../content/administration/deployment/deploy.rst:272 +#: ../../content/administration/install/deploy.rst:267 msgid "Your SSL termination proxy should also automatically redirect non-secure connections to the secure port" msgstr "" -#: ../../content/administration/deployment/deploy.rst:278 +#: ../../content/administration/install/deploy.rst:273 msgid "Redirect http requests to https" msgstr "" -#: ../../content/administration/deployment/deploy.rst:279 +#: ../../content/administration/install/deploy.rst:274 msgid "Proxy requests to odoo" msgstr "" -#: ../../content/administration/deployment/deploy.rst:287 +#: ../../content/administration/install/deploy.rst:282 msgid "in ``/etc/nginx/sites-enabled/odoo.conf`` set:" msgstr "" -#: ../../content/administration/deployment/deploy.rst:349 +#: ../../content/administration/install/deploy.rst:343 msgid "Odoo as a WSGI Application" msgstr "" -#: ../../content/administration/deployment/deploy.rst:351 +#: ../../content/administration/install/deploy.rst:345 msgid "It is also possible to mount Odoo as a standard WSGI_ application. Odoo provides the base for a WSGI launcher script as ``odoo-wsgi.example.py``. That script should be customized (possibly after copying it from the setup directory) to correctly set the configuration directly in :mod:`odoo.tools.config` rather than through the command-line or a configuration file." msgstr "" -#: ../../content/administration/deployment/deploy.rst:357 +#: ../../content/administration/install/deploy.rst:351 msgid "However the WSGI server will only expose the main HTTP endpoint for the web client, website and webservice API. Because Odoo does not control the creation of workers anymore it can not setup cron or livechat workers" msgstr "" -#: ../../content/administration/deployment/deploy.rst:362 +#: ../../content/administration/install/deploy.rst:356 msgid "Cron Workers" msgstr "" -#: ../../content/administration/deployment/deploy.rst:364 +#: ../../content/administration/install/deploy.rst:358 msgid "To run cron jobs for an Odoo deployment as a WSGI application requires" msgstr "" -#: ../../content/administration/deployment/deploy.rst:366 +#: ../../content/administration/install/deploy.rst:360 msgid "A classical Odoo (run via ``odoo-bin``)" msgstr "" -#: ../../content/administration/deployment/deploy.rst:367 +#: ../../content/administration/install/deploy.rst:361 msgid "Connected to the database in which cron jobs have to be run (via :option:`odoo-bin -d`)" msgstr "" -#: ../../content/administration/deployment/deploy.rst:369 +#: ../../content/administration/install/deploy.rst:363 msgid "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" msgstr "" -#: ../../content/administration/deployment/deploy.rst:377 +#: ../../content/administration/install/deploy.rst:371 msgid "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." msgstr "" -#: ../../content/administration/deployment/deploy.rst:382 +#: ../../content/administration/install/deploy.rst:376 msgid "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." msgstr "" -#: ../../content/administration/deployment/deploy.rst:387 +#: ../../content/administration/install/deploy.rst:381 msgid "The solutions to support livechat/motifications in a WSGI application are:" msgstr "" -#: ../../content/administration/deployment/deploy.rst:389 -msgid "Deploy a threaded version of Odoo (instread of a process-based preforking one) and redirect only requests to URLs starting with ``/longpolling/`` to that Odoo, this is the simplest and the longpolling URL can double up as the cron instance." +#: ../../content/administration/install/deploy.rst:383 +msgid "Deploy a threaded version of Odoo (instead of a process-based preforking one) and redirect only requests to URLs starting with ``/longpolling/`` to that Odoo, this is the simplest and the longpolling URL can double up as the cron instance." msgstr "" -#: ../../content/administration/deployment/deploy.rst:393 +#: ../../content/administration/install/deploy.rst:387 msgid "Deploy an evented Odoo via ``odoo-gevent`` and proxy requests starting with ``/longpolling/`` to :option:`the longpolling port `." msgstr "" -#: ../../content/administration/deployment/deploy.rst:398 +#: ../../content/administration/install/deploy.rst:392 msgid "Serving Static Files" msgstr "" -#: ../../content/administration/deployment/deploy.rst:400 +#: ../../content/administration/install/deploy.rst:394 msgid "For development convenience, Odoo directly serves all static files in its modules. This may not be ideal when it comes to performances, and static files should generally be served by a static HTTP server." msgstr "" -#: ../../content/administration/deployment/deploy.rst:404 +#: ../../content/administration/install/deploy.rst:398 msgid "Odoo static files live in each module's ``static/`` folder, so static files can be served by intercepting all requests to :samp:`/{MODULE}/static/{FILE}`, and looking up the right module (and file) in the various addons paths." msgstr "" -#: ../../content/administration/deployment/deploy.rst:408 +#: ../../content/administration/install/deploy.rst:402 +#: ../../content/administration/upgrade.rst:122 +msgid "Todo" +msgstr "" + +#: ../../content/administration/install/deploy.rst:402 msgid "test whether it would be interesting to serve filestored attachments via this, and how (e.g. possibility of mapping ir.attachment id to filestore hash in the database?)" msgstr "" -#: ../../content/administration/deployment/deploy.rst:415 +#: ../../content/administration/install/deploy.rst:409 msgid "Security" msgstr "" -#: ../../content/administration/deployment/deploy.rst:417 +#: ../../content/administration/install/deploy.rst:411 msgid "For starters, keep in mind that securing an information system is a continuous process, not a one-shot operation. At any moment, you will only be as secure as the weakest link in your environment." msgstr "" -#: ../../content/administration/deployment/deploy.rst:421 +#: ../../content/administration/install/deploy.rst:415 msgid "So please do not take this section as the ultimate list of measures that will prevent all security problems. It's only intended as a summary of the first important things you should be sure to include in your security action plan. The rest will come from best security practices for your operating system and distribution, best practices in terms of users, passwords, and access control management, etc." msgstr "" -#: ../../content/administration/deployment/deploy.rst:427 +#: ../../content/administration/install/deploy.rst:421 msgid "When deploying an internet-facing server, please be sure to consider the following security-related topics:" msgstr "" -#: ../../content/administration/deployment/deploy.rst:430 +#: ../../content/administration/install/deploy.rst:424 msgid "Always set a strong super-admin admin password, and restrict access to the database management pages as soon as the system is set up. See :ref:`db_manager_security`." msgstr "" -#: ../../content/administration/deployment/deploy.rst:433 +#: ../../content/administration/install/deploy.rst:427 msgid "Choose unique logins and strong passwords for all administrator accounts on all databases. Do not use 'admin' as the login. Do not use those logins for day-to-day operations, only for controlling/managing the installation. *Never* use any default passwords like admin/admin, even for test/staging databases." msgstr "" -#: ../../content/administration/deployment/deploy.rst:438 +#: ../../content/administration/install/deploy.rst:432 msgid "Do **not** install demo data on internet-facing servers. Databases with demo data contain default logins and passwords that can be used to get into your systems and cause significant trouble, even on staging/dev systems." msgstr "" -#: ../../content/administration/deployment/deploy.rst:442 +#: ../../content/administration/install/deploy.rst:436 msgid "Use appropriate database filters ( :option:`--db-filter `) to restrict the visibility of your databases according to the hostname. See :ref:`db_filter`. You may also use :option:`-d ` to provide your own (comma-separated) list of available databases to filter from, instead of letting the system fetch them all from the database backend." msgstr "" -#: ../../content/administration/deployment/deploy.rst:449 +#: ../../content/administration/install/deploy.rst:443 msgid "Once your ``db_name`` and ``db_filter`` are configured and only match a single database per hostname, you should set ``list_db`` configuration option to ``False``, to prevent listing databases entirely, and to block access to the database management screens (this is also exposed as the :option:`--no-database-list ` command-line option)" msgstr "" -#: ../../content/administration/deployment/deploy.rst:455 +#: ../../content/administration/install/deploy.rst:449 msgid "Make sure the PostgreSQL user (:option:`--db_user `) is *not* a super-user, and that your databases are owned by a different user. For example they could be owned by the ``postgres`` super-user if you are using a dedicated non-privileged ``db_user``. See also :ref:`setup/deploy/odoo`." msgstr "" -#: ../../content/administration/deployment/deploy.rst:460 +#: ../../content/administration/install/deploy.rst:454 msgid "Keep installations updated by regularly installing the latest builds, either via GitHub or by downloading the latest version from https://www.odoo.com/page/download or http://nightly.odoo.com" msgstr "" -#: ../../content/administration/deployment/deploy.rst:464 +#: ../../content/administration/install/deploy.rst:458 msgid "Configure your server in multi-process mode with proper limits matching your typical usage (memory/CPU/timeouts). See also :ref:`builtin_server`." msgstr "" -#: ../../content/administration/deployment/deploy.rst:467 +#: ../../content/administration/install/deploy.rst:461 msgid "Run Odoo behind a web server providing HTTPS termination with a valid SSL certificate, in order to prevent eavesdropping on cleartext communications. SSL certificates are cheap, and many free options exist. Configure the web proxy to limit the size of requests, set appropriate timeouts, and then enable the :option:`proxy mode ` option. See also :ref:`https_proxy`." msgstr "" -#: ../../content/administration/deployment/deploy.rst:474 +#: ../../content/administration/install/deploy.rst:468 msgid "If you need to allow remote SSH access to your servers, make sure to set a strong password for **all** accounts, not just `root`. It is strongly recommended to entirely disable password-based authentication, and only allow public key authentication. Also consider restricting access via a VPN, allowing only trusted IPs in the firewall, and/or running a brute-force detection system such as `fail2ban` or equivalent." msgstr "" -#: ../../content/administration/deployment/deploy.rst:480 +#: ../../content/administration/install/deploy.rst:474 msgid "Consider installing appropriate rate-limiting on your proxy or firewall, to prevent brute-force attacks and denial of service attacks. See also :ref:`login_brute_force` for specific measures." msgstr "" -#: ../../content/administration/deployment/deploy.rst:484 +#: ../../content/administration/install/deploy.rst:478 msgid "Many network providers provide automatic mitigation for Distributed Denial of Service attacks (DDOS), but this is often an optional service, so you should consult with them." msgstr "" -#: ../../content/administration/deployment/deploy.rst:488 +#: ../../content/administration/install/deploy.rst:482 msgid "Whenever possible, host your public-facing demo/test/staging instances on different machines than the production ones. And apply the same security precautions as for production." msgstr "" -#: ../../content/administration/deployment/deploy.rst:492 +#: ../../content/administration/install/deploy.rst:486 msgid "If your public-facing Odoo server has access to sensitive internal network resources or services (e.g. via a private VLAN), implement appropriate firewall rules to protect those internal resources. This will ensure that the Odoo server cannot be used accidentally (or as a result of malicious user actions) to access or disrupt those internal resources. Typically this can be done by applying an outbound default DENY rule on the firewall, then only explicitly authorizing access to internal resources that the Odoo server needs to access. `Systemd IP traffic access control `_ may also be useful to implement per-process network access control." msgstr "" -#: ../../content/administration/deployment/deploy.rst:503 +#: ../../content/administration/install/deploy.rst:497 msgid "If your public-facing Odoo server is behind a Web Application Firewall, a load-balancer, a transparent DDoS protection service (like CloudFlare) or a similar network-level device, you may wish to avoid direct access to the Odoo system. It is generally difficult to keep the endpoint IP addresses of your Odoo servers secret. For example they can appear in web server logs when querying public systems, or in the headers of emails posted from Odoo. In such a situation you may want to configure your firewall so that the endpoints are not accessible publicly except from the specific IP addresses of your WAF, load-balancer or proxy service. Service providers like CloudFlare usually maintain a public list of their IP address ranges for this purpose." msgstr "" -#: ../../content/administration/deployment/deploy.rst:514 +#: ../../content/administration/install/deploy.rst:508 msgid "If you are hosting multiple customers, isolate customer data and files from each other using containers or appropriate \"jail\" techniques." msgstr "" -#: ../../content/administration/deployment/deploy.rst:517 +#: ../../content/administration/install/deploy.rst:511 msgid "Setup daily backups of your databases and filestore data, and copy them to a remote archiving server that is not accessible from the server itself." msgstr "" -#: ../../content/administration/deployment/deploy.rst:524 +#: ../../content/administration/install/deploy.rst:518 msgid "Blocking Brute Force Attacks" msgstr "" -#: ../../content/administration/deployment/deploy.rst:525 +#: ../../content/administration/install/deploy.rst:520 msgid "For internet-facing deployments, brute force attacks on user passwords are very common, and this threat should not be neglected for Odoo servers. Odoo emits a log entry whenever a login attempt is performed, and reports the result: success or failure, along with the target login and source IP." msgstr "" -#: ../../content/administration/deployment/deploy.rst:529 +#: ../../content/administration/install/deploy.rst:524 msgid "The log entries will have the following form." msgstr "" -#: ../../content/administration/deployment/deploy.rst:531 +#: ../../content/administration/install/deploy.rst:526 msgid "Failed login::" msgstr "" -#: ../../content/administration/deployment/deploy.rst:535 +#: ../../content/administration/install/deploy.rst:530 msgid "Successful login::" msgstr "" -#: ../../content/administration/deployment/deploy.rst:540 +#: ../../content/administration/install/deploy.rst:535 msgid "These logs can be easily analyzed by an intrusion prevention system such as `fail2ban`." msgstr "" -#: ../../content/administration/deployment/deploy.rst:542 +#: ../../content/administration/install/deploy.rst:537 msgid "For example, the following fail2ban filter definition should match a failed login::" msgstr "" -#: ../../content/administration/deployment/deploy.rst:549 +#: ../../content/administration/install/deploy.rst:544 msgid "This could be used with a jail definition to block the attacking IP on HTTP(S)." msgstr "" -#: ../../content/administration/deployment/deploy.rst:551 +#: ../../content/administration/install/deploy.rst:546 msgid "Here is what it could look like for blocking the IP for 15 minutes when 10 failed login attempts are detected from the same IP within 1 minute::" msgstr "" -#: ../../content/administration/deployment/deploy.rst:568 +#: ../../content/administration/install/deploy.rst:560 msgid "Database Manager Security" msgstr "" -#: ../../content/administration/deployment/deploy.rst:570 +#: ../../content/administration/install/deploy.rst:562 msgid ":ref:`setup/deploy/odoo` mentioned ``admin_passwd`` in passing." msgstr "" -#: ../../content/administration/deployment/deploy.rst:572 +#: ../../content/administration/install/deploy.rst:564 msgid "This setting is used on all database management screens (to create, delete, dump or restore databases)." msgstr "" -#: ../../content/administration/deployment/deploy.rst:575 +#: ../../content/administration/install/deploy.rst:567 msgid "If the management screens must not be accessible at all, you should set ``list_db`` configuration option to ``False``, to block access to all the database selection and management screens." msgstr "" -#: ../../content/administration/deployment/deploy.rst:581 +#: ../../content/administration/install/deploy.rst:573 msgid "It is strongly recommended to disable the Database Manager for any internet-facing system! It is meant as a development/demo tool, to make it easy to quickly create and manage databases. It is not designed for use in production, and may even expose dangerous features to attackers. It is also not designed to handle large databases, and may trigger memory limits." msgstr "" -#: ../../content/administration/deployment/deploy.rst:587 +#: ../../content/administration/install/deploy.rst:579 msgid "On production systems, database management operations should always be performed by the system administrator, including provisioning of new databases and automated backups." msgstr "" -#: ../../content/administration/deployment/deploy.rst:590 +#: ../../content/administration/install/deploy.rst:582 msgid "Be sure to setup an appropriate ``db_name`` parameter (and optionally, ``db_filter`` too) so that the system can determine the target database for each request, otherwise users will be blocked as they won't be allowed to choose the database themselves." msgstr "" -#: ../../content/administration/deployment/deploy.rst:595 +#: ../../content/administration/install/deploy.rst:587 msgid "If the management screens must only be accessible from a selected set of machines, use the proxy server's features to block access to all routes starting with ``/web/database`` except (maybe) ``/web/database/selector`` which displays the database-selection screen." msgstr "" -#: ../../content/administration/deployment/deploy.rst:599 +#: ../../content/administration/install/deploy.rst:591 msgid "If the database-management screen should be left accessible, the ``admin_passwd`` setting must be changed from its ``admin`` default: this password is checked before allowing database-alteration operations." msgstr "" -#: ../../content/administration/deployment/deploy.rst:603 +#: ../../content/administration/install/deploy.rst:595 msgid "It should be stored securely, and should be generated randomly e.g." msgstr "" -#: ../../content/administration/deployment/deploy.rst:609 +#: ../../content/administration/install/deploy.rst:601 msgid "which will generate a 32 characters pseudorandom printable string." msgstr "" -#: ../../content/administration/deployment/deploy.rst:612 +#: ../../content/administration/install/deploy.rst:604 msgid "Supported Browsers" msgstr "" -#: ../../content/administration/deployment/deploy.rst:614 +#: ../../content/administration/install/deploy.rst:606 msgid "Odoo supports all the major desktop and mobile browsers available on the market, as long as they are supported by their publishers." msgstr "" -#: ../../content/administration/deployment/deploy.rst:617 +#: ../../content/administration/install/deploy.rst:609 msgid "Here are the supported browsers:" msgstr "" -#: ../../content/administration/deployment/deploy.rst:619 +#: ../../content/administration/install/deploy.rst:611 msgid "Google Chrome" msgstr "" -#: ../../content/administration/deployment/deploy.rst:620 +#: ../../content/administration/install/deploy.rst:612 msgid "Mozilla Firefox" msgstr "" -#: ../../content/administration/deployment/deploy.rst:621 +#: ../../content/administration/install/deploy.rst:613 msgid "Microsoft Edge" msgstr "" -#: ../../content/administration/deployment/deploy.rst:622 +#: ../../content/administration/install/deploy.rst:614 msgid "Apple Safari" msgstr "" -#: ../../content/administration/deployment/deploy.rst:624 +#: ../../content/administration/install/deploy.rst:616 msgid "Please make sure your browser is up-to-date and still supported by its publisher before filing a bug report." msgstr "" -#: ../../content/administration/deployment/deploy.rst:630 +#: ../../content/administration/install/deploy.rst:621 msgid "Since Odoo 13.0, ES6 is supported. Therefore, IE support is dropped." msgstr "" -#: ../../content/administration/deployment/deploy.rst:634 +#: ../../content/administration/install/deploy.rst:624 msgid "to have multiple Odoo installations use the same PostgreSQL database, or to provide more computing resources to both software." msgstr "" -#: ../../content/administration/deployment/deploy.rst:637 +#: ../../content/administration/install/deploy.rst:627 msgid "technically a tool like socat_ can be used to proxy UNIX sockets across networks, but that is mostly for software which can only be used over UNIX sockets" msgstr "" -#: ../../content/administration/deployment/deploy.rst:641 +#: ../../content/administration/install/deploy.rst:631 msgid "or be accessible only over an internal packet-switched network, but that requires secured switches, protections against `ARP spoofing`_ and precludes usage of WiFi. Even over secure packet-switched networks, deployment over HTTPS is recommended, and possible costs are lowered as \"self-signed\" certificates are easier to deploy on a controlled environment than over the internet." msgstr "" -#: ../../content/administration/deployment/email_gateway.rst:4 -msgid "Odoo email gateway" +#: ../../content/administration/install/email_gateway.rst:3 +msgid "Email gateway" msgstr "" -#: ../../content/administration/deployment/email_gateway.rst:6 +#: ../../content/administration/install/email_gateway.rst:5 msgid "The Odoo mail gateway allows you to inject directly all the received emails in Odoo." msgstr "" -#: ../../content/administration/deployment/email_gateway.rst:8 +#: ../../content/administration/install/email_gateway.rst:7 msgid "Its principle is straightforward: your SMTP server executes the \"mailgate\" script for every new incoming email." msgstr "" -#: ../../content/administration/deployment/email_gateway.rst:10 +#: ../../content/administration/install/email_gateway.rst:10 msgid "The script takes care of connecting to your Odoo database through XML-RPC, and send the emails via the `MailThread.message_process()` feature." msgstr "" -#: ../../content/administration/deployment/email_gateway.rst:14 +#: ../../content/administration/install/email_gateway.rst:14 msgid "Prerequisites" msgstr "" -#: ../../content/administration/deployment/email_gateway.rst:15 +#: ../../content/administration/install/email_gateway.rst:16 msgid "Administrator access to the Odoo database." msgstr "" -#: ../../content/administration/deployment/email_gateway.rst:16 +#: ../../content/administration/install/email_gateway.rst:17 msgid "Your own mail server such as Postfix or Exim." msgstr "" -#: ../../content/administration/deployment/email_gateway.rst:17 +#: ../../content/administration/install/email_gateway.rst:18 msgid "Technical knowledge on how to configure an email server." msgstr "" -#: ../../content/administration/deployment/email_gateway.rst:20 +#: ../../content/administration/install/email_gateway.rst:21 msgid "For Postfix" msgstr "" -#: ../../content/administration/deployment/email_gateway.rst:21 +#: ../../content/administration/install/email_gateway.rst:23 msgid "In you alias config (:file:`/etc/aliases`):" msgstr "" -#: ../../content/administration/deployment/email_gateway.rst:28 -#: ../../content/administration/deployment/email_gateway.rst:42 +#: ../../content/administration/install/email_gateway.rst:30 +#: ../../content/administration/install/email_gateway.rst:45 msgid "Resources" msgstr "" -#: ../../content/administration/deployment/email_gateway.rst:30 +#: ../../content/administration/install/email_gateway.rst:32 msgid "`Postfix `_" msgstr "" -#: ../../content/administration/deployment/email_gateway.rst:31 +#: ../../content/administration/install/email_gateway.rst:33 msgid "`Postfix aliases `_" msgstr "" -#: ../../content/administration/deployment/email_gateway.rst:32 +#: ../../content/administration/install/email_gateway.rst:34 msgid "`Postfix virtual `_" msgstr "" -#: ../../content/administration/deployment/email_gateway.rst:36 +#: ../../content/administration/install/email_gateway.rst:38 msgid "For Exim" msgstr "" -#: ../../content/administration/deployment/email_gateway.rst:44 +#: ../../content/administration/install/email_gateway.rst:47 msgid "`Exim `_" msgstr "" -#: ../../content/administration/deployment/email_gateway.rst:47 -msgid "If you don't have access/manage your email server, use :ref:`inbound messages `." +#: ../../content/administration/install/email_gateway.rst:50 +msgid "If you don't have access/manage your email server, use :ref:`inbound messages `." msgstr "" -#: ../../content/administration/enterprise.rst:6 -msgid "From Community to Enterprise" -msgstr "" - -#: ../../content/administration/enterprise.rst:8 -msgid "Depending on your current installation, there are multiple ways to upgrade your community version. In any case the basic guidelines are:" -msgstr "" - -#: ../../content/administration/enterprise.rst:12 -#: ../../content/administration/enterprise.rst:31 -#: ../../content/administration/enterprise.rst:63 -#: ../../content/administration/enterprise.rst:80 -msgid "Backup your community database" -msgstr "" - -#: ../../content/administration/enterprise.rst:17 -#: ../../content/administration/enterprise.rst:62 -msgid "Shutdown your server" -msgstr "" - -#: ../../content/administration/enterprise.rst:19 -msgid "Install the web_enterprise module" -msgstr "" - -#: ../../content/administration/enterprise.rst:21 -msgid "Restart your server" -msgstr "" - -#: ../../content/administration/enterprise.rst:23 -msgid "Enter your Odoo Enterprise Subscription code" -msgstr "" - -#: ../../content/administration/enterprise.rst:29 -msgid "On Linux, using an installer" -msgstr "" - -#: ../../content/administration/enterprise.rst:33 -msgid "Stop the odoo service" -msgstr "" - -#: ../../content/administration/enterprise.rst:39 -msgid "Install the enterprise .deb (it should install over the community package)" -msgstr "" - -#: ../../content/administration/enterprise.rst:45 -msgid "Update your database to the enterprise packages using" -msgstr "" - -#: ../../content/administration/enterprise.rst:51 -msgid "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" -msgstr "" - -#: ../../content/administration/enterprise.rst:57 -msgid "On Linux, using the source code" -msgstr "" - -#: ../../content/administration/enterprise.rst:59 -msgid "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." -msgstr "" - -#: ../../content/administration/enterprise.rst:64 -msgid "Update the ``--addons-path`` parameter of your launch command (see :ref:`setup/install/source`)" -msgstr "" - -#: ../../content/administration/enterprise.rst:65 -msgid "Install the web_enterprise module by using" -msgstr "" - -#: ../../content/administration/enterprise.rst:71 -msgid "Depending on the size of your database, this may take some time." -msgstr "" - -#: ../../content/administration/enterprise.rst:73 -msgid "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" -msgstr "" - -#: ../../content/administration/enterprise.rst:78 -msgid "On Windows" -msgstr "" - -#: ../../content/administration/enterprise.rst:82 -msgid "Uninstall Odoo Community (using the Uninstall executable in the installation folder) - PostgreSQL will remain installed" -msgstr "" - -#: ../../content/administration/enterprise.rst:88 -msgid "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" -msgstr "" - -#: ../../content/administration/enterprise.rst:96 -msgid "Using a command window, update your Odoo Database using this command (from the Odoo installation path, in the server subfolder)" -msgstr "" - -#: ../../content/administration/enterprise.rst:103 -msgid "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" -msgstr "" - -#: ../../content/administration/install.rst:6 +#: ../../content/administration/install/install.rst:6 msgid "Installing Odoo" msgstr "" -#: ../../content/administration/install.rst:8 +#: ../../content/administration/install/install.rst:8 msgid "There are multiple ways to install Odoo, or not install it at all, depending on the intended use case." msgstr "" -#: ../../content/administration/install.rst:11 +#: ../../content/administration/install/install.rst:11 msgid "This documents attempts to describe most of the installation options." msgstr "" -#: ../../content/administration/install.rst:14 +#: ../../content/administration/install/install.rst:14 msgid ":ref:`setup/install/online`" msgstr "" -#: ../../content/administration/install.rst:14 +#: ../../content/administration/install/install.rst:14 msgid "The easiest way to use Odoo in production or to try it." msgstr "" -#: ../../content/administration/install.rst:18 +#: ../../content/administration/install/install.rst:18 msgid ":ref:`setup/install/packaged`" msgstr "" -#: ../../content/administration/install.rst:17 +#: ../../content/administration/install/install.rst:17 msgid "Suitable for testing Odoo, developing modules and can be used for long-term production use with additional deployment and maintenance work." msgstr "" -#: ../../content/administration/install.rst:23 +#: ../../content/administration/install/install.rst:23 msgid ":ref:`setup/install/source`" msgstr "" -#: ../../content/administration/install.rst:21 +#: ../../content/administration/install/install.rst:21 msgid "Provides greater flexibility: e.g. allow multiple running Odoo versions on the same system. Good for developing modules, can be used as base for production deployment." msgstr "" -#: ../../content/administration/install.rst:28 +#: ../../content/administration/install/install.rst:28 msgid ":ref:`setup/install/docker`" msgstr "" -#: ../../content/administration/install.rst:26 +#: ../../content/administration/install/install.rst:26 msgid "If you usually use docker_ for development or deployment, an official docker_ base image is available." msgstr "" -#: ../../content/administration/install.rst:33 +#: ../../content/administration/install/install.rst:33 msgid "Editions" msgstr "" -#: ../../content/administration/install.rst:35 -msgid "There are two different Editions_ of Odoo: the Community and Enterprise versions. Using the Enterprise version is possible on our SaaS_ and accessing the code is restricted to Enterprise customers and partners. The Community version is freely available to anyone." +#: ../../content/administration/install/install.rst:35 +msgid "There are two different Editions_ of Odoo: the Community and Enterprise versions. Using the Enterprise version is possible on `Odoo Online`_ and accessing the code is restricted to Enterprise customers and partners. The Community version is freely available to anyone." msgstr "" -#: ../../content/administration/install.rst:40 +#: ../../content/administration/install/install.rst:40 msgid "If you already use the Community version and wish to upgrade to Enterprise, please refer to :ref:`setup/enterprise` (except for :ref:`setup/install/source`)." msgstr "" -#: ../../content/administration/install.rst:47 +#: ../../content/administration/install/install.rst:47 msgid "Online" msgstr "" -#: ../../content/administration/install.rst:50 +#: ../../content/administration/install/install.rst:50 msgid "Demo" msgstr "" -#: ../../content/administration/install.rst:52 +#: ../../content/administration/install/install.rst:52 msgid "To simply get a quick idea of Odoo, demo_ instances are available. They are shared instances which only live for a few hours, and can be used to browse around and try things out with no commitment." msgstr "" -#: ../../content/administration/install.rst:56 +#: ../../content/administration/install/install.rst:56 msgid "Demo_ instances require no local installation, just a web browser." msgstr "" -#: ../../content/administration/install.rst:59 -msgid "SaaS" +#: ../../content/administration/install/install.rst:59 +#: ../../content/administration/maintain/domain_names.rst:166 +#: ../../content/administration/maintain/domain_names.rst:236 +#: ../../content/administration/maintain/supported_versions.rst:27 +#: ../../content/administration/upgrade/odoo_online.rst:3 +msgid "Odoo Online" msgstr "" -#: ../../content/administration/install.rst:61 -msgid "Trivial to start with, fully managed and migrated by Odoo S.A., Odoo's SaaS_ provides private instances and starts out free. It can be used to discover and test Odoo and do non-code customizations (i.e. incompatible with custom modules or the Odoo Apps Store) without having to install it locally." +#: ../../content/administration/install/install.rst:61 +msgid "Trivial to start with, fully managed and migrated by Odoo S.A., `Odoo Online`_ provides private instances and starts out free. It can be used to discover and test Odoo and do non-code customizations (i.e. incompatible with custom modules or the Odoo Apps Store) without having to install it locally." msgstr "" -#: ../../content/administration/install.rst:66 +#: ../../content/administration/install/install.rst:66 msgid "Can be used for both testing Odoo and long-term production use." msgstr "" -#: ../../content/administration/install.rst:68 -msgid "Like demo_ instances, SaaS_ instances require no local installation, a web browser is sufficient." +#: ../../content/administration/install/install.rst:68 +msgid "Like demo_ instances, `Odoo Online`_ instances require no local installation, a web browser is sufficient." msgstr "" -#: ../../content/administration/install.rst:75 +#: ../../content/administration/install/install.rst:75 msgid "Packaged installers" msgstr "" -#: ../../content/administration/install.rst:77 +#: ../../content/administration/install/install.rst:77 msgid "Odoo provides packaged installers for Windows, deb-based distributions (Debian, Ubuntu, …) and RPM-based distributions (Fedora, CentOS, RHEL, …) for both the Community and Enterprise versions." msgstr "" -#: ../../content/administration/install.rst:81 +#: ../../content/administration/install/install.rst:81 msgid "These packages automatically set up all dependencies (for the Community version), but may be difficult to keep up-to-date." msgstr "" -#: ../../content/administration/install.rst:84 +#: ../../content/administration/install/install.rst:84 msgid "Official Community packages with all relevant dependency requirements are available on our nightly_ server. Both Communtiy and Enterprise packages can be downloaded from our download_ page (you must to be logged in as a paying customer or partner to download the Enterprise packages)." msgstr "" -#: ../../content/administration/install.rst:90 -#: ../../content/administration/install.rst:226 +#: ../../content/administration/install/install.rst:90 +#: ../../content/administration/install/install.rst:255 msgid "Windows" msgstr "" -#: ../../content/administration/install.rst:92 +#: ../../content/administration/install/install.rst:92 msgid "Download the installer from our nightly_ server (Community only) or the Windows installer from the download_ page (any edition)." msgstr "" -#: ../../content/administration/install.rst:94 +#: ../../content/administration/install/install.rst:94 msgid "Execute the downloaded file." msgstr "" -#: ../../content/administration/install.rst:0 +#: ../../content/administration/install/install.rst:0 msgid "On Windows 8 and later you may see a warning titled \"Windows protected your PC\"." msgstr "" -#: ../../content/administration/install.rst:0 +#: ../../content/administration/install/install.rst:0 msgid "Click on **More Info** and then on **Run anyway**." msgstr "" -#: ../../content/administration/install.rst:99 +#: ../../content/administration/install/install.rst:99 msgid "Accept the UAC_ prompt." msgstr "" -#: ../../content/administration/install.rst:100 +#: ../../content/administration/install/install.rst:100 msgid "Go through the various installation steps." msgstr "" -#: ../../content/administration/install.rst:102 +#: ../../content/administration/install/install.rst:102 msgid "Odoo will automatically be started at the end of the installation." msgstr "" -#: ../../content/administration/install.rst:105 -#: ../../content/administration/install.rst:390 +#: ../../content/administration/install/install.rst:105 +#: ../../content/administration/install/install.rst:445 msgid "Linux" msgstr "" -#: ../../content/administration/install.rst:108 +#: ../../content/administration/install/install.rst:108 +#: ../../content/administration/install/install.rst:554 msgid "Debian/Ubuntu" msgstr "" -#: ../../content/administration/install.rst:110 -msgid "Odoo 14.0 'deb' package currently supports `Debian Buster`_, `Ubuntu 20.04`_ or above." +#: ../../content/administration/install/install.rst:110 +msgid "Odoo 15 'deb' package currently supports `Debian 11 (Bullseye)`_, `Ubuntu 20.04 (Focal)`_ or above." msgstr "" -#: ../../content/administration/install.rst:112 -#: ../../content/administration/install.rst:172 -#: ../../content/administration/install.rst:341 -#: ../../content/administration/install.rst:512 -#: ../../content/administration/install.rst:674 -msgid "`wkhtmltopdf` is not installed through **pip** and must be installed manually in version `0.12.5 `_ for it to support headers and footers. See our `wiki `_ for more details on the various versions." -msgstr "" - -#: ../../content/administration/install.rst:118 -#: ../../content/administration/install.rst:178 -msgid "Repository" -msgstr "" - -#: ../../content/administration/install.rst:120 -msgid "Odoo S.A. provides a repository that can be used with Debian and Ubuntu distributions. It can be used to install *Odoo Community Edition* by executing the following commands:" -msgstr "" - -#: ../../content/administration/install.rst:129 -msgid "You can then use the usual `apt-get upgrade` command to keep your installation up-to-date." -msgstr "" - -#: ../../content/administration/install.rst:131 -msgid "At this moment, there is no nightly repository for the Enterprise Edition." -msgstr "" - -#: ../../content/administration/install.rst:134 -msgid "Deb Package" -msgstr "" - -#: ../../content/administration/install.rst:136 -msgid "Instead of using the repository as described above, the 'deb' packages for both the *Community* and *Enterprise* editions can be downloaded from the `official download page `_." -msgstr "" - -#: ../../content/administration/install.rst:139 -msgid "Next, execute the following commands:" -msgstr "" - -#: ../../content/administration/install.rst:145 -msgid "This will install Odoo as a service, create the necessary PostgreSQL_ user and automatically start the server." -msgstr "" - -#: ../../content/administration/install.rst:148 -msgid "The recommended `postgresql-server` package will be installed by the Debian Odoo package. The `--no-install-recommends` argument of the `apt-get` tool should be used if you plan to install the Postgresql server on another machine." -msgstr "" - -#: ../../content/administration/install.rst:153 -msgid "Fedora" -msgstr "" - -#: ../../content/administration/install.rst:155 -msgid "Odoo 14.0 'rpm' package supports Fedora 32." -msgstr "" - -#: ../../content/administration/install.rst:157 -msgid "The Odoo 14.0 rpm package does not support Fedora 33 or above." -msgstr "" - -#: ../../content/administration/install.rst:160 -#: ../../content/administration/install.rst:274 -#: ../../content/administration/install.rst:438 -#: ../../content/administration/install.rst:607 +#: ../../content/administration/install/install.rst:114 +#: ../../content/administration/install/install.rst:187 +#: ../../content/administration/install/install.rst:314 +#: ../../content/administration/install/install.rst:504 +#: ../../content/administration/install/install.rst:724 msgid "Prepare" msgstr "" -#: ../../content/administration/install.rst:161 +#: ../../content/administration/install/install.rst:116 +msgid "Odoo needs a `PostgreSQL`_ server to run properly. The default configuration for the Odoo 'deb' package is to use the PostgreSQL server on the same host as your Odoo instance. Execute the following command in order to install the PostgreSQL server:" +msgstr "" + +#: ../../content/administration/install/install.rst:124 +#: ../../content/administration/install/install.rst:200 +#: ../../content/administration/install/install.rst:381 +#: ../../content/administration/install/install.rst:796 +msgid "`wkhtmltopdf` is not installed through **pip** and must be installed manually in version `0.12.5 `_ for it to support headers and footers. See our `wiki `_ for more details on the various versions." +msgstr "" + +#: ../../content/administration/install/install.rst:130 +#: ../../content/administration/install/install.rst:206 +msgid "Repository" +msgstr "" + +#: ../../content/administration/install/install.rst:132 +msgid "Odoo S.A. provides a repository that can be used with Debian and Ubuntu distributions. It can be used to install *Odoo Community Edition* by executing the following commands **as root**:" +msgstr "" + +#: ../../content/administration/install/install.rst:141 +msgid "You can then use the usual `apt-get upgrade` command to keep your installation up-to-date." +msgstr "" + +#: ../../content/administration/install/install.rst:143 +msgid "At this moment, there is no nightly repository for the Enterprise Edition." +msgstr "" + +#: ../../content/administration/install/install.rst:146 +msgid "Deb Package" +msgstr "" + +#: ../../content/administration/install/install.rst:148 +msgid "Instead of using the repository as described above, the 'deb' packages for both the *Community* and *Enterprise* editions can be downloaded from the `official download page `_." +msgstr "" + +#: ../../content/administration/install/install.rst:151 +msgid "Next, execute the following commands **as root**:" +msgstr "" + +#: ../../content/administration/install/install.rst:159 +msgid "This will install Odoo as a service, create the necessary PostgreSQL_ user and automatically start the server." +msgstr "" + +#: ../../content/administration/install/install.rst:162 +msgid "The `python3-xlwt` Debian package does not exists in Debian Buster nor Ubuntu 18.04. This python module is needed to export into xls format." +msgstr "" + +#: ../../content/administration/install/install.rst:165 +msgid "If you need the feature, you can install it manually with:" +msgstr "" + +#: ../../content/administration/install/install.rst:171 +msgid "The `num2words` python package does not exists in Debian Buster nor Ubuntu 18.04. Textual amounts will not be rendered by Odoo and this could cause problems with the `l10n_mx_edi` module." +msgstr "" + +#: ../../content/administration/install/install.rst:175 +msgid "If you need this feature, you can install manually with:" +msgstr "" + +#: ../../content/administration/install/install.rst:182 +msgid "Fedora" +msgstr "" + +#: ../../content/administration/install/install.rst:184 +msgid "Odoo 15 'rpm' package supports Fedora 34." +msgstr "" + +#: ../../content/administration/install/install.rst:189 msgid "Odoo needs a `PostgreSQL`_ server to run properly. Make sure that the `sudo` command is available and well configured and, only then, execute the following command in order to install the PostgreSQL server:" msgstr "" -#: ../../content/administration/install.rst:180 +#: ../../content/administration/install/install.rst:208 msgid "Odoo S.A. provides a repository that can be used with the Fedora distributions. It can be used to install *Odoo Community Edition* by executing the following commands:" msgstr "" -#: ../../content/administration/install.rst:192 +#: ../../content/administration/install/install.rst:220 msgid "RPM package" msgstr "" -#: ../../content/administration/install.rst:194 +#: ../../content/administration/install/install.rst:222 msgid "Instead of using the repository as described above, the 'rpm' packages for both the *Community* and *Enterprise* editions can be downloaded from the `official download page `_." msgstr "" -#: ../../content/administration/install.rst:197 +#: ../../content/administration/install/install.rst:225 msgid "Once downloaded, the package can be installed using the 'dnf' package manager:" msgstr "" -#: ../../content/administration/install.rst:209 +#: ../../content/administration/install/install.rst:237 msgid "Source Install" msgstr "" -#: ../../content/administration/install.rst:211 +#: ../../content/administration/install/install.rst:239 msgid "The source \"installation\" is really about not installing Odoo, and running it directly from source instead." msgstr "" -#: ../../content/administration/install.rst:214 -msgid "This can be more convenient for module developers as the Odoo source is more easily accessible than using packaged installation (for information or to build this documentation and have it available offline)." +#: ../../content/administration/install/install.rst:242 +msgid "It can be more convenient for module developers as the Odoo source is more easily accessible than using packaged installation." msgstr "" -#: ../../content/administration/install.rst:218 +#: ../../content/administration/install/install.rst:245 msgid "It also makes starting and stopping Odoo more flexible and explicit than the services set up by the packaged installations, and allows overriding settings using :ref:`command-line parameters ` without needing to edit a configuration file." msgstr "" -#: ../../content/administration/install.rst:222 +#: ../../content/administration/install/install.rst:249 msgid "Finally it provides greater control over the system's set up, and allows to more easily keep (and run) multiple versions of Odoo side-by-side." msgstr "" -#: ../../content/administration/install.rst:229 -#: ../../content/administration/install.rst:393 -#: ../../content/administration/install.rst:562 +#: ../../content/administration/install/install.rst:258 +#: ../../content/administration/install/install.rst:448 +#: ../../content/administration/install/install.rst:668 msgid "Fetch the sources" msgstr "" -#: ../../content/administration/install.rst:231 -#: ../../content/administration/install.rst:395 -#: ../../content/administration/install.rst:564 +#: ../../content/administration/install/install.rst:260 +#: ../../content/administration/install/install.rst:450 +#: ../../content/administration/install/install.rst:670 msgid "There are two ways to obtain the source code of Odoo: as a zip **archive** or through **git**." msgstr "" -#: ../../content/administration/install.rst:234 -#: ../../content/administration/install.rst:398 -#: ../../content/administration/install.rst:567 +#: ../../content/administration/install/install.rst:263 +#: ../../content/administration/install/install.rst:453 +#: ../../content/administration/install/install.rst:673 msgid "Archive" msgstr "" -#: ../../content/administration/install.rst:236 -#: ../../content/administration/install.rst:253 -#: ../../content/administration/install.rst:400 -#: ../../content/administration/install.rst:417 -#: ../../content/administration/install.rst:569 -#: ../../content/administration/install.rst:586 +#: ../../content/administration/install/install.rst:265 +#: ../../content/administration/install/install.rst:455 +#: ../../content/administration/install/install.rst:675 msgid "Community Edition:" msgstr "" -#: ../../content/administration/install.rst:238 -#: ../../content/administration/install.rst:244 -#: ../../content/administration/install.rst:402 -#: ../../content/administration/install.rst:408 -#: ../../content/administration/install.rst:571 -#: ../../content/administration/install.rst:577 +#: ../../content/administration/install/install.rst:267 +#: ../../content/administration/install/install.rst:273 +#: ../../content/administration/install/install.rst:457 +#: ../../content/administration/install/install.rst:463 +#: ../../content/administration/install/install.rst:677 +#: ../../content/administration/install/install.rst:683 msgid "`Official download page `_" msgstr "" -#: ../../content/administration/install.rst:239 -#: ../../content/administration/install.rst:403 -#: ../../content/administration/install.rst:572 +#: ../../content/administration/install/install.rst:268 +#: ../../content/administration/install/install.rst:458 +#: ../../content/administration/install/install.rst:678 msgid "`GitHub repository `_" msgstr "" -#: ../../content/administration/install.rst:240 -#: ../../content/administration/install.rst:404 -#: ../../content/administration/install.rst:573 +#: ../../content/administration/install/install.rst:269 +#: ../../content/administration/install/install.rst:459 +#: ../../content/administration/install/install.rst:679 msgid "`Nightly server `_" msgstr "" -#: ../../content/administration/install.rst:242 -#: ../../content/administration/install.rst:406 -#: ../../content/administration/install.rst:575 +#: ../../content/administration/install/install.rst:271 +#: ../../content/administration/install/install.rst:461 +#: ../../content/administration/install/install.rst:681 msgid "Enterprise Edition:" msgstr "" -#: ../../content/administration/install.rst:245 -#: ../../content/administration/install.rst:409 -#: ../../content/administration/install.rst:578 +#: ../../content/administration/install/install.rst:274 +#: ../../content/administration/install/install.rst:464 +#: ../../content/administration/install/install.rst:684 msgid "`GitHub repository `_" msgstr "" -#: ../../content/administration/install.rst:248 -#: ../../content/administration/install.rst:412 -#: ../../content/administration/install.rst:581 +#: ../../content/administration/install/install.rst:279 +#: ../../content/administration/install/install.rst:469 +#: ../../content/administration/install/install.rst:689 msgid "Git" msgstr "" -#: ../../content/administration/install.rst:250 -#: ../../content/administration/install.rst:414 -#: ../../content/administration/install.rst:583 -msgid "The following requires git_ to be installed on your machine and that you have basic knowledge of git commands." +#: ../../content/administration/install/install.rst:281 +#: ../../content/administration/install/install.rst:471 +#: ../../content/administration/install/install.rst:691 +msgid "The following requires `Git `_ to be installed on your machine and that you have basic knowledge of Git commands. To clone a Git repository, you must choose between cloning with HTTPS or SSH. If you do not know the difference between the two, the best option is most likely HTTPS. If you are following the :doc:`Getting started ` developer tutorial, or plan on contributing to Odoo source code, choose SSH." msgstr "" -#: ../../content/administration/install.rst:260 -#: ../../content/administration/install.rst:424 -#: ../../content/administration/install.rst:593 -msgid "Enterprise Edition: (see :ref:`setup/install/editions` to get access)" +#: ../../content/administration/install/install.rst:288 +#: ../../content/administration/install/install.rst:478 +#: ../../content/administration/install/install.rst:698 +msgid "**The Enterprise Git repository does not contain the full Odoo source code**. It is only a collection of extra add-ons. The main server code is in the Community version. Running the Enterprise version actually means running the server from the Community version with the addons-path option set to the folder with the Enterprise version. You need to clone both the Community and Enterprise repository to have a working Odoo Enterprise installation. See :ref:`setup/install/editions` to get access to the Enterprise repository." msgstr "" -#: ../../content/administration/install.rst:266 -#: ../../content/administration/install.rst:430 -#: ../../content/administration/install.rst:599 -msgid "**The Enterprise git repository does not contain the full Odoo source code**. It is only a collection of extra add-ons. The main server code is in the Community version. Running the Enterprise version actually means running the server from the Community version with the addons-path option set to the folder with the Enterprise version. You need to clone both the Community and Enterprise repository to have a working Odoo Enterprise installation." +#: ../../content/administration/install/install.rst:297 +#: ../../content/administration/install/install.rst:487 +#: ../../content/administration/install/install.rst:707 +msgid "Clone with HTTPS" msgstr "" -#: ../../content/administration/install.rst:277 -#: ../../content/administration/install.rst:441 -#: ../../content/administration/install.rst:610 +#: ../../content/administration/install/install.rst:304 +#: ../../content/administration/install/install.rst:494 +#: ../../content/administration/install/install.rst:714 +msgid "Clone with SSH" +msgstr "" + +#: ../../content/administration/install/install.rst:317 +#: ../../content/administration/install/install.rst:507 +#: ../../content/administration/install/install.rst:727 msgid "Python" msgstr "" -#: ../../content/administration/install.rst:279 -msgid "Odoo requires Python 3.6 or later to run. Visit `Python's download page `_ to download and install the latest version of Python 3 on your machine." +#: ../../content/administration/install/install.rst:319 +msgid "Odoo requires Python 3.7 or later to run. Visit `Python's download page `_ to download and install the latest version of Python 3 on your machine." msgstr "" -#: ../../content/administration/install.rst:282 +#: ../../content/administration/install/install.rst:322 msgid "During installation, check **Add Python 3 to PATH**, then click **Customize Installation** and make sure that **pip** is checked." msgstr "" -#: ../../content/administration/install.rst:285 -#: ../../content/administration/install.rst:446 -#: ../../content/administration/install.rst:615 -msgid "If Python 3 is already installed, make sure that the version is 3.6 or above, as previous versions are not compatible with Odoo." +#: ../../content/administration/install/install.rst:325 +#: ../../content/administration/install/install.rst:512 +#: ../../content/administration/install/install.rst:732 +msgid "If Python 3 is already installed, make sure that the version is 3.7 or above, as previous versions are not compatible with Odoo." msgstr "" -#: ../../content/administration/install.rst:292 -#: ../../content/administration/install.rst:453 -#: ../../content/administration/install.rst:622 +#: ../../content/administration/install/install.rst:332 +#: ../../content/administration/install/install.rst:519 +#: ../../content/administration/install/install.rst:739 msgid "Verify also that pip_ is installed for this version." msgstr "" -#: ../../content/administration/install.rst:301 +#: ../../content/administration/install/install.rst:341 msgid "Odoo uses PostgreSQL as database management system. `Download and install PostgreSQL `_ (supported version: 10.0 and later)." msgstr "" -#: ../../content/administration/install.rst:304 -#: ../../content/administration/install.rst:471 -#: ../../content/administration/install.rst:634 +#: ../../content/administration/install/install.rst:344 +#: ../../content/administration/install/install.rst:537 +#: ../../content/administration/install/install.rst:756 msgid "By default, the only user is `postgres` but Odoo forbids connecting as `postgres`, so you need to create a new PostgreSQL user:" msgstr "" -#: ../../content/administration/install.rst:307 +#: ../../content/administration/install/install.rst:347 msgid "Add PostgreSQL's `bin` directory (by default: `C:\\\\Program Files\\\\PostgreSQL\\\\\\\\bin`) to your `PATH`." msgstr "" -#: ../../content/administration/install.rst:309 +#: ../../content/administration/install/install.rst:349 msgid "Create a postgres user with a password using the pg admin gui:" msgstr "" -#: ../../content/administration/install.rst:311 +#: ../../content/administration/install/install.rst:351 msgid "Open **pgAdmin**." msgstr "" -#: ../../content/administration/install.rst:312 +#: ../../content/administration/install/install.rst:352 msgid "Double-click the server to create a connection." msgstr "" -#: ../../content/administration/install.rst:313 +#: ../../content/administration/install/install.rst:353 msgid "Select :menuselection:`Object --> Create --> Login/Group Role`." msgstr "" -#: ../../content/administration/install.rst:314 +#: ../../content/administration/install/install.rst:354 msgid "Enter the username in the **Role Name** field (e.g. `odoo`)." msgstr "" -#: ../../content/administration/install.rst:315 +#: ../../content/administration/install/install.rst:355 msgid "Open the **Definition** tab and enter the password (e.g. ``odoo``), then click **Save**." msgstr "" -#: ../../content/administration/install.rst:316 +#: ../../content/administration/install/install.rst:356 msgid "Open the **Privileges** tab and switch **Can login?** to `Yes` and **Create database?** to `Yes`." msgstr "" -#: ../../content/administration/install.rst:320 -#: ../../content/administration/install.rst:483 -#: ../../content/administration/install.rst:646 +#: ../../content/administration/install/install.rst:360 +#: ../../content/administration/install/install.rst:768 msgid "Dependencies" msgstr "" -#: ../../content/administration/install.rst:322 +#: ../../content/administration/install/install.rst:362 msgid "Before installing the dependencies, you must download and install the `Build Tools for Visual Studio `_. When prompted, select **C++ build tools** in the **Workloads** tab and install them." msgstr "" -#: ../../content/administration/install.rst:326 -#: ../../content/administration/install.rst:497 -#: ../../content/administration/install.rst:648 +#: ../../content/administration/install/install.rst:366 +#: ../../content/administration/install/install.rst:770 msgid "Odoo dependencies are listed in the `requirements.txt` file located at the root of the Odoo community directory." msgstr "" -#: ../../content/administration/install.rst:329 -#: ../../content/administration/install.rst:500 -#: ../../content/administration/install.rst:651 +#: ../../content/administration/install/install.rst:369 +#: ../../content/administration/install/install.rst:773 msgid "It can be preferable to not mix python modules packages between different instances of Odoo or with your system. You can use virtualenv_ to create isolated Python environments." msgstr "" -#: ../../content/administration/install.rst:332 +#: ../../content/administration/install/install.rst:372 msgid "Navigate to the path of your Odoo Community installation (`CommunityPath`) and run **pip** on the requirements file in a terminal **with Administrator privileges**:" msgstr "" -#: ../../content/administration/install.rst:346 -#: ../../content/administration/install.rst:517 -#: ../../content/administration/install.rst:679 +#: ../../content/administration/install/install.rst:386 +#: ../../content/administration/install/install.rst:801 msgid "For languages with right-to-left interface (such as Arabic or Hebrew), the package `rtlcss` is needed:" msgstr "" -#: ../../content/administration/install.rst:349 +#: ../../content/administration/install/install.rst:389 msgid "Download and install `nodejs `_." msgstr "" -#: ../../content/administration/install.rst:350 -#: ../../content/administration/install.rst:521 -#: ../../content/administration/install.rst:683 +#: ../../content/administration/install/install.rst:390 +#: ../../content/administration/install/install.rst:612 +#: ../../content/administration/install/install.rst:805 msgid "Install `rtlcss`:" msgstr "" -#: ../../content/administration/install.rst:356 +#: ../../content/administration/install/install.rst:396 msgid "Edit the System Environment's variable `PATH` to add the folder where `rtlcss.cmd` is located (typically: `C:\\\\Users\\\\\\\\AppData\\\\Roaming\\\\npm\\\\`)." msgstr "" -#: ../../content/administration/install.rst:360 -#: ../../content/administration/install.rst:528 -#: ../../content/administration/install.rst:690 +#: ../../content/administration/install/install.rst:400 +#: ../../content/administration/install/install.rst:619 +#: ../../content/administration/install/install.rst:812 msgid "Running Odoo" msgstr "" -#: ../../content/administration/install.rst:362 -#: ../../content/administration/install.rst:530 -#: ../../content/administration/install.rst:692 +#: ../../content/administration/install/install.rst:402 +#: ../../content/administration/install/install.rst:621 +#: ../../content/administration/install/install.rst:814 msgid "Once all dependencies are set up, Odoo can be launched by running `odoo-bin`, the command-line interface of the server. It is located at the root of the Odoo Community directory." msgstr "" -#: ../../content/administration/install.rst:365 -#: ../../content/administration/install.rst:533 -#: ../../content/administration/install.rst:695 +#: ../../content/administration/install/install.rst:405 +#: ../../content/administration/install/install.rst:624 +#: ../../content/administration/install/install.rst:817 msgid "To configure the server, you can either specify :ref:`command-line arguments ` or a :ref:`configuration file `." msgstr "" -#: ../../content/administration/install.rst:368 -#: ../../content/administration/install.rst:536 -#: ../../content/administration/install.rst:698 +#: ../../content/administration/install/install.rst:408 +#: ../../content/administration/install/install.rst:627 +#: ../../content/administration/install/install.rst:820 msgid "For the Enterprise edition, you must add the path to the `enterprise` addons to the `addons-path` argument. Note that it must come before the other paths in `addons-path` for addons to be loaded correctly." msgstr "" -#: ../../content/administration/install.rst:372 -#: ../../content/administration/install.rst:540 -#: ../../content/administration/install.rst:702 +#: ../../content/administration/install/install.rst:412 +#: ../../content/administration/install/install.rst:631 +#: ../../content/administration/install/install.rst:824 msgid "Common necessary configurations are:" msgstr "" -#: ../../content/administration/install.rst:374 +#: ../../content/administration/install/install.rst:414 msgid "PostgreSQL user and password." msgstr "" -#: ../../content/administration/install.rst:375 -#: ../../content/administration/install.rst:545 -#: ../../content/administration/install.rst:707 +#: ../../content/administration/install/install.rst:415 +#: ../../content/administration/install/install.rst:636 +#: ../../content/administration/install/install.rst:829 msgid "Custom addon paths beyond the defaults, to load your own modules." msgstr "" -#: ../../content/administration/install.rst:377 -#: ../../content/administration/install.rst:547 -#: ../../content/administration/install.rst:709 +#: ../../content/administration/install/install.rst:417 +#: ../../content/administration/install/install.rst:638 +#: ../../content/administration/install/install.rst:831 msgid "A typical way to run the server would be:" msgstr "" -#: ../../content/administration/install.rst:384 -msgid "Where `CommunityPath` is the path of the Odoo Community installation, `dbuser` is the PostgreSQL login, `dbpassword` is the PostgreSQL password and `mydb` is the default database to serve on `localhost:8069`. You can add other directory paths separated by a comma to ``addons`` at the end of the addons-path option." +#: ../../content/administration/install/install.rst:424 +msgid "Where `CommunityPath` is the path of the Odoo Community installation, `dbuser` is the PostgreSQL login, `dbpassword` is the PostgreSQL password and `mydb` is the name of the PostgreSQL database." msgstr "" -#: ../../content/administration/install.rst:443 -msgid "Odoo requires Python 3.6 or later to run. Use your package manager to download and install Python 3 on your machine if it is not already done." +#: ../../content/administration/install/install.rst:428 +#: ../../content/administration/install/install.rst:648 +#: ../../content/administration/install/install.rst:846 +msgid "After the server has started (the INFO log `odoo.modules.loading: Modules loaded.` is printed), open http://localhost:8069 in your web browser and log in with the base administrator account: Use `admin` for the :guilabel:`Email` and, again, `admin` for the :guilabel:`Password`. That's it, you just logged into your own Odoo database!" msgstr "" -#: ../../content/administration/install.rst:462 +#: ../../content/administration/install/install.rst:434 +#: ../../content/administration/install/install.rst:654 +#: ../../content/administration/install/install.rst:852 +msgid "From there, you can create and manage new :doc:`users `." +msgstr "" + +#: ../../content/administration/install/install.rst:436 +#: ../../content/administration/install/install.rst:656 +#: ../../content/administration/install/install.rst:854 +msgid "The user account you use to log into Odoo's web interface differs from the :option:`--db_user ` CLI argument." +msgstr "" + +#: ../../content/administration/install/install.rst:440 +#: ../../content/administration/install/install.rst:660 +#: ../../content/administration/install/install.rst:858 +msgid ":doc:`The exhaustive list of CLI arguments for odoo-bin `." +msgstr "" + +#: ../../content/administration/install/install.rst:509 +msgid "Odoo requires Python 3.7 or later to run. Use your package manager to download and install Python 3 on your machine if it is not already done." +msgstr "" + +#: ../../content/administration/install/install.rst:528 msgid "Odoo uses PostgreSQL as database management system. Use your package manager to download and install PostgreSQL (supported version: 10.0 and later)." msgstr "" -#: ../../content/administration/install.rst:465 +#: ../../content/administration/install/install.rst:531 msgid "On Debian/Unbuntu, it can be achieved by executing the following:" msgstr "" -#: ../../content/administration/install.rst:479 -#: ../../content/administration/install.rst:642 +#: ../../content/administration/install/install.rst:545 +#: ../../content/administration/install/install.rst:764 msgid "Because your PostgreSQL user has the same name as your Unix login, you will be able to connect to the database without password." msgstr "" -#: ../../content/administration/install.rst:485 -msgid "For libraries using native code, it is necessary to install development tools and native dependencies before the Python dependencies of Odoo. They are available in `-dev` or `-devel` packages for Python, PostgreSQL, libxml2, libxslt1, libevent, libsasl2 and libldap2." +#: ../../content/administration/install/install.rst:551 +msgid "Python Dependencies" msgstr "" -#: ../../content/administration/install.rst:489 -msgid "On Debian/Unbuntu, the following command should install all the required libraries:" +#: ../../content/administration/install/install.rst:556 +msgid "Using your **distribution packages** is the preferred way of installing dependencies." msgstr "" -#: ../../content/administration/install.rst:503 -#: ../../content/administration/install.rst:654 -msgid "Navigate to the path of your Odoo Community installation (`CommunityPath`) and run **pip** on the requirements file:" +#: ../../content/administration/install/install.rst:558 +msgid "For Debian-based systems, these packages are listed in the `debian/control `_ file of the Odoo sources." msgstr "" -#: ../../content/administration/install.rst:520 +#: ../../content/administration/install/install.rst:561 +msgid "On Debian/Ubuntu, the following commands should install the required packages:" +msgstr "" + +#: ../../content/administration/install/install.rst:569 +msgid "Install with pip" +msgstr "" + +#: ../../content/administration/install/install.rst:571 +msgid "Alternatively, you can use **pip** to install python dependencies. As some of the packages need a compilation step, they require system libraries to be installed." +msgstr "" + +#: ../../content/administration/install/install.rst:574 +msgid "On Debian/Ubuntu-based systems, the following command should install these required libraries:" +msgstr "" + +#: ../../content/administration/install/install.rst:580 +msgid "Odoo dependencies are listed in the :file:`requirements.txt` file located at the root of the Odoo community directory." +msgstr "" + +#: ../../content/administration/install/install.rst:584 +msgid "The python packages in :file:`requirements.txt` are based on their stable/LTS Debian/Ubuntu corresponding version at the moment of the Odoo release." +msgstr "" + +#: ../../content/administration/install/install.rst:587 +msgid "E.g., for Odoo 15.0, the `python3-babel` package version is 2.8.0 in Debian Bullseye and 2.6.0 in Ubuntu Focal. The lowest version is then chosen in the :file:`requirements.txt`." +msgstr "" + +#: ../../content/administration/install/install.rst:590 +msgid "Navigate to the path of your Odoo Community installation (:file:`CommunityPath`) and run **pip** on the requirements file to install the requirements for the current user." +msgstr "" + +#: ../../content/administration/install/install.rst:599 +msgid "It can be preferable not to mix python modules packages between different instances of Odoo or with your system. You can use virtualenv_ to create isolated Python environments." +msgstr "" + +#: ../../content/administration/install/install.rst:603 +msgid "Other Dependencies" +msgstr "" + +#: ../../content/administration/install/install.rst:605 +msgid "`wkhtmltopdf` must be installed manually in version `0.12.5 `_ to support headers and footers. See our `wiki about wkhtmltopdf `_ for more details on the various versions." +msgstr "" + +#: ../../content/administration/install/install.rst:609 +msgid "Languages with a right-to-left interface (such as Arabic or Hebrew) require the `rtlcss` package:" +msgstr "" + +#: ../../content/administration/install/install.rst:611 msgid "Download and install **nodejs** and **npm** with your package manager." msgstr "" -#: ../../content/administration/install.rst:542 -#: ../../content/administration/install.rst:704 +#: ../../content/administration/install/install.rst:633 +#: ../../content/administration/install/install.rst:826 msgid "PostgreSQL user and password. Odoo has no defaults beyond `psycopg2's defaults `_: connects over a UNIX socket on port `5432` with the current user and no password." msgstr "" -#: ../../content/administration/install.rst:554 -#: ../../content/administration/install.rst:716 -msgid "Where `CommunityPath` is the path of the Odoo Community installation and `mydb` is the default database to serve on `localhost:8069`. You can add other directory paths separated by a comma to ``addons`` at the end of the addons-path option." +#: ../../content/administration/install/install.rst:645 +#: ../../content/administration/install/install.rst:838 +msgid "Where `CommunityPath` is the path of the Odoo Community installation and `mydb` is the name of the PostgreSQL database." msgstr "" -#: ../../content/administration/install.rst:559 +#: ../../content/administration/install/install.rst:665 msgid "Mac OS" msgstr "" -#: ../../content/administration/install.rst:612 -msgid "Odoo requires Python 3.6 or later to run. Use your preferred package manager (homebrew_, macports_) to download and install Python 3 on your machine if it is not already done." +#: ../../content/administration/install/install.rst:729 +msgid "Odoo requires Python 3.7 or later to run. Use your preferred package manager (homebrew_, macports_) to download and install Python 3 on your machine if it is not already done." msgstr "" -#: ../../content/administration/install.rst:631 +#: ../../content/administration/install/install.rst:748 msgid "Odoo uses PostgreSQL as database management system. Use `postgres.app `_ to download and install PostgreSQL (supported version: 10.0 and later)." msgstr "" -#: ../../content/administration/install.rst:663 +#: ../../content/administration/install/install.rst:752 +msgid "To make the command line tools bundled with `postgres.app` available, make sure to setup your `$PATH` variable by following the `Postgres.app CLI Tools Instructions `_." +msgstr "" + +#: ../../content/administration/install/install.rst:776 +msgid "Navigate to the path of your Odoo Community installation (`CommunityPath`) and run **pip** on the requirements file:" +msgstr "" + +#: ../../content/administration/install/install.rst:785 msgid "Non-Python dependencies need to be installed with a package manager:" msgstr "" -#: ../../content/administration/install.rst:665 +#: ../../content/administration/install/install.rst:787 msgid "Download and install the **Command Line Tools**:" msgstr "" -#: ../../content/administration/install.rst:671 +#: ../../content/administration/install/install.rst:793 msgid "Download and install the package manager of your choice (homebrew_, macports_)." msgstr "" -#: ../../content/administration/install.rst:672 +#: ../../content/administration/install/install.rst:794 msgid "Install non-python dependencies." msgstr "" -#: ../../content/administration/install.rst:682 +#: ../../content/administration/install/install.rst:804 msgid "Download and install **nodejs** with your preferred package manager (homebrew_, macports_)." msgstr "" -#: ../../content/administration/install.rst:724 -#: ../../content/administration/update.rst:147 +#: ../../content/administration/install/install.rst:842 +msgid "Some versions of python on Mac might lead to the following error message: `current limit exceeds maximum limit`. In that case, add the following parameter `--limit-memory-hard 0` to avoid the problem." +msgstr "" + +#: ../../content/administration/install/install.rst:863 +#: ../../content/administration/maintain/update.rst:149 msgid "Docker" msgstr "" -#: ../../content/administration/install.rst:726 -msgid "The full documentation on how to use Odoo with Docker can be found on the official Odoo `docker image `_ page." +#: ../../content/administration/install/install.rst:865 +msgid "The full documentation on how to use Odoo with Docker can be found on the official Odoo `docker image `_ page." msgstr "" -#: ../../content/administration/odoo_sh.rst:3 -msgid "Odoo sh" +#: ../../content/administration/maintain.rst:5 +msgid "Maintain" msgstr "" -#: ../../content/administration/odoo_sh/advanced.rst:4 +#: ../../content/administration/maintain/azure_oauth.rst:3 +msgid "Connect Microsoft Outlook 365 to Odoo using Azure OAuth" +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:5 +msgid "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." +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:11 +msgid "`Microsoft Learn: Register an application with the Microsoft identity platform `_" +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:15 +msgid "Setup in Microsoft Azure Portal" +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:18 +msgid "Create a new application" +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:20 +msgid "To get started, go to `Microsoft's Azure Portal `_. 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`." +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:26 +msgid "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)`." +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:32 +msgid "Under the :guilabel:`Redirect URL` section, select :guilabel:`Web` as the platform, and then input `https:///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." +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:37 +msgid "*mydatabase.odoo.com*, where *mydatabase* is the actual prefix of the database's subdomain, assuming it's hosted on Odoo.com" +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:40 +msgid "After the URL has been added to the field, :guilabel:`Register` the application so it is created." +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:43 +msgid "API permissions" +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:45 +msgid "The :guilabel:`API permissions` should be set next. Odoo will need specific API permissions to be able to read (IMAP) and send (IMAP) 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." +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:51 +msgid "In the search bar, search for the following :guilabel:`Deregulated permissions` and click :guilabel:`Add permissions` for each one:" +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:54 +msgid ":guilabel:`SMTP.Send`" +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:55 +msgid ":guilabel:`IMAP.AccessAsUser.All`" +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:58 +msgid "The :guilabel:`User.Read` permission will be added by default." +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:None +msgid "API permissions needed for Odoo integration are listed under the Microsoft Graph." +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:65 +msgid "Assign users and groups" +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:67 +msgid "After adding the API permissions, navigate back to the :guilabel:`Overview` of the :guilabel:`Application` in the top of the left sidebar menu." +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:70 +msgid "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." +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:None +msgid "Add users/groups by clicking the Managed application in local directory link for the\n" +"created application." +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:79 +msgid "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." +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:84 +msgid "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." +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:90 +msgid "Create credentials" +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:92 +msgid "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." +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:None +msgid "Application/Client ID located in the Overview of the app." +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:102 +msgid "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." +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:106 +msgid "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`." +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:111 +msgid "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." +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:115 +msgid "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." +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:None +msgid "Client Secret Value or Value in the app's credentials." +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:124 +msgid "After these steps, the following items should be ready to be set up in Odoo:" +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:126 +msgid "A client ID (:guilabel:`Client ID` or :guilabel:`Application ID`)" +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:127 +msgid "A client secret (:guilabel:`Value` or :guilabel:`Client Secret Value`)" +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:129 +msgid "This completes the setup on the :guilabel:`Microsoft Azure Portal` side." +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:132 +#: ../../content/administration/maintain/google_oauth.rst:84 +msgid "Setup in Odoo" +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:135 +msgid "Enter Microsoft Outlook credentials" +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:137 +msgid "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`." +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:141 +msgid "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`." +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:145 +msgid ":guilabel:`Save` the progress." +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:147 +msgid "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." +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:None +msgid "Outlook Credentials in Odoo General Settings." +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:155 +#: ../../content/administration/maintain/google_oauth.rst:98 +msgid "Configure outgoing email server" +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:157 +msgid "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." +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:160 +msgid "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`." +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:163 +msgid "If the :guilabel:`From Filter` field is empty, enter either a :ref:`domain or email address `." +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:166 +msgid "Then, cick on :guilabel:`Connect your Outlook account`." +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:168 +msgid "A new window from Microsoft opens to complete the :guilabel:`authorization process`. Select the appropriate email address that is being configured in Odoo." +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:None +msgid "Permission page to grant access between newly created app and Odoo." +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:175 +msgid "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." +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:None +msgid "Valid Outlook Token indicator." +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:184 +msgid "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." +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:188 +msgid "Multiple user configuration" +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:190 +msgid "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." +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:194 +msgid "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 `." +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:201 +#: ../../content/administration/maintain/mailjet_api.rst:213 +msgid "The :guilabel:`System Parameters` can be accessed by activating :doc:`../../applications/general/developer_mode` in the :menuselection:`Settings --> Technical --> Parameters --> System Parameters` menu." +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:206 +msgid "Configure incoming email server" +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:208 +msgid "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." +msgstr "" + +#: ../../content/administration/maintain/azure_oauth.rst:216 +msgid ":doc:`../../applications/general/email_communication/email_servers`" +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:3 +msgid "Domain names" +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:5 +msgid "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." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:9 +msgid "You can use a custom domain name to access your Odoo database and websites:" +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:11 +msgid "By :ref:`registering a free domain name with Odoo ` (for Odoo Online databases)" +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:13 +msgid "By :ref:`configuring a custom domain that you already own `." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:16 +msgid "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``)." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:20 +msgid "Odoo offers a :ref:`free custom domain name ` 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``." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:25 +msgid "`Odoo Tutorials: Register a Free Domain Name `_" +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:27 +msgid "`Odoo Quick Tips: Get a free domain name! `_" +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:32 +msgid "About domain names" +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:34 +msgid "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*." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:38 +msgid "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.)" +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:44 +msgid "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." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:51 +msgid "Indexing of domain names by search engines" +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:53 +msgid "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." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:58 +msgid "Improving the appearance and positioning of web pages on search engines is a practice named \"Search Engine Optimization\" (SEO)." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:62 +msgid "Adding relevant content, optimizing metadata, and building high-quality backlinks can all help improve a website's search engine visibility." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:65 +msgid "Some search engines provide tools for web admins, such as `Google Search Console `_ and `Bing Webmaster Tools `_, 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 ` and for domain names managed by other providers." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:74 +msgid ":doc:`/applications/websites/website/optimize/seo`" +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:75 +msgid "`Google Search Console Help - Verify your site ownership `_" +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:76 +msgid "`Bing Webmaster Tools - Add and Verify site `_" +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:81 +msgid "Register a free domain name with Odoo" +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:83 +msgid "You can register a domain name for your Odoo Online database directly from Odoo Website or your database manager." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:87 +msgid "Your domain name is **free for one year** if you register it with Odoo!" +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:88 +msgid "The domain name is registered with `Gandi `_, the domain name registrar." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:90 +msgid "You are the owner of the domain name and can use it for other purposes." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:91 +msgid "Odoo manages payment and technical support for you." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:92 +msgid "This offer doesn't include any mailbox. However, you can :ref:`configure your MX records ` to use your own email server or solution such as Google Workspace." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:95 +msgid "To do so, go to :menuselection:`Website --> Go to website --> Promote --> Domain Name`. Alternatively, open your `database manager `_, click on the :guilabel:`settings` button next to your database, then on :guilabel:`Domain names`." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:None +msgid "Clicking on Domain Names from an Odoo website" +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:103 +msgid "Search for the domain name of your choice to check its availability, then select the one you want to register for your website." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:None +msgid "The search of the domain name example.com shows which associated domains are available." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:110 +msgid "Next, fill in the form with your information to become the domain name owner." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:112 +msgid "Your domain name is directly linked to your database, but you still have to :ref:`map your domain name with your website `." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:116 +msgid "Free domain names are also available for free Odoo Online databases (if you installed one app only, for example). In this case, Odoo reviews your request and your website to avoid abuse. This process may take up to three days." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:119 +msgid "This is not available for Odoo.sh databases yet." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:124 +msgid "Manage your domain name registered with Odoo" +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:126 +msgid "To manage the DNS records of your domain name registered with Odoo or to visualize the contacts associated with it, open your `database manager `_, click on the :guilabel:`settings` button next to your database, on :guilabel:`Domain names`, and then on :guilabel:`Contacts` or :guilabel:`DNS`." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:None +msgid "Management of the domain names linked to an Odoo database" +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:136 +msgid "Please `submit a support ticket `_ if you need further assistance to manage your domain name." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:142 +msgid "Configure your existing domain name" +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:144 +msgid "If you already own a domain name, you can use it to point to your website." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:146 +msgid "To avoid any issue with the :ref:`SSL certificate validation `, we highly recommend that you proceed with the following actions in this order:" +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:149 +msgid ":ref:`Add a CNAME record ` on your domain name's DNS zone." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:150 +msgid ":ref:`Map your domain name with your Odoo database `." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:151 +msgid ":ref:`Map your domain name with your Odoo website `." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:156 +msgid "Add a CNAME record" +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:158 +msgid "A **CNAME record** is a type of DNS record that points to the domain of another website rather than directly to an IP address." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:161 +msgid "You need a CNAME record that points to your Odoo database. The requirements are detailed in your database manager." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:168 +msgid "The target address is the current address of your database, as defined at its creation (e.g., ``example.odoo.com``)" +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:171 +#: ../../content/administration/maintain/domain_names.rst:250 +#: ../../content/administration/maintain/supported_versions.rst:27 +#: ../../content/administration/odoo_sh.rst:5 +#: ../../content/administration/upgrade/odoo_sh.rst:3 +msgid "Odoo.sh" +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:173 +msgid "Your project's main address is defined in :menuselection:`Settings --> Project Name`." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:175 +msgid "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." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:180 +#: ../../content/administration/maintain/domain_names.rst:222 +msgid "Open your domain name's manager dashboard." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:181 +msgid "Open the **DNS zone** management page for the domain name you want to configure." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:182 +msgid "Create a **CNAME record** pointing to the address of your database." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:184 +msgid "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``)." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:189 +msgid "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 ` ``example.com``." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:194 +msgid "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.``" +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:198 +msgid "You also create a redirection from ``example.com`` to ``wwww.example.com``." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:200 +msgid "Your new DNS records are propagated to all DNS servers." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:203 +msgid "Here are some specific guidelines to create a CNAME record:" +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:205 +msgid "`GoDaddy `_" +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:206 +msgid "`Namecheap `_" +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:207 +msgid "`OVH `_" +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:208 +msgid "`CloudFlare `_" +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:209 +msgid "`Google Domains `_" +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:214 +msgid "Naked domain" +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:216 +msgid "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``)." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:219 +msgid "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." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:223 +msgid "Create a **redirection** from the naked domain (``example.com``) to your main domain name (``www.example.com``)." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:227 +msgid "Depending on your domain name registrar, this redirection may be already pre-configured." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:232 +msgid "Map your domain name with your Odoo database" +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:238 +msgid "Open your `database manager `_, 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." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:242 +msgid "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`." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:0 +msgid "Verification of the CNAME records of a domain name before mapping it with a database" +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:252 +msgid "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`." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:0 +msgid "Mapping a domain name with an Odoo.sh branch" +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:260 +msgid ":ref:`Odoo.sh branches: settings tab `" +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:263 +msgid "Make sure to :ref:`add a CNAME record ` to your domain name's DNS **before** mapping your domain name with your Odoo database." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:266 +msgid "Failing to do so may impede the validation of the :ref:`SSL certificate ` 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\"*." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:270 +msgid "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 `_ including screenshots of your CNAME records." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:277 +msgid "SSL encryption (HTTPS protocol)" +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:279 +msgid "**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." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:283 +msgid "Odoo generates a separate SSL certificate for each domain :ref:`mapped in the database manager `, using integration with `Let's Encrypt Certificate Authority and ACME protocol `_." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:288 +msgid "The certificate generation may take up to 24h." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:289 +msgid "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." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:291 +msgid "If you already use another service, you can keep using it or simply change for Odoo." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:296 +msgid "Web base URL of a database" +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:299 +msgid "If you have Odoo Website, you can disregard this part and directly :ref:`map your domain name with your website `." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:302 +msgid "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.)." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:305 +msgid "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." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:309 +msgid "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." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:312 +msgid "Alternatively, you can do it manually. To do so, activate the :ref:`developer mode `, then go to :menuselection:`Settings --> Technical --> System Parameters`." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:315 +msgid "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``." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:319 +msgid "The URL must include the protocol ``https://`` (or ``http://``) and must not end with a slash (``/``)." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:322 +msgid "To prevent the automatic update of the web base URL when an administrator logs in the database, you can create the following System Parameter:" +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:325 +msgid "key: ``web.base.url.freeze``" +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:326 +msgid "value: ``True``" +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:331 +msgid "Map your domain name with your website" +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:333 +msgid "Mapping your domain name to your website isn't the same as mapping it with your database:" +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:335 +msgid "It defines your domain name as the main one for your website, helping search engines to index your website properly." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:337 +msgid "It defines your domain name as the base URL for your database, including the portal links sent by email to your customers." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:339 +msgid "If you have multiple websites, it maps your domain name with the appropriate website." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:341 +msgid "Go to :menuselection:`Website --> Configuration --> Settings --> Website Info`. If you have multiple websites, select the one you want to configure." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:344 +msgid "In the :guilabel:`Domain` field, fill in the web address of your website (e.g., ``https://www.example.com``) and click on :guilabel:`Save`." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:None +msgid "Configuring https://www.example.com as the Domain of the website" +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:352 +msgid "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``." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:355 +msgid "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 `_ to fix this." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:360 +msgid "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 ` according to the company in use." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:366 +msgid ":doc:`/applications/general/email_communication/email_servers`" +msgstr "" + +#: ../../content/administration/maintain/enterprise.rst:6 +msgid "Upgrade Community to Enterprise" +msgstr "" + +#: ../../content/administration/maintain/enterprise.rst:8 +msgid "Depending on your current installation, there are multiple ways to upgrade your community version. In any case the basic guidelines are:" +msgstr "" + +#: ../../content/administration/maintain/enterprise.rst:12 +#: ../../content/administration/maintain/enterprise.rst:31 +#: ../../content/administration/maintain/enterprise.rst:63 +#: ../../content/administration/maintain/enterprise.rst:80 +msgid "Backup your community database" +msgstr "" + +#: ../../content/administration/maintain/enterprise.rst:17 +#: ../../content/administration/maintain/enterprise.rst:62 +msgid "Shutdown your server" +msgstr "" + +#: ../../content/administration/maintain/enterprise.rst:19 +msgid "Install the web_enterprise module" +msgstr "" + +#: ../../content/administration/maintain/enterprise.rst:21 +msgid "Restart your server" +msgstr "" + +#: ../../content/administration/maintain/enterprise.rst:23 +msgid "Enter your Odoo Enterprise Subscription code" +msgstr "" + +#: ../../content/administration/maintain/enterprise.rst:29 +msgid "On Linux, using an installer" +msgstr "" + +#: ../../content/administration/maintain/enterprise.rst:33 +msgid "Stop the odoo service" +msgstr "" + +#: ../../content/administration/maintain/enterprise.rst:39 +msgid "Install the enterprise .deb (it should install over the community package)" +msgstr "" + +#: ../../content/administration/maintain/enterprise.rst:45 +msgid "Update your database to the enterprise packages using" +msgstr "" + +#: ../../content/administration/maintain/enterprise.rst:51 +msgid "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" +msgstr "" + +#: ../../content/administration/maintain/enterprise.rst:57 +msgid "On Linux, using the source code" +msgstr "" + +#: ../../content/administration/maintain/enterprise.rst:59 +msgid "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." +msgstr "" + +#: ../../content/administration/maintain/enterprise.rst:64 +msgid "Update the ``--addons-path`` parameter of your launch command (see :ref:`setup/install/source`)" +msgstr "" + +#: ../../content/administration/maintain/enterprise.rst:65 +msgid "Install the web_enterprise module by using" +msgstr "" + +#: ../../content/administration/maintain/enterprise.rst:71 +msgid "Depending on the size of your database, this may take some time." +msgstr "" + +#: ../../content/administration/maintain/enterprise.rst:73 +msgid "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" +msgstr "" + +#: ../../content/administration/maintain/enterprise.rst:78 +msgid "On Windows" +msgstr "" + +#: ../../content/administration/maintain/enterprise.rst:82 +msgid "Uninstall Odoo Community (using the Uninstall executable in the installation folder) - PostgreSQL will remain installed" +msgstr "" + +#: ../../content/administration/maintain/enterprise.rst:88 +msgid "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" +msgstr "" + +#: ../../content/administration/maintain/enterprise.rst:96 +msgid "Using a command window, update your Odoo Database using this command (from the Odoo installation path, in the server subfolder)" +msgstr "" + +#: ../../content/administration/maintain/enterprise.rst:103 +msgid "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" +msgstr "" + +#: ../../content/administration/maintain/google_oauth.rst:3 +msgid "Connect Gmail to Odoo using Google OAuth" +msgstr "" + +#: ../../content/administration/maintain/google_oauth.rst:5 +msgid "Odoo is compatible with Google's OAuth for Gmail. In order to send secure emails from a custom domain, all that is required is to configure a few settings on Google's *Workspace* platform, as well as on the back end of the Odoo database. This configuration works by using either a personal email address or an address created by a custom domain." +msgstr "" + +#: ../../content/administration/maintain/google_oauth.rst:11 +msgid "For more information, visit `Google's documentation `_ on setting up OAuth." +msgstr "" + +#: ../../content/administration/maintain/google_oauth.rst:15 +msgid "Setup in Google" +msgstr "" + +#: ../../content/administration/maintain/google_oauth.rst:18 +msgid "Create a new project" +msgstr "" + +#: ../../content/administration/maintain/google_oauth.rst:20 +msgid "To get started, go to the `Google API Platform `_. Log in with your *Google Workspace* account if you have one, otherwise log in with your personal Gmail account (this should match the email address you want to configure in Odoo)." +msgstr "" + +#: ../../content/administration/maintain/google_oauth.rst:25 +msgid "After that, click on :guilabel:`Create Project`, located on the far right of the OAuth consent screen. If a project has already been created in this account, then the :guilabel:`New Project` option will be located on the top left under the :guilabel:`Select a project` drop-down menu." +msgstr "" + +#: ../../content/administration/maintain/google_oauth.rst:29 +msgid "On the :guilabel:`New Project` screen, rename the :guilabel:`Project name` to `Odoo` and browse for the :guilabel:`Location`. Set the :guilabel:`Location` as the `Google Workspace` organization. If you are using a personal Gmail account, then leave the :guilabel:`Location` as `No Organization`." +msgstr "" + +#: ../../content/administration/maintain/google_oauth.rst:None +msgid "Project Name and Location for Google Oauth." +msgstr "" + +#: ../../content/administration/maintain/google_oauth.rst:37 +msgid "Click on :guilabel:`Create` to finish this step. On the next screen, :guilabel:`User Type` options, select the :guilabel:`External` option, and then click on :guilabel:`Create` again, which will finally navigate to the :guilabel:`Edit app registration` page." +msgstr "" + +#: ../../content/administration/maintain/google_oauth.rst:42 +msgid "Edit app registration" +msgstr "" + +#: ../../content/administration/maintain/google_oauth.rst:44 +msgid "On the :guilabel:`Oauth consent screen` step, under the :guilabel:`App information` section, enter `Odoo` in the :guilabel:`App name` field. Select the organization's email address under the :guilabel:`User support` email field." +msgstr "" + +#: ../../content/administration/maintain/google_oauth.rst:47 +msgid "Next, under :menuselection:`App Domain --> Authorized domains`, click on :guilabel:`Add Domain` and enter `odoo.com`." +msgstr "" + +#: ../../content/administration/maintain/google_oauth.rst:49 +msgid "After that, under the :guilabel:`Developer contact information` section, enter the organization's email address. Google uses this email address to notify the organization about any changes to your project." +msgstr "" + +#: ../../content/administration/maintain/google_oauth.rst:52 +msgid "Next, click on the :guilabel:`Save and Continue` button." +msgstr "" + +#: ../../content/administration/maintain/google_oauth.rst:53 +msgid "Then, skip the :guilabel:`Scopes` page by scrolling to the bottom and clicking on :guilabel:`Save and Continue`." +msgstr "" + +#: ../../content/administration/maintain/google_oauth.rst:55 +msgid "Next, add the email being configured under the :guilabel:`Test users` step by clicking on :guilabel:`Add Users` and then the :guilabel:`Save and Continue` button. A summary of the :guilabel:`App registration` appears." +msgstr "" + +#: ../../content/administration/maintain/google_oauth.rst:58 +msgid "Finally, scroll to the bottom and click on :guilabel:`Back to Dashboard`." +msgstr "" + +#: ../../content/administration/maintain/google_oauth.rst:61 +msgid "Create Credentials" +msgstr "" + +#: ../../content/administration/maintain/google_oauth.rst:63 +msgid "Now that you have set up the project, you need to create credentials, which includes the :guilabel:`Client ID` and :guilabel:`Client Secret`. First, click on :guilabel:`Credentials` in the left sidebar menu." +msgstr "" + +#: ../../content/administration/maintain/google_oauth.rst:67 +msgid "Then, click on :guilabel:`Create Credentials` in the top menu and select :guilabel:`OAuth client ID` from the dropdown menu." +msgstr "" + +#: ../../content/administration/maintain/google_oauth.rst:70 +msgid "Under :guilabel:`Application Type`, select :guilabel:`Web Application` from the dropdown menu." +msgstr "" + +#: ../../content/administration/maintain/google_oauth.rst:71 +msgid "In the :guilabel:`Client ID` field, enter `Odoo`." +msgstr "" + +#: ../../content/administration/maintain/google_oauth.rst:72 +msgid "Under the :guilabel:`Authorized redirect URIs` label, click the button :guilabel:`ADD URI`, and then input `https://yourdbname.odoo.com/google_gmail/confirm` in the :guilabel:`URIs 1` field. Be sure to replace the *yourdbname* part of the URL with your actual Odoo database name." +msgstr "" + +#: ../../content/administration/maintain/google_oauth.rst:75 +msgid "Next, click on :guilabel:`Create` to generate an OAuth :guilabel:`Client ID` and :guilabel:`Client Secret`. Finally, copy each generated value for later use when configuring in Odoo, and then navigate to the Odoo database." +msgstr "" + +#: ../../content/administration/maintain/google_oauth.rst:None +msgid "Client ID and Client Secret for Google OAuth." +msgstr "" + +#: ../../content/administration/maintain/google_oauth.rst:87 +msgid "Enter Google Credentials" +msgstr "" + +#: ../../content/administration/maintain/google_oauth.rst:89 +msgid "First, open Odoo and navigate to the :guilabel:`Apps` module. Then, remove the :guilabel:`Apps` filter from the search bar and type in `Google`. Install the module called :guilabel:`Google Gmail`." +msgstr "" + +#: ../../content/administration/maintain/google_oauth.rst:92 +msgid "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:`Gmail Credentials`. Then, copy and paste the :guilabel:`Client ID` and :guilabel:`Client Secret` into the respective fields and :guilabel:`Save` the settings." +msgstr "" + +#: ../../content/administration/maintain/google_oauth.rst:100 +msgid "After that, on the :guilabel:`General Settings` page, under :guilabel:`Custom Email Servers`, click :guilabel:`Outgoing Email Servers` to configure the external Gmail account." +msgstr "" + +#: ../../content/administration/maintain/google_oauth.rst:None +#: ../../content/administration/maintain/google_oauth.rst:None +msgid "Configure Outgoing Email Servers in Odoo." +msgstr "" + +#: ../../content/administration/maintain/google_oauth.rst:107 +msgid "Then, :guilabel:`Create` a new email server and select the option for :guilabel:`Gmail`. Next, fill in the :guilabel:`Description` (can be anything) and the email :guilabel:`Username` and click on :guilabel:`Connect your Gmail account`." +msgstr "" + +#: ../../content/administration/maintain/google_oauth.rst:111 +msgid "A new window from :guilabel:`Google` opens to complete the authorization process. Select the appropriate email address that is being configured in Odoo." +msgstr "" + +#: ../../content/administration/maintain/google_oauth.rst:114 +msgid "If the email address is a personal account, an extra step pops up, click :guilabel:`Continue` to allow the verification and connect the Gmail account to Odoo." +msgstr "" + +#: ../../content/administration/maintain/google_oauth.rst:117 +msgid "Then, allow Odoo to access the Google account by clicking on :guilabel:`Continue` or :guilabel:`Allow`. After that, the page navigates back to the newly configured outgoing email server in Odoo. The configuration automatically loads the token in Odoo, and a tag stating :guilabel:`Gmail Token Valid` appears in green." +msgstr "" + +#: ../../content/administration/maintain/google_oauth.rst:126 +msgid "Finally, save the settings and :guilabel:`Test the Connection`. A confirmation message should appear. The Odoo database can now send safe, secure emails through Google using OAuth authentication." +msgstr "" + +#: ../../content/administration/maintain/google_oauth.rst:131 +msgid "Google OAuth FAQ" +msgstr "" + +#: ../../content/administration/maintain/google_oauth.rst:134 +msgid "Production VS Testing Publishing Status" +msgstr "" + +#: ../../content/administration/maintain/google_oauth.rst:136 +msgid "Choosing :guilabel:`Production` as the :guilabel:`Publishing Status` (instead of Testing) will display the following warning message:" +msgstr "" + +#: ../../content/administration/maintain/google_oauth.rst:None +msgid "OAuth is Limited to 100 Sensitive Scope Logins." +msgstr "" + +#: ../../content/administration/maintain/google_oauth.rst:143 +msgid "To correct this warning, navigate to the `Google API Platform `_. If the :guilabel:`Publishing status` is :guilabel:`In Production`, click :guilabel:`Back to Testing` to correct the issue." +msgstr "" + +#: ../../content/administration/maintain/google_oauth.rst:148 +msgid "No Test Users Added" +msgstr "" + +#: ../../content/administration/maintain/google_oauth.rst:150 +msgid "If no test users are added to the OAuth consent screen, then a 403 access denied error will populate." +msgstr "" + +#: ../../content/administration/maintain/google_oauth.rst:None +msgid "403 Access Denied Error." +msgstr "" + +#: ../../content/administration/maintain/google_oauth.rst:157 +msgid "To correct this error, return to the :guilabel:`OAuth consent screen` under :guilabel:`APIs & Services` and add test user(s) to the app. Add the email that you are configuring in Odoo." +msgstr "" + +#: ../../content/administration/maintain/google_oauth.rst:162 +msgid "Gmail Module not updated" +msgstr "" + +#: ../../content/administration/maintain/google_oauth.rst:164 +msgid "If the :guilabel:`Gmail Module` in Odoo has not been updated to the latest version, then a :guilabel:`Forbidden` error message populates." +msgstr "" + +#: ../../content/administration/maintain/google_oauth.rst:None +msgid "Forbidden you don't have the permission to access the requested resource." +msgstr "" + +#: ../../content/administration/maintain/google_oauth.rst:171 +msgid "To correct this error, go to the :guilabel:`Apps` module and clear out the search terms. Then, search for `Gmail` or `Google` and upgrade the :guilabel:`Google Gmail` module. Finally, click on the three dots on the upper right of the module and select :guilabel:`Upgrade`." +msgstr "" + +#: ../../content/administration/maintain/google_oauth.rst:176 +msgid "Application Type" +msgstr "" + +#: ../../content/administration/maintain/google_oauth.rst:178 +msgid "When creating the :guilabel:`Credentials` (OAuth Client ID and Client Secret), if :guilabel:`Desktop App` is selected for the :guilabel:`Application Type`, an :guilabel:`Authorization Error` appears." +msgstr "" + +#: ../../content/administration/maintain/google_oauth.rst:None +msgid "Error 400 Redirect URI Mismatch." +msgstr "" + +#: ../../content/administration/maintain/google_oauth.rst:186 +msgid "To correct this error, delete the credentials already created and create new credentials, selecting :guilabel:`Web Application` for the :guilabel:`Application Type`. Then, under :guilabel:`Authorized redirect URIs`, click :guilabel:`ADD URI` and type: `https://yourdbname.odoo.com/google_gmail/confirm` in the field." +msgstr "" + +#: ../../content/administration/maintain/google_oauth.rst:192 +msgid "Replace *yourdbname* in the URL with the Odoo database name." +msgstr "" + +#: ../../content/administration/maintain/hosting_changes.rst:6 +msgid "Change hosting solution" +msgstr "" + +#: ../../content/administration/maintain/hosting_changes.rst:8 +msgid "You may want to move your Odoo database from one hosting solution to another. Depending on the platforms, you have to do it by yourself or contact our support team first." +msgstr "" + +#: ../../content/administration/maintain/hosting_changes.rst:12 +msgid "From on-premises to Odoo Online" +msgstr "" + +#: ../../content/administration/maintain/hosting_changes.rst:14 +msgid "Create a :ref:`duplicate ` of your database: in this duplicate, uninstall all the **non-standard apps**." +msgstr "" + +#: ../../content/administration/maintain/hosting_changes.rst:15 +msgid "Grab a \"dump with filestore\" of your database by using the Database Manager." +msgstr "" + +#: ../../content/administration/maintain/hosting_changes.rst:16 +msgid "**If you have time constraints, contact us earlier to schedule the transfer.**" +msgstr "" + +#: ../../content/administration/maintain/hosting_changes.rst:17 +msgid "`Create a support ticket `_ and attach the dump (if the file is too large, use any file transfer service and attach the link to your ticket). Also include your subscription number and the URL you want to use for your database (e.g.: my-company.odoo.com)." +msgstr "" + +#: ../../content/administration/maintain/hosting_changes.rst:18 +#: ../../content/administration/maintain/hosting_changes.rst:66 +msgid "We will make sure your database is compatible and upload it to our cloud. In case of technical issues, we will get in touch with you." +msgstr "" + +#: ../../content/administration/maintain/hosting_changes.rst:19 +msgid "It's done!" +msgstr "" + +#: ../../content/administration/maintain/hosting_changes.rst:22 +#: ../../content/administration/maintain/hosting_changes.rst:71 +msgid "Odoo Online is not compatible with **non-standard apps**." +msgstr "" + +#: ../../content/administration/maintain/hosting_changes.rst:23 +msgid "The database you are moving to Odoo Online must be in a :doc:`supported version `." +msgstr "" + +#: ../../content/administration/maintain/hosting_changes.rst:27 +msgid "From on-premises to Odoo.sh" +msgstr "" + +#: ../../content/administration/maintain/hosting_changes.rst:29 +#: ../../content/administration/maintain/hosting_changes.rst:46 +msgid "Follow the :ref:`Import your database section of the Odoo.sh documentation `." +msgstr "" + +#: ../../content/administration/maintain/hosting_changes.rst:30 +msgid "...and voilà!" +msgstr "" + +#: ../../content/administration/maintain/hosting_changes.rst:33 +msgid "From Odoo Online to on-premises" +msgstr "" + +#: ../../content/administration/maintain/hosting_changes.rst:35 +#: ../../content/administration/maintain/hosting_changes.rst:43 +msgid "Log into `your Odoo Online user portal `_ and look for the version number of your database." +msgstr "" + +#: ../../content/administration/maintain/hosting_changes.rst:36 +msgid "If your database does not run a :ref:`major version ` of Odoo, you cannot host it on-premises yet, you have to upgrade it first to a new major version. (*e.g.: If your database runs Odoo 12.3 which is not a major version, you have to upgrade it first to Odoo 13.0 or 14.0.*)" +msgstr "" + +#: ../../content/administration/maintain/hosting_changes.rst:37 +#: ../../content/administration/maintain/hosting_changes.rst:45 +msgid "Download a backup of your database by clicking on the \"Gear\" icon next to your database name then :menuselection:`Download` (if the download fails due to your backup file being too large, contact `our support `_)" +msgstr "" + +#: ../../content/administration/maintain/hosting_changes.rst:38 +#: ../../content/administration/maintain/hosting_changes.rst:87 +msgid "Restore it from the database manager on your local server." +msgstr "" + +#: ../../content/administration/maintain/hosting_changes.rst:41 +msgid "From Odoo Online to Odoo.sh" +msgstr "" + +#: ../../content/administration/maintain/hosting_changes.rst:44 +msgid "If your database does not run a :ref:`major version ` of Odoo, you cannot host it on Odoo.sh yet, you have to upgrade it first to a new major version. (*e.g.: If your database runs Odoo 12.3 which is not a major version, you have to upgrade it first to Odoo 13.0 or 14.0.*)" +msgstr "" + +#: ../../content/administration/maintain/hosting_changes.rst:49 +msgid "From Odoo.sh to Odoo Online" +msgstr "" + +#: ../../content/administration/maintain/hosting_changes.rst:51 +msgid "Uninstall all the **non-standard apps**." +msgstr "" + +#: ../../content/administration/maintain/hosting_changes.rst:52 +msgid "`Create a support ticket `_ and include the following:" +msgstr "" + +#: ../../content/administration/maintain/hosting_changes.rst:54 +msgid "Your subscription number" +msgstr "" + +#: ../../content/administration/maintain/hosting_changes.rst:55 +msgid "The URL you want to use for your database (e.g., `example.odoo.com`)" +msgstr "" + +#: ../../content/administration/maintain/hosting_changes.rst:56 +msgid "Which branch you want to migrate" +msgstr "" + +#: ../../content/administration/maintain/hosting_changes.rst:57 +msgid "In which region you want to be hosted:" +msgstr "" + +#: ../../content/administration/maintain/hosting_changes.rst:59 +msgid "Americas" +msgstr "" + +#: ../../content/administration/maintain/hosting_changes.rst:60 +msgid "Europe" +msgstr "" + +#: ../../content/administration/maintain/hosting_changes.rst:61 +msgid "Asia" +msgstr "" + +#: ../../content/administration/maintain/hosting_changes.rst:63 +msgid "Which user(s) will be the administrator(s)" +msgstr "" + +#: ../../content/administration/maintain/hosting_changes.rst:64 +msgid "When (and in which timezone) you want the database to be up and running" +msgstr "" + +#: ../../content/administration/maintain/hosting_changes.rst:68 +msgid "All done!" +msgstr "" + +#: ../../content/administration/maintain/hosting_changes.rst:72 +msgid "Make sure to uninstall all the **non-standard apps** in a staging build before doing it in your production build." +msgstr "" + +#: ../../content/administration/maintain/hosting_changes.rst:76 +msgid "Make sure you select the **region** that is closest to your users to reduce latency." +msgstr "" + +#: ../../content/administration/maintain/hosting_changes.rst:77 +msgid "The future **administrator(s)** must have an odoo.com account." +msgstr "" + +#: ../../content/administration/maintain/hosting_changes.rst:78 +msgid "The specific **date and time** at which you want the database to be up and running are mainly helpful to organize the switch from the odoo.sh server to the Odoo Online servers." +msgstr "" + +#: ../../content/administration/maintain/hosting_changes.rst:80 +msgid "Databases are **not reachable** during their migration." +msgstr "" + +#: ../../content/administration/maintain/hosting_changes.rst:81 +msgid "**If you have time constraints, contact us earlier to schedule the transfer**." +msgstr "" + +#: ../../content/administration/maintain/hosting_changes.rst:84 +msgid "From Odoo.sh to on-premises" +msgstr "" + +#: ../../content/administration/maintain/hosting_changes.rst:86 +msgid "Grab a :ref:`backup of your Odoo.sh production database `." +msgstr "" + +#: ../../content/administration/maintain/mailjet_api.rst:3 +msgid "Mailjet API" +msgstr "" + +#: ../../content/administration/maintain/mailjet_api.rst:5 +msgid "Odoo is compatible with Mailjet's :abbr:`API (Application Programming Interface)` for mass mailing. Set up a dedicated mass mailing server through Mailjet by configuring settings in the Mailjet account and the Odoo database. In some circumstances, settings need to be configured on the custom domain's :abbr:`DNS (Domain Name System)` settings as well." +msgstr "" + +#: ../../content/administration/maintain/mailjet_api.rst:11 +msgid "Set up in Mailjet" +msgstr "" + +#: ../../content/administration/maintain/mailjet_api.rst:14 +msgid "Create API credentials" +msgstr "" + +#: ../../content/administration/maintain/mailjet_api.rst:16 +msgid "To get started, sign in to the `Mailjet Account Information `_ page. Next, navigate to the :guilabel:`Senders & Domains` section and click on :guilabel:`SMTP and SEND API Settings`." +msgstr "" + +#: ../../content/administration/maintain/mailjet_api.rst:None +msgid "SMTP and Send API Settings link in the Senders & Domains section of Mailjet." +msgstr "" + +#: ../../content/administration/maintain/mailjet_api.rst:24 +msgid "Then, copy the :abbr:`SMTP (Simple Mail Transfer Protocol)` configuration settings onto a notepad. They can be found under the :guilabel:`Configuration (SMTP only)` section. The :abbr:`SMTP (Simple Mail Transfer Protocol)` configuration settings include the server address, the security option needed (Use :abbr:`SSL (Secure Sockets Layer)`/:abbr:`TLS (Transport Layer Security)`), and the port number. The settings are needed to configure Mailjet in Odoo, which is covered in the :ref:`last section `." +msgstr "" + +#: ../../content/administration/maintain/mailjet_api.rst:32 +msgid "`Mailjet: How can I configure my SMTP parameters? `_" +msgstr "" + +#: ../../content/administration/maintain/mailjet_api.rst:36 +msgid "Odoo blocks `port 25` on Odoo Online and Odoo.sh databases. :ref:`See reference here `." +msgstr "" + +#: ../../content/administration/maintain/mailjet_api.rst:None +msgid "SMTP configuration from Mailjet." +msgstr "" + +#: ../../content/administration/maintain/mailjet_api.rst:43 +msgid "Next, click on the button labeled :guilabel:`Retrieve your API credentials` to retrieve the Mailjet API credentials." +msgstr "" + +#: ../../content/administration/maintain/mailjet_api.rst:46 +msgid "Then, click on the eye icon to reveal the :guilabel:`API key`. Copy this key to a notepad, as this serves as the :guilabel:`Username` in the Odoo configuration. Next, click on the :guilabel:`Generate Secret Key` button to generate the :guilabel:`Secret Key`. Copy this key to a notepad, as this serves as the :guilabel:`Password` in the Odoo configuration." +msgstr "" + +#: ../../content/administration/maintain/mailjet_api.rst:52 +msgid "Add verified sender address(es)" +msgstr "" + +#: ../../content/administration/maintain/mailjet_api.rst:54 +msgid "The next step is to add a sender address or a domain to the Mailjet account settings so that the email address or domain is approved to send emails using Mailjet's servers. First, navigate to the `Mailjet Account Information `_ page. Next, click on the :guilabel:`Add a Sender Domain or Address` link under the :guilabel:`Senders & Domains` section." +msgstr "" + +#: ../../content/administration/maintain/mailjet_api.rst:None +msgid "Add a sender domain or address in the Mailjet interface." +msgstr "" + +#: ../../content/administration/maintain/mailjet_api.rst:63 +msgid "Determine if a sender's email address or the entire domain needs to be added to the Mailjet settings. It may be easier to configure the domain as a whole if :abbr:`DNS (Domain Name System)` access is available. Jump to the :ref:`Add a domain ` section for steps on adding the domain." +msgstr "" + +#: ../../content/administration/maintain/mailjet_api.rst:69 +msgid "Either all email addresses of the Odoo database users who are sending emails using Mailjet's servers need to be configured or the domain(s) of the users' email addresses can be configured." +msgstr "" + +#: ../../content/administration/maintain/mailjet_api.rst:72 +msgid "By default, the email address originally set up in the Mailjet account is added as a trusted sender. To add another email address, click on the button labeled :guilabel:`Add a sender address`. Then, add the email address that is configured to send from the custom domain." +msgstr "" + +#: ../../content/administration/maintain/mailjet_api.rst:76 +msgid "At minimum the following email addresses should be set up in the provider and verified in Mailjet:" +msgstr "" + +#: ../../content/administration/maintain/mailjet_api.rst:78 +msgid "notifications\\@yourdomain.com" +msgstr "" + +#: ../../content/administration/maintain/mailjet_api.rst:79 +msgid "bounce\\@yourdomain.com" +msgstr "" + +#: ../../content/administration/maintain/mailjet_api.rst:80 +msgid "catchall\\@yourdomain.com" +msgstr "" + +#: ../../content/administration/maintain/mailjet_api.rst:83 +msgid "Replace `yourdomain` with the custom domain for the Odoo database. If there isn't one, then use the :guilabel:`mail.catchall.domain` system parameter." +msgstr "" + +#: ../../content/administration/maintain/mailjet_api.rst:86 +msgid "After that, fill out the :guilabel:`Email Information` form, making sure to select the appropriate email type: transactional email or mass emails. After completing the form, an activation email is sent to the email address and the trusted sender can be activated." +msgstr "" + +#: ../../content/administration/maintain/mailjet_api.rst:90 +msgid "It is recommended to set up the :abbr:`SPF (Sender Policy Framework)`/:abbr:`DKIM (DomainKeys Identified Mail)`/:abbr:`DMARC (Domain-based Message Authentication, Reporting, and Conformance)` settings on the domain of the sender." +msgstr "" + +#: ../../content/administration/maintain/mailjet_api.rst:95 +#: ../../content/administration/maintain/mailjet_api.rst:162 +msgid "`Mailjet's SPF/DKIM/DMARC documentation `_" +msgstr "" + +#: ../../content/administration/maintain/mailjet_api.rst:99 +msgid "If the database is not using a custom domain, then in order to verify the sender's address, a temporary alias (of the three email addresses mentioned above) should be set up in Odoo CRM to create a lead. Then, the database is able to receive the verification email and verify the accounts." +msgstr "" + +#: ../../content/administration/maintain/mailjet_api.rst:107 +msgid "Add a domain" +msgstr "" + +#: ../../content/administration/maintain/mailjet_api.rst:109 +msgid "By adding an entire domain to the Mailjet account, all the sender addresses related to that domain are automatically validated for sending emails using Mailjet servers. First, navigate to the `Mailjet Account Information `_ page. Next, click on :guilabel:`Add a Sender Domain or Address` link under the :guilabel:`Senders & Domains` section. Then, click on :guilabel:`Add domain` to add the custom domain." +msgstr "" + +#: ../../content/administration/maintain/mailjet_api.rst:116 +msgid "The domain needs to be added to the Mailjet account and then validated through the :abbr:`DNS (Domain Name System)`." +msgstr "" + +#: ../../content/administration/maintain/mailjet_api.rst:119 +msgid "After that, fill out the :guilabel:`Add a new Domain` page on Mailjet and click :guilabel:`Continue`." +msgstr "" + +#: ../../content/administration/maintain/mailjet_api.rst:122 +msgid "After adding the domain, a validation page will populate. Unless the Odoo database is on-premise (in which case, choose :guilabel:`Option 1`), choose :guilabel:`Option 2: Create a DNS Record`. Copy the TXT record information to a notepad and then navigate to the domain's :abbr:`DNS (Domain Name System)` provider to complete validation." +msgstr "" + +#: ../../content/administration/maintain/mailjet_api.rst:None +msgid "The TXT record information to input on the domain's DNS." +msgstr "" + +#: ../../content/administration/maintain/mailjet_api.rst:132 +msgid "Setup in the domain's DNS" +msgstr "" + +#: ../../content/administration/maintain/mailjet_api.rst:134 +msgid "After getting the TXT record information from the Mailjet account, add a TXT record to the domain's :abbr:`DNS (Domain Name System)`. This process varies depending on the :abbr:`DNS (Domain Name System)` provider. Consult the provider for specific configuration processes. The TXT record information consists of the :guilabel:`Host` and :guilabel:`Value`. Paste these into the corresponding fields in the TXT record." +msgstr "" + +#: ../../content/administration/maintain/mailjet_api.rst:141 +msgid "Return to Mailjet account information" +msgstr "" + +#: ../../content/administration/maintain/mailjet_api.rst:143 +msgid "After adding the TXT record to the domain's :abbr:`DNS (Domain Name System)`, navigate back to the Mailjet account. Then, navigate to :menuselection:`Account Information --> Add a Sender Domain or Address`, click the gear icon next to :guilabel:`Domain`, and select :guilabel:`Validate`." +msgstr "" + +#: ../../content/administration/maintain/mailjet_api.rst:147 +msgid "This action can also be done by going to the `Sender domains & addresses `_ page on the Mailjet account information and clicking on :guilabel:`Manage`." +msgstr "" + +#: ../../content/administration/maintain/mailjet_api.rst:150 +msgid "Next, click :guilabel:`Check Now` to validate the TXT record that was added on the domain. A success screen will appear if the domain is configured correctly." +msgstr "" + +#: ../../content/administration/maintain/mailjet_api.rst:None +msgid "Check DNS record in Mailjet." +msgstr "" + +#: ../../content/administration/maintain/mailjet_api.rst:157 +msgid "After successfully setting up the domain, there is an option to :guilabel:`Authenticate this domain (SPF/DKIM)`. This button populates :abbr:`SPF (Sender Policy Framework)` & :abbr:`DKIM (DomainKeys Identified Mail) records to input into the :abbr:`DNS (Domain Name System)` provider." +msgstr "" + +#: ../../content/administration/maintain/mailjet_api.rst:None +msgid "Authenticate the domain with SPF/DKIM records in Mailjet." +msgstr "" + +#: ../../content/administration/maintain/mailjet_api.rst:172 +msgid "Set up in Odoo" +msgstr "" + +#: ../../content/administration/maintain/mailjet_api.rst:174 +msgid "To complete the setup, navigate to the Odoo database and go to the :guilabel:`Settings`. With :ref:`developer-mode` turned on, go to the :menuselection:`Technical Menu --> Email --> Outgoing Mail Servers`. Then, create a new outgoing server configuration by clicking on the :guilabel:`Create` button." +msgstr "" + +#: ../../content/administration/maintain/mailjet_api.rst:179 +msgid "Next, input the `SMTP server` (in-v3.mailjet.com), `port number` (587 or 465), and `Security (SSL/TLS)` that was copied earlier from the Mailjet account. They can also be found `here `_. It is recommended to use :abbr:`SSL (Secure Sockets Layer)`/:abbr:`TLS (Transport Layer Security)` even though Mailjet may not require it." +msgstr "" + +#: ../../content/administration/maintain/mailjet_api.rst:184 +msgid "For the :guilabel:`Username`, input the :guilabel:`API KEY`. For the :guilabel:`Password`, input the :guilabel:`SECRET KEY` that was copied from the Mailjet account to the notepad earlier. These settings can be found on :menuselection:`Mailjet --> Account Settings --> SMTP and SEND API Settings`." +msgstr "" + +#: ../../content/administration/maintain/mailjet_api.rst:189 +msgid "Then, if the Mailjet server is used for mass emailing, set the :guilabel:`Priority` value higher than that of any transactional email server(s). Finally, save the settings and :guilabel:`Test the Connection`." +msgstr "" + +#: ../../content/administration/maintain/mailjet_api.rst:None +msgid "Odoo outgoing email server settings." +msgstr "" + +#: ../../content/administration/maintain/mailjet_api.rst:198 +msgid "In order for the notifications feature to work using Mailjet, there are three settings that need to be set in Odoo." +msgstr "" + +#: ../../content/administration/maintain/mailjet_api.rst:201 +msgid "The :guilabel:`From Filter` needs to be set on the server configuration. It is recommended to set it as a domain and not a full email address. It should match the domain in the two proceeding steps. More information can be referenced :ref:`here `." +msgstr "" + +#: ../../content/administration/maintain/mailjet_api.rst:205 +msgid "The :guilabel:`mail.default.from` system parameter must have the value `notifications\\@yourdomain.com`." +msgstr "" + +#: ../../content/administration/maintain/mailjet_api.rst:207 +msgid "The :guilabel:`mail.default.from_filter` system parameter must have the value `yourdomain.com`. Replace `yourdomain` with the custom domain for the Odoo database. If there isn't one, then use the :guilabel:`mail.catchall.domain` system parameter." +msgstr "" + +#: ../../content/administration/maintain/mailjet_api.rst:211 +msgid "For more information see :ref:`Using a default email address `." +msgstr "" + +#: ../../content/administration/maintain/mailjet_api.rst:217 +msgid "Once the setup is complete, the Odoo database is ready to use the Mailjet email server for mass mailing or transactional emails!" +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:3 +msgid "Odoo Online database management" +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:5 +msgid "To manage a database, sign in to https://www.odoo.com and access the `database management page `_ by clicking on the user icon, then on *My Databases*." +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:None +msgid "Clicking on the user icon opens a drop-down menu. \"My databases\" button is highlighted." +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:13 +msgid "Make sure you are connected as the administrator of the database you want to manage." +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:None +msgid "Clicking on the gear icon opens the drop-down menu." +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:19 +msgid "Open the drop-down menu next to the database you want to manage by clicking on the gear icon." +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:21 +msgid "Several actions are available:" +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:23 +msgid ":ref:`odoo_online/upgrade`" +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:24 +msgid ":ref:`odoo_online/duplicate`" +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:25 +msgid ":ref:`odoo_online/rename`" +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:26 +msgid ":ref:`odoo_online/download`" +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:27 +msgid ":ref:`odoo_online/domains`" +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:28 +msgid ":ref:`odoo_online/tags`" +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:29 +msgid ":ref:`odoo_online/delete`" +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:30 +msgid ":ref:`odoo_online/contact-support`" +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:31 +msgid ":ref:`odoo_online/users`" +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:36 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:293 +#: ../../content/administration/upgrade.rst:10 +msgid "Upgrade" +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:38 +msgid "If you are *not* on the latest **Online version**, you should receive an invitation to :doc:`upgrade <../upgrade>` your database. A **Rolling Release button** on your database's main screen proposes an upgrade to the latest version (e.g., 13.0 to 15.1)." +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:0 +msgid "**If your Odoo database's version is lower than the latest major release:**" +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:0 +msgid "You must upgrade your database within two months. After these two months, an automatic upgrade is initiated." +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:0 +msgid "**If your Odoo database's version is equal to or higher than the latest major release:**" +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:0 +msgid "You can disregard the invitation to upgrade as you probably wouldn't benefit from new features every two months." +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:51 +msgid "Versions that are not supported anymore become deprecated and need to be updated to avoid security issues. We recommend you initiate the upgrade of the database yourself, as this method allows you to request a test upgrade of your database to check for any discrepancies." +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:56 +msgid ":doc:`../upgrade`" +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:57 +msgid ":doc:`supported_versions`" +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:62 +msgid "Duplicate" +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:64 +msgid "Make an exact copy of the database to be able to perform testing without compromising the daily operations." +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:68 +msgid "By checking *For testing purposes*, all external communication (emails, payments, delivery orders, etc.) are disabled by default on the duplicated database." +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:70 +msgid "Duplicate databases expire automatically after 15 days." +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:75 +msgid "Rename" +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:77 +msgid "Rename the database and its URL." +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:82 +msgid "Download" +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:84 +msgid "Download instantly a ZIP file with a backup of the database." +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:87 +msgid "Databases are backed up daily according to the `Odoo Cloud SLA `_." +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:93 +msgid "Domains" +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:95 +msgid "Configure custom domains to access the database via another URL." +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:98 +msgid ":doc:`domain_names`" +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:103 +msgid "Tags" +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:105 +msgid "Add tags to sort your databases out. You can search the tags in the search bar." +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:110 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:550 +msgid "Delete" +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:112 +msgid "Delete a database instantly." +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:115 +msgid "Deleting a database means that all data is permanently lost. The deletion is instant and for all users. It is recommended to create a backup of the database before deleting it." +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:118 +msgid "Read carefully the warning message that pops up and proceed only if you fully understand the implications of deleting a database:" +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:None +msgid "A warning message is prompted before deleting a database." +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:126 +msgid "Only an administrator can delete a database." +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:127 +msgid "The database name is immediately available for a new database." +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:128 +msgid "It is not possible to delete a database if it is expired or linked to a subscription. If needed, please get in touch with `Odoo Support `_." +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:130 +msgid "To delete your account, please get in touch with `Odoo Support `_." +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:135 +msgid "Contact Support" +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:137 +msgid "Access the Odoo `support page `_ with your database's details already pre-filled." +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:143 +msgid "Invite / Remove Users" +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:145 +msgid "To invite users, fill out the email address of the new user and click on *Invite*. To add multiple users, click on *Add more users*." +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:None +msgid "Clicking on \"Add more users\" adds additional email fields." +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:152 +msgid "To remove users, select the users to remove and click on *Remove*." +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:155 +msgid ":doc:`/applications/general/users/manage_users`" +msgstr "" + +#: ../../content/administration/maintain/on_premise.rst:3 +msgid "On-premise database management" +msgstr "" + +#: ../../content/administration/maintain/on_premise.rst:6 +msgid "Register a database" +msgstr "" + +#: ../../content/administration/maintain/on_premise.rst:8 +msgid "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)." +msgstr "" + +#: ../../content/administration/maintain/on_premise.rst:16 +msgid "Registration Error Message" +msgstr "" + +#: ../../content/administration/maintain/on_premise.rst:18 +msgid "If you are unable to register your database, you will likely encounter this message:" +msgstr "" + +#: ../../content/administration/maintain/on_premise.rst:None +msgid "Something went wrong while registering your database, you can try again or contact Odoo\n" +"Help" +msgstr "" + +#: ../../content/administration/maintain/on_premise.rst:27 +#: ../../content/administration/maintain/on_premise.rst:100 +#: ../../content/administration/maintain/on_premise.rst:127 +msgid "Solutions" +msgstr "" + +#: ../../content/administration/maintain/on_premise.rst:29 +msgid "Do you have a valid Enterprise subscription?" +msgstr "" + +#: ../../content/administration/maintain/on_premise.rst:31 +msgid "Check if your subscription details get the tag \"In Progress\" on your `Odoo Account `__ or with your Account Manager" +msgstr "" + +#: ../../content/administration/maintain/on_premise.rst:35 +msgid "Have you already linked a database with your subscription reference?" +msgstr "" + +#: ../../content/administration/maintain/on_premise.rst:37 +msgid "You can link only one database per subscription. (Need a test or a development database? `Find a partner `__)" +msgstr "" + +#: ../../content/administration/maintain/on_premise.rst:41 +msgid "You can unlink the old database yourself on your `Odoo Contract `__ with the button \"Unlink database\"" +msgstr "" + +#: ../../content/administration/maintain/on_premise.rst:47 +msgid "A confirmation message will appear; make sure this is the correct database as it will be deactivated shortly:" +msgstr "" + +#: ../../content/administration/maintain/on_premise.rst:53 +msgid "Do you have the updated version of Odoo 9?" +msgstr "" + +#: ../../content/administration/maintain/on_premise.rst:55 +#: ../../content/administration/maintain/on_premise.rst:159 +msgid "From July 2016 onward, Odoo 9 now automatically change the uuid of a duplicated database; a manual operation is no longer required." +msgstr "" + +#: ../../content/administration/maintain/on_premise.rst:58 +msgid "If it's not the case, you may have multiple databases sharing the same UUID. Please check on your `Odoo Contract `__, a short message will appear specifying which database is problematic:" +msgstr "" + +#: ../../content/administration/maintain/on_premise.rst:66 +msgid "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 `." +msgstr "" + +#: ../../content/administration/maintain/on_premise.rst:69 +msgid "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." +msgstr "" + +#: ../../content/administration/maintain/on_premise.rst:73 +msgid "Check your network and firewall settings" +msgstr "" + +#: ../../content/administration/maintain/on_premise.rst:75 +msgid "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:" +msgstr "" + +#: ../../content/administration/maintain/on_premise.rst:79 +msgid "services.odoo.com on port 443 (or 80)" +msgstr "" + +#: ../../content/administration/maintain/on_premise.rst:80 +msgid "services.openerp.com on port 443 (or 80) for older deployments" +msgstr "" + +#: ../../content/administration/maintain/on_premise.rst:82 +msgid "Once you activated your database, you must keep these ports open, as the Update notification runs once a week." +msgstr "" + +#: ../../content/administration/maintain/on_premise.rst:86 +msgid "Error message due to too many users" +msgstr "" + +#: ../../content/administration/maintain/on_premise.rst:88 +msgid "If you have more users in your local database than provisionned in your Odoo Enterprise subscription, you may encounter this message:" +msgstr "" + +#: ../../content/administration/maintain/on_premise.rst:None +msgid "This database will expire in X days, you have more users than your subscription allows" +msgstr "" + +#: ../../content/administration/maintain/on_premise.rst:96 +msgid "When the message appears you have 30 days before the expiration. The countdown is updated everyday." +msgstr "" + +#: ../../content/administration/maintain/on_premise.rst:102 +msgid "**Add more users** on your subscription: follow the link and Validate the upsell quotation and pay for the extra users." +msgstr "" + +#: ../../content/administration/maintain/on_premise.rst:104 +msgid "**Deactivate users** as explained in this `documentation `_ and **Reject** the upsell quotation." +msgstr "" + +#: ../../content/administration/maintain/on_premise.rst:107 +msgid "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 ` to make the message disappear right away." +msgstr "" + +#: ../../content/administration/maintain/on_premise.rst:114 +msgid "Database expired error message" +msgstr "" + +#: ../../content/administration/maintain/on_premise.rst:116 +msgid "If your database reaches its expiration date before your renew your subscription, you will encounter this message:" +msgstr "" + +#: ../../content/administration/maintain/on_premise.rst:None +msgid "This database has expired." +msgstr "" + +#: ../../content/administration/maintain/on_premise.rst:123 +msgid "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." +msgstr "" + +#: ../../content/administration/maintain/on_premise.rst:131 +msgid "Renew your subscription: follow the link and renew your subscription - note that" +msgstr "" + +#: ../../content/administration/maintain/on_premise.rst:130 +msgid "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." +msgstr "" + +#: ../../content/administration/maintain/on_premise.rst:133 +msgid "Contact our `Support `__" +msgstr "" + +#: ../../content/administration/maintain/on_premise.rst:135 +msgid "None of those solutions worked for you? Please contact our `Support `__" +msgstr "" + +#: ../../content/administration/maintain/on_premise.rst:143 +msgid "Duplicate a database" +msgstr "" + +#: ../../content/administration/maintain/on_premise.rst:145 +msgid "You can duplicate your database by accessing the database manager on your server (/web/database/manager). In this page, you can easily duplicate your database (among other things)." +msgstr "" + +#: ../../content/administration/maintain/on_premise.rst:152 +msgid "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." +msgstr "" + +#: ../../content/administration/maintain/on_premise.rst:162 +msgid "The database uuid is currently accessible from the menu :menuselection:`Settings --> Technical --> System Parameters`, we advise you to use a `uuid generator `_ 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." +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:6 +#: ../../content/administration/upgrade.rst:208 +msgid "Supported versions" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:8 +msgid "Odoo provides support and bug fixing **for the 3 last major versions** of Odoo." +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:11 +msgid "Odoo releases intermediary versions called **Online versions** on the :doc:`Odoo Online ` hosting every two months. Odoo Online users can then benefit from the latest features of Odoo." +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:15 +msgid "Admins of Odoo Online databases are invited to :doc:`upgrade <../upgrade>` them regularly." +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:16 +msgid "Online versions are *not* released for Odoo.sh and On-Premise installations." +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:17 +msgid "Online versions are listed below as *SaaS*." +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:20 +msgid "What's the support status of my Odoo?" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:22 +msgid "This matrix shows the support status of every version." +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:24 +msgid "**Major releases are in bold type.**" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:27 +#: ../../content/administration/upgrade/on_premise.rst:3 +msgid "On-Premise" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:27 +msgid "Release date" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:27 +msgid "End of support" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:29 +msgid "**Odoo 16.0**" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:29 +#: ../../content/administration/maintain/supported_versions.rst:29 +#: ../../content/administration/maintain/supported_versions.rst:29 +#: ../../content/administration/maintain/supported_versions.rst:31 +#: ../../content/administration/maintain/supported_versions.rst:35 +#: ../../content/administration/maintain/supported_versions.rst:35 +#: ../../content/administration/maintain/supported_versions.rst:35 +#: ../../content/administration/maintain/supported_versions.rst:37 +#: ../../content/administration/maintain/supported_versions.rst:37 +#: ../../content/administration/maintain/supported_versions.rst:37 +msgid "|green|" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:29 +#: ../../content/administration/maintain/supported_versions.rst:39 +msgid "October 2022" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:29 +msgid "October 2025 (planned)" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:31 +msgid "Odoo saas~15.2" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:31 +#: ../../content/administration/maintain/supported_versions.rst:31 +#: ../../content/administration/maintain/supported_versions.rst:33 +#: ../../content/administration/maintain/supported_versions.rst:33 +#: ../../content/administration/maintain/supported_versions.rst:41 +#: ../../content/administration/maintain/supported_versions.rst:41 +#: ../../content/administration/maintain/supported_versions.rst:45 +#: ../../content/administration/maintain/supported_versions.rst:45 +#: ../../content/administration/maintain/supported_versions.rst:49 +#: ../../content/administration/maintain/supported_versions.rst:49 +#: ../../content/administration/maintain/supported_versions.rst:51 +#: ../../content/administration/maintain/supported_versions.rst:51 +#: ../../content/administration/maintain/supported_versions.rst:55 +#: ../../content/administration/maintain/supported_versions.rst:55 +#: ../../content/administration/maintain/supported_versions.rst:57 +#: ../../content/administration/maintain/supported_versions.rst:59 +#: ../../content/administration/maintain/supported_versions.rst:59 +#: ../../content/administration/maintain/supported_versions.rst:61 +msgid "N/A" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:31 +msgid "March 2022" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:31 +msgid "January 2023" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:33 +msgid "Odoo saas~15.1" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:33 +#: ../../content/administration/maintain/supported_versions.rst:39 +#: ../../content/administration/maintain/supported_versions.rst:39 +#: ../../content/administration/maintain/supported_versions.rst:39 +#: ../../content/administration/maintain/supported_versions.rst:41 +#: ../../content/administration/maintain/supported_versions.rst:43 +#: ../../content/administration/maintain/supported_versions.rst:43 +#: ../../content/administration/maintain/supported_versions.rst:43 +#: ../../content/administration/maintain/supported_versions.rst:45 +#: ../../content/administration/maintain/supported_versions.rst:47 +#: ../../content/administration/maintain/supported_versions.rst:47 +#: ../../content/administration/maintain/supported_versions.rst:47 +#: ../../content/administration/maintain/supported_versions.rst:49 +#: ../../content/administration/maintain/supported_versions.rst:51 +#: ../../content/administration/maintain/supported_versions.rst:53 +#: ../../content/administration/maintain/supported_versions.rst:53 +#: ../../content/administration/maintain/supported_versions.rst:53 +#: ../../content/administration/maintain/supported_versions.rst:55 +#: ../../content/administration/maintain/supported_versions.rst:57 +#: ../../content/administration/maintain/supported_versions.rst:57 +#: ../../content/administration/maintain/supported_versions.rst:59 +#: ../../content/administration/maintain/supported_versions.rst:61 +#: ../../content/administration/maintain/supported_versions.rst:61 +msgid "|red|" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:33 +msgid "February 2022" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:33 +msgid "July 2022" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:35 +msgid "**Odoo 15.0**" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:35 +#: ../../content/administration/maintain/supported_versions.rst:43 +msgid "October 2021" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:35 +msgid "October 2024 (planned)" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:37 +msgid "**Odoo 14.0**" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:37 +#: ../../content/administration/maintain/supported_versions.rst:47 +msgid "October 2020" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:37 +msgid "October 2023 (planned)" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:39 +msgid "**Odoo 13.0**" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:39 +#: ../../content/administration/maintain/supported_versions.rst:53 +msgid "October 2019" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:41 +msgid "Odoo saas~12.3" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:41 +msgid "August 2019" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:43 +msgid "**Odoo 12.0**" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:43 +#: ../../content/administration/maintain/supported_versions.rst:57 +msgid "October 2018" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:45 +msgid "Odoo saas~11.3" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:45 +msgid "April 2018" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:47 +msgid "**Odoo 11.0**" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:47 +#: ../../content/administration/maintain/supported_versions.rst:61 +msgid "October 2017" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:49 +msgid "Odoo 10.saas~15" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:49 +msgid "March 2017" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:51 +msgid "Odoo 10.saas~14" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:51 +msgid "January 2017" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:53 +msgid "**Odoo 10.0**" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:53 +msgid "October 2016" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:55 +msgid "Odoo 9.saas~11" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:55 +msgid "May 2016" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:57 +msgid "**Odoo 9.0**" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:57 +msgid "October 2015" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:59 +msgid "Odoo 8.saas~6" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:59 +msgid "February 2015" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:61 +msgid "**Odoo 8.0**" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:61 +msgid "September 2014" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:66 +msgid "|green| Supported version" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:68 +msgid "|red| End-of-support" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:70 +msgid "N/A Never released for this platform" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:72 +msgid "🏁 Future version, not released yet" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:83 +msgid "I run an older version of Odoo/OpenERP/TinyERP" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:85 +msgid "OpenERP 7.0, 6.1, 6.0 and 5.0 is not supported anymore, on any platform." +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:87 +msgid "TinyERP 4.0, 3.0, 2.0 and 1.0 is not supported anymore, on any platform." +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:89 +msgid "Even though we don't support older versions, you can always `upgrade from any version `_." +msgstr "" + +#: ../../content/administration/maintain/update.rst:6 +msgid "Bugfix updates" +msgstr "" + +#: ../../content/administration/maintain/update.rst:9 +msgid "Introduction" +msgstr "" + +#: ../../content/administration/maintain/update.rst:11 +msgid "In order to benefit from the latest improvements, security fixes, bug corrections and performance boosts, you may need to update your Odoo installation from time to time." +msgstr "" + +#: ../../content/administration/maintain/update.rst:14 +msgid "This guide only applies when are using Odoo on your own hosting infrastructure. If you are using one of the Odoo Cloud solutions, updates are automatically performed for you." +msgstr "" + +#: ../../content/administration/maintain/update.rst:17 +msgid "The terminology surrounding software updates is often confusing, so here are some preliminary definitions:" +msgstr "" + +#: ../../content/administration/maintain/update.rst:25 +msgid "Updating (an Odoo installation)" +msgstr "" + +#: ../../content/administration/maintain/update.rst:21 +msgid "Refers to the process of obtaining the latest revision of the source code for your current Odoo Edition. For example, updating your Odoo Enterprise 13.0 to the latest revision. This does not directly cause any change to the contents of your Odoo database, and can be undone by reinstalling the previous revision of the source code." +msgstr "" + +#: ../../content/administration/maintain/update.rst:35 +msgid "Upgrading (an Odoo database)" +msgstr "" + +#: ../../content/administration/maintain/update.rst:28 +msgid "Refers to a complex data processing operation where the structure and contents of your database is permanently altered to make it compatible with a new release of Odoo. This operation is irreversible and typically accomplished via Odoo's `database upgrade service `_, when you decide to switch to a newer release of Odoo. Historically, this process has also been known as a \"migration\" because it involves moving data around inside the database, even though the database may end up at the same physical location after the upgrade." +msgstr "" + +#: ../../content/administration/maintain/update.rst:37 +msgid "This page describes the typical steps needed to *update* an Odoo installation to the latest version. If you'd like more information about upgrading a database, please visit the `Odoo Upgrade page `_ instead." +msgstr "" + +#: ../../content/administration/maintain/update.rst:43 +msgid "In a nutshell" +msgstr "" + +#: ../../content/administration/maintain/update.rst:45 +msgid "Updating Odoo is accomplished by simply reinstalling the latest version of your Odoo 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)." +msgstr "" + +#: ../../content/administration/maintain/update.rst:49 +msgid "The main reference for updating is logically our :ref:`installation guide `, which explains the common installation methods." +msgstr "" + +#: ../../content/administration/maintain/update.rst:52 +msgid "Updating is also most appropriately accomplished by the person who deployed Odoo initially, because the procedure is very similar." +msgstr "" + +#: ../../content/administration/maintain/update.rst:55 +msgid "We always recommend to download a complete new up-to-date Odoo version, rather than manually applying patches, such as the security patches that come with Security Advisories. The patches are mainly provided for installations that are heavily customized, or for technical personnel who prefer to apply minimal changes temporarily while testing a complete update." +msgstr "" + +#: ../../content/administration/maintain/update.rst:64 +msgid "Step 1: Download an updated Odoo version" +msgstr "" + +#: ../../content/administration/maintain/update.rst:66 +msgid "The central download page is https://www.odoo.com/page/download. If you see a \"Buy\" link for the Odoo Enterprise download, make sure you are logged into Odoo.com with the same login that is linked to your Odoo Enterprise subscription." +msgstr "" + +#: ../../content/administration/maintain/update.rst:70 +msgid "Alternatively, you can use the unique download link that was included with your Odoo Enterprise purchase confirmation email." +msgstr "" + +#: ../../content/administration/maintain/update.rst:73 +msgid "Downloading an updated version is not necessary if you installed via Github (see below)" +msgstr "" + +#: ../../content/administration/maintain/update.rst:77 +msgid "Step 2: Make a backup of your database" +msgstr "" + +#: ../../content/administration/maintain/update.rst:79 +msgid "The update procedure is quite safe and should not alter you data. However it's always best to take a full database backup before performing any change on your installation, and to store it somewhere safe, on a different computer." +msgstr "" + +#: ../../content/administration/maintain/update.rst:83 +msgid "If you have not disabled the database manager screen (see :ref:`here ` why you should), you can use it (link at bottom of your database selection screen) to download a backup of your database(s). If you disabled it, use the same procedure than for your usual backups." +msgstr "" + +#: ../../content/administration/maintain/update.rst:89 +msgid "Step 3: Install the updated version" +msgstr "" + +#: ../../content/administration/maintain/update.rst:91 +msgid "Choose the method that matches your current installation:" +msgstr "" + +#: ../../content/administration/maintain/update.rst:95 +msgid "Packaged Installers" +msgstr "" + +#: ../../content/administration/maintain/update.rst:97 +msgid "If you installed Odoo with an installation package downloaded on our website (the recommended method), updating is very simple. All you have to do is download the installation package corresponding to your system (see step #1) and install it on your server. They are updated daily and include the latest security fixes. Usually, you can simply double-click the package to install it on top of the current installation. After installing the package, be sure to restart the Odoo service or reboot your server, and you're all set." +msgstr "" + +#: ../../content/administration/maintain/update.rst:106 +msgid "Source Install (Tarball)" +msgstr "" + +#: ../../content/administration/maintain/update.rst:108 +msgid "If you have originally installed Odoo with the \"tarball\" version (source code archive), you have to replace the installation directory with a newer version. First download the latest tarball 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." +msgstr "" + +#: ../../content/administration/maintain/update.rst:113 +msgid "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, and replace it with the newer \"odoo\" or \"openerp\" folder that was in the archive you just extracted." +msgstr "" + +#: ../../content/administration/maintain/update.rst:119 +msgid "Be sure to match the folder layout, for example the new \"addons\" folder included in the source code should end up exactly at the same path it was before. Next, watch out for any specific configuration files that you may have manually copied or modified in the old folder, and copy them over to the new folder. Finally, restart the Odoo service or reboot the machine, and you are all set." +msgstr "" + +#: ../../content/administration/maintain/update.rst:126 +msgid "Source Install (Github)" +msgstr "" + +#: ../../content/administration/maintain/update.rst:128 +msgid "If you have originally installed Odoo with a full Github clone of the official repositories, the update procedure requires you to pull the latest source code via git. Change into the directory for each repository (the main Odoo repository, and the Enterprise repository), and run the following commands::" +msgstr "" + +#: ../../content/administration/maintain/update.rst:136 +msgid "The last command may encounter source code conflicts if you had edited the Odoo source code locally. The error message will give you the list of files with conflicts, and you will need to resolve the conflicts manually, by editing them and deciding which part of the code to keep." +msgstr "" + +#: ../../content/administration/maintain/update.rst:140 +msgid "Alternatively, if you prefer to simply discard the conflicting changes and restore the official version, you can use the following command::" +msgstr "" + +#: ../../content/administration/maintain/update.rst:145 +msgid "Finally, restart the Odoo service or reboot the machine, and you should be done." +msgstr "" + +#: ../../content/administration/maintain/update.rst:151 +msgid "Please refer to our `Docker image documentation `_ for specific update instructions." +msgstr "" + +#: ../../content/administration/odoo_sh/advanced.rst:5 msgid "Advanced" msgstr "" @@ -2443,6 +3694,19 @@ msgstr "" msgid "Containers" msgstr "" +#: ../../content/administration/odoo_sh/advanced/containers.rst:7 +#: ../../content/administration/odoo_sh/advanced/submodules.rst:9 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:6 +#: ../../content/administration/odoo_sh/getting_started/builds.rst:9 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:6 +#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:9 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:6 +#: ../../content/administration/odoo_sh/getting_started/status.rst:6 +#: ../../content/administration/odoo_sh/overview.rst:5 +#: ../../content/administration/upgrade/odoo_sh.rst:8 +msgid "Overview" +msgstr "" + #: ../../content/administration/odoo_sh/advanced/containers.rst:9 msgid "Each build is isolated within its own container (Linux namespaced container)." msgstr "" @@ -2452,7 +3716,7 @@ msgid "The base is an Ubuntu system, where all of Odoo's required dependencies, msgstr "" #: ../../content/administration/odoo_sh/advanced/containers.rst:14 -msgid "If your project requires additional Python dependencies, or more recent releases, you can define a :file:`requirements.txt` file in the root of your branches listing them. The platform will take care to install these dependencies in your containers. `The pip requirements specifiers `_ documentation can help you write a :file:`requirements.txt` file. To have a concrete example, check out the `requirements.txt file of Odoo `_." +msgid "If your project requires additional Python dependencies, or more recent releases, you can define a :file:`requirements.txt` file in the root of your branches listing them. The platform will take care to install these dependencies in your containers. `The pip requirements specifiers `_ documentation can help you write a :file:`requirements.txt` file. To have a concrete example, check out the `requirements.txt file of Odoo `_." msgstr "" #: ../../content/administration/odoo_sh/advanced/containers.rst:22 @@ -2552,7 +3816,7 @@ msgid "``--stop-after-init`` will immediately shutdown the server instance after msgstr "" #: ../../content/administration/odoo_sh/advanced/containers.rst:169 -msgid "More options are available and detailed in the :doc:`CLI documentation `." +msgid "More options are available and detailed in the :doc:`CLI documentation `." msgstr "" #: ../../content/administration/odoo_sh/advanced/containers.rst:172 @@ -2619,6 +3883,10 @@ msgstr "" msgid "Finally, *via* the Odoo Shell, you can trigger the piece of code/function/method you want to debug." msgstr "" +#: ../../content/administration/odoo_sh/advanced/containers.rst:None +msgid "Console screenshot showing ``pdb`` running in an Odoo.sh shell." +msgstr "" + #: ../../content/administration/odoo_sh/advanced/frequent_technical_questions.rst:6 msgid "Frequent Technical Questions" msgstr "" @@ -2742,8 +4010,8 @@ msgstr "" #: ../../content/administration/odoo_sh/advanced/submodules.rst:82 #: ../../content/administration/odoo_sh/advanced/submodules.rst:94 -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:358 -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:487 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:360 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:498 msgid "Replace" msgstr "" @@ -2783,89 +4051,33 @@ msgstr "" msgid "If you're adding a repository that contains a lot of modules, you may want to ignore some of them in case there are any that are installed automatically. To do so, you can prefix your submodule folder with a :code:`.`. The platform will ignore this folder and you can hand pick your modules by creating symlinks to them from another folder." msgstr "" -#: ../../content/administration/odoo_sh/advanced/upgrade_your_database.rst:4 -msgid "Upgrade your database" +#: ../../content/administration/odoo_sh/getting_started.rst:5 +msgid "Get started" msgstr "" -#: ../../content/administration/odoo_sh/advanced/upgrade_your_database.rst:9 -msgid "Download and Upload your database" -msgstr "" - -#: ../../content/administration/odoo_sh/advanced/upgrade_your_database.rst:11 -msgid "Download a dump of your database (from the :ref:`Builds view `), choose the exact copy and without filestore options. Upload the .sql.gz dump on https://upgrade.odoo.com/upload and select the Testing Purpose. If you have custom code, you can choose to have it upgraded by us, or do it yourself. Once it's processed, you'll get a dump of the database in return." -msgstr "" - -#: ../../content/administration/odoo_sh/advanced/upgrade_your_database.rst:17 -msgid "Do *not* upload *backups* of your production database (found in the Backups tab of the production branch) as these are incompatible with the Upgrade platform - they contain your complete sources, etc. that are not needed for the upgrade. Make sure to download a **Dump** instead - either through the Backups tab using the *Download Dump* button or through the Builds page by using the *Download Dump* entry of the contextual menu of your latest production build." -msgstr "" - -#: ../../content/administration/odoo_sh/advanced/upgrade_your_database.rst:23 -msgid "Test your upgraded database" -msgstr "" - -#: ../../content/administration/odoo_sh/advanced/upgrade_your_database.rst:25 -msgid "Create a staging branch that will run the upgraded database. Either make sure your production branch's code is compatible between the two Odoo versions and fork your production branch, or make a new staging branch containing the upgraded code." -msgstr "" - -#: ../../content/administration/odoo_sh/advanced/upgrade_your_database.rst:29 -msgid "Once the staging build is done (it doesn't matter if it failed due to the version incompatibility), import your upgraded dump in the backups tab of the branch. The platform will automatically detect the version of the dump and change the version of Odoo's source code to the corresponding version for the build." -msgstr "" - -#: ../../content/administration/odoo_sh/advanced/upgrade_your_database.rst:33 -msgid "Test the upgraded database and make sure everything runs as it's supposed to." -msgstr "" - -#: ../../content/administration/odoo_sh/advanced/upgrade_your_database.rst:36 -msgid "Replace your existing production database" -msgstr "" - -#: ../../content/administration/odoo_sh/advanced/upgrade_your_database.rst:38 -msgid "Once you've tested everything and you're satisfied, start the process over to get an up-to-date upgraded dump:" -msgstr "" - -#: ../../content/administration/odoo_sh/advanced/upgrade_your_database.rst:40 -msgid "Make a new dump of your production database (as described in step 1)" -msgstr "" - -#: ../../content/administration/odoo_sh/advanced/upgrade_your_database.rst:41 -msgid "Upload it on upgrade.odoo.com and select the Production purpose" -msgstr "" - -#: ../../content/administration/odoo_sh/advanced/upgrade_your_database.rst:42 -msgid "Receive the newly upgraded dump and import it in your production branch. The build might get marked as failed because the platform will run it with the upgraded databases' Odoo version together with the old custom code." -msgstr "" - -#: ../../content/administration/odoo_sh/advanced/upgrade_your_database.rst:44 -msgid "Merge or commit the upgraded custom code in the production branch" -msgstr "" - -#: ../../content/administration/odoo_sh/advanced/upgrade_your_database.rst:46 -msgid "If anything goes wrong, remember you can restore a backup. The platform will always make one before you make any Odoo.sh operation on the production database. If the restored backup comes from a previous version, the platform will detect it and change the project's Odoo version back if it needs to." -msgstr "" - -#: ../../content/administration/odoo_sh/getting_started/branches.rst:4 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:3 msgid "Branches" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:9 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:8 msgid "The branches view gives you an overview of the different branches your repository has." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:17 -#: ../../content/administration/odoo_sh/getting_started/builds.rst:40 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:16 +#: ../../content/administration/odoo_sh/getting_started/builds.rst:41 msgid "Stages" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:19 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:18 msgid "Odoo.sh offers three different stages for your branches: production, staging and development." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:21 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:20 msgid "You can change the stage of a branch by drag and dropping it into the stage section title." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:29 -#: ../../content/administration/odoo_sh/getting_started/builds.rst:43 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:28 +#: ../../content/administration/odoo_sh/getting_started/builds.rst:44 msgid "Production" msgstr "" @@ -2882,7 +4094,7 @@ msgid "If your changes require the update of a module, such as a change in a for msgstr "" #: ../../content/administration/odoo_sh/getting_started/branches.rst:43 -msgid "This method is equivalent to perform an upgrade of the module through the Apps menu, or through the :code:`-u` switch of :doc:`the command line `." +msgid "This method is equivalent to perform an upgrade of the module through the Apps menu, or through the :code:`-u` switch of :doc:`the command line `." msgstr "" #: ../../content/administration/odoo_sh/getting_started/branches.rst:47 @@ -2898,591 +4110,595 @@ msgid "Partners using trial projects should be aware their production branch, al msgstr "" #: ../../content/administration/odoo_sh/getting_started/branches.rst:61 -#: ../../content/administration/odoo_sh/getting_started/builds.rst:61 +#: ../../content/administration/odoo_sh/getting_started/builds.rst:63 msgid "Staging" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:62 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:63 msgid "Staging branches are meant to test your new features using the production data without compromising the actual production database with test records. They will create databases that are neutralized duplicates of the production database." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:66 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:67 msgid "The neutralization includes:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:68 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:69 msgid "Disabling scheduled actions. If you want to test them, you can trigger their action manually or re-enable them. Be aware that the platform will trigger them less often if no one is using the database in order to save up resources." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:71 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:72 msgid "Disabling outgoing emails by intercepting them with a mailcatcher. An :ref:`interface to view ` the emails sent by your database is provided. That way, you do not have to worry about sending test emails to your contacts." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:74 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:75 msgid "Setting payment acquirers and shipping providers in test mode." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:75 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:76 msgid "Disabling IAP services" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:77 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:78 msgid "The latest database will be kept alive indefinitely, older ones from the same branch may get garbage collected to make room for new ones. It will be valid for 3 months, after which you will be expected to rebuild the branch. If you make configuration or view changes in these databases, make sure to document them or write them directly in the modules of the branch, using XML data files overriding the default configuration or views." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:82 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:83 msgid "The unit tests are not performed as, in Odoo, they currently rely on the demo data, which is not loaded in the production database. In the future, if Odoo supports to run the unit tests without the demo data, Odoo.sh will then consider running the tests on staging databases." msgstr "" #: ../../content/administration/odoo_sh/getting_started/branches.rst:88 -#: ../../content/administration/odoo_sh/getting_started/builds.rst:80 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:52 +#: ../../content/administration/odoo_sh/getting_started/builds.rst:81 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:51 msgid "Development" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:89 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:90 msgid "Development branches create new databases using the demo data to run the unit tests. The installed modules are the ones included in your branches. You can change this list of modules to install in your :ref:`project Settings `." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:93 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:94 msgid "When you push a new commit in one of these branches, a new server is started, with a database created from scratch and the new revision of the branch. The demo data is loaded, and the unit tests are performed by default. This verifies your changes do not break any of the features tested by them. If you wish, you can disable the tests or allow specific tests to be run with custom tags in the :ref:`branch's settings `." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:100 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:101 msgid "Similar to staging branches, the emails are not sent but are intercepted by a mailcatcher and scheduled actions are not triggered as often is the database is not in use." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:103 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:104 msgid "The databases created for development branches are meant to live around three days. After that, they can be automatically garbage collected to make room for new databases without prior notice." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:109 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:110 msgid "Merging your branches" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:110 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:112 msgid "You can merge your branches easily by drag and dropping them into each other." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:115 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:117 msgid "When you want to test the changes of your development branches with the production data, you can either:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:118 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:120 msgid "merge the development branch into your staging branch, by drag and dropping it onto the desired staging branch," msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:119 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:121 msgid "drag and dropping the development branch on the staging section title, to make it become a staging branch." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:121 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:123 msgid "When your latest changes are ready for production, you can drag and drop your staging branch onto your production branch to merge and deploy in production your newest features." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:125 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:127 msgid "If you are bold enough, you can merge your development branches into your production branch as well. It just means you skip the validation of your changes with the production data through a staging branch." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:129 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:131 msgid "You can merge your development branches into each other, and your staging branches into each other." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:131 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:133 msgid "Of course, you can also use :code:`git merge` directly on your workstation to merge your branches. Odoo.sh will be notified when new revisions have been pushed in your branches." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:134 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:136 msgid "Merging a staging branch in the production branch only merges the source code: Any configuration changes you made in the staging databases are not passed to the production database." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:137 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:139 msgid "If you test configuration changes in staging branches, and want them to be applied in the production, you have to either:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:139 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:141 msgid "write the configuration changes in XML data files overriding the default configuration or views in your branches, and then increase the version of your module in its manifest (*__manifest__.py*) to trigger the update of the module when you merge your staging branch in your production branch. This is the best practice for a better scalability of your developments as you will use the Git versioning features for all your configuration changes, and therefore have a traceability for your changes." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:145 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:147 msgid "pass them manually from your staging to your production database, by copy/pasting them." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:150 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:152 msgid "Tabs" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:153 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:52 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:64 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:155 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:51 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:63 msgid "History" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:154 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:157 msgid "An overview of your branch history:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:156 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:159 msgid "The messages of the commits and their authors," msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:157 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:160 msgid "The various events linked to the platform, such as stage changes, database imports, backup restores." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:162 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:165 msgid "For each event, a status is displayed in the top right-hand corner. It can provide information about the ongoing operation on the database (installation, update, backup import, ...), or its result (tests feedback, successful backup import, ...). When an operation is successful, you can access the database thanks to the *connect* button." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:170 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:60 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:72 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:173 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:59 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:71 msgid "Mails" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:171 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:175 msgid "This tab contains the mail catcher. It displays an overview of the emails sent by your database. The mail catcher is available for your development and staging branches as the emails of your production database are really sent instead of being intercepted." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:180 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:184 msgid "Shell" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:181 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:186 msgid "A shell access to your container. You can perform basic linux commands (:code:`ls`, :code:`top`) and open a shell on your database by typing :code:`psql`." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:187 -#: ../../content/administration/odoo_sh/getting_started/branches.rst:203 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:192 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:208 msgid "You can open multiple tabs and drag-and-drop them to arrange the layout as you wish, for instance side by side." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:192 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:196 msgid "Long running shell instances are not guaranteed. Idle shells can be disconnected at anytime in order to free up resources." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:196 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:200 msgid "Editor" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:197 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:202 msgid "An online integrated development environment (IDE) to edit the source code. You can also open terminals, Python consoles and even Odoo Shell consoles." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:207 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:74 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:212 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:73 msgid "Monitoring" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:208 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:214 msgid "This link contains various monitoring metrics of the current build." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:213 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:219 msgid "You can zoom, change the time range or select a specific metric on each graph. On the graphs, annotations help you relate to changes on the build (database import, git push, etc...)." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:217 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:56 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:68 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:225 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:55 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:67 msgid "Logs" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:218 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:227 msgid "A viewer to have a look to your server logs." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:223 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:232 msgid "Different logs are available:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:225 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:234 msgid "install.log: The logs of the database installation. In a development branch, the logs of the tests are included." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:226 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:235 msgid "pip.log: The logs of the Python dependencies installation." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:227 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:236 msgid "odoo.log: The logs of the running server." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:228 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:237 msgid "update.log: The logs of the database updates." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:229 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:238 msgid "pg_long_queries.log: The logs of psql queries that take an unusual amount of time." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:231 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:240 msgid "If new lines are added in the logs, they will be displayed automatically. If you scroll to the bottom, the browser will scroll automatically each time a new line is added." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:234 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:243 msgid "You can pause the logs fetching by clicking on the according button in the upper right corner of the view. The fetching is automatically stopped after 5 minutes. You can restart it using the play button." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:240 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:76 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:249 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:75 msgid "Backups" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:241 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:251 msgid "A list of the backups available for download and restore, the ability to perform a manual backup and to import a database." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:247 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:257 msgid "Odoo.sh makes daily backups of the production database. It keeps 7 daily, 4 weekly and 3 monthly backups. Each backup includes the database dump, the filestore (attachments, binary fields), logs and sessions." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:250 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:260 msgid "Staging and development databases are not backed up. You nevertheless have the possibility to restore a backup of the production database in your staging branches, for testing purposes, or to manually recover data that has been deleted by accident from the production database." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:254 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:264 msgid "The list contains the backups kept on the server your production database is hosted on. This server only keeps one month of backups: 7 daily and 4 weekly backups." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:257 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:267 msgid "Dedicated backup servers keep the same backups, as well as 3 additional monthly backups. To restore or download one of these monthly backups, please `contact us `_." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:260 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:270 msgid "If you merge a commit updating the version of one or several modules (in :file:`__manifest__.py`), or their linked python dependencies (in :file:`requirements.txt`), then Odoo.sh performs a backup automatically (flagged with type Update in the list), as either the container will be changed by the installation of new pip packages, either the database itself will be changed with the module update triggered afterwards. In these two cases, we are doing a backup as it may potentially break things." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:266 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:276 msgid "If you merge a commit that only changes some code without the above-mentioned modifications, then no backup is done by Odoo.sh, as neither the container nor the database is modified so the platform considers this safe enough. Of course, as an extra precaution, you can make a backup manually before making big changes in your production sources in case something goes wrong (those manual backups are available for about one week). To avoid abuse, we limit manual backups to 5 per day." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:272 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:282 msgid "The *import database* feature accepts database archives in the format provided by:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:274 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:284 msgid "the standard Odoo databases manager, (available for on-premise Odoo servers under :code:`/web/database/manager`)" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:276 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:286 msgid "the Odoo online databases manager," msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:277 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:287 msgid "the Odoo.sh backup download button of this *Backups* tab," msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:278 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:288 msgid "the Odoo.sh dump download button in the :ref:`Builds view `." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:283 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:4 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:62 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:78 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:82 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:295 +msgid "Available for production and staging branches for valid projects." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:298 +msgid ":doc:`Upgrade - Odoo.sh <../../upgrade/odoo_sh>`" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:303 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:3 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:61 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:77 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:81 msgid "Settings" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:284 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:305 msgid "Here you can find a couple of settings that only apply to the currently selected branch." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:289 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:310 msgid "**Behaviour upon new commit**" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:291 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:312 msgid "For development and staging branches, you can change the branch's behavior upon receiving a new commit. By default, a development branch will create a new build and a staging branch will update the previous build (see the :ref:`Production Stage `). This is especially useful should the feature you're working on require a particular setup or configuration, to avoid having to manually set it up again on every commit. If you choose new build for a staging branch, it will make a fresh copy from the production build every time a commit is pushed. A branch that is put back from staging to development will automatically be set to 'Do nothing'." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:299 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:320 msgid "**Modules installation**" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:301 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:322 msgid "Choose the modules to install automatically for your development builds." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:306 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:327 msgid "*Install only my modules* will install the modules of the branch only. This is the default option. The :ref:`submodules ` are excluded." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:308 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:329 msgid "*Full installation (all modules)* will install the modules of the branch, the modules included in the submodules and all standard modules of Odoo. When running the full installation, the test suite is disabled." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:310 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:331 msgid "*Install a list of modules* will install the modules specified in the input just below this option. The names are the technical name of the modules, and they must be comma-separated." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:313 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:334 msgid "If the tests are enabled, the standard Odoo modules suite can take up to 1 hour. This setting applies to development builds only. Staging builds duplicate the production build and the production build only installs base." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:318 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:339 msgid "**Test suite**" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:320 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:341 msgid "For development branches, you can choose to enable or disable the test suite. It's enabled by default. When the test suite is enabled, you can restrict them by specifying test tags :ref:`test tags `." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:324 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:345 msgid "**Odoo Version**" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:326 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:347 msgid "For development branches only, you can change the version of Odoo, should you want to test upgraded code or develop features while your production database is in the process of being upgraded to a newer version." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:329 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:350 msgid "In addition, for each version you have two options regarding the code update." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:331 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:352 msgid "You can choose to benefit from the latest bug, security and performance fixes automatically. The sources of your Odoo server will be updated weekly. This is the 'Latest' option." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:333 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:354 msgid "You can choose to pin the Odoo sources to a specific revision by selecting them from a list of dates. Revisions will expire after 3 months. You will be notified by mail when the expiration date approaches and if you don't take action afterwards, you will automatically be set to the latest revision." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:338 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:359 msgid "**Custom domains**" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:340 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:361 msgid "Here you can configure additional domains for the selected branch. It's possible to add other *.odoo.com* domains or your own custom domains. For the latter you have to:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:343 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:364 msgid "own or purchase the domain name," msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:344 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:365 msgid "add the domain name in this list," msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:345 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:366 msgid "in your registrar's domain name manager, configure the domain name with a ``CNAME`` record set to your production database domain name." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:348 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:369 msgid "For instance, to associate *www.mycompany.com* to your database *mycompany.odoo.com*:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:350 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:371 msgid "in Odoo.sh, add *www.mycompany.com* in the custom domains of your project settings," msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:351 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:372 msgid "in your domain name manager (e.g. *godaddy.com*, *gandi.net*, *ovh.com*), configure *www.mycompany.com* with a ``CNAME`` record with as value *mycompany.odoo.com*." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:354 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:375 msgid "Bare domains (e.g. *mycompany.com*) are not accepted:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:356 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:377 msgid "they can only be configured using ``A`` records," msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:357 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:378 msgid "``A`` records only accept IP addresses as value," msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:358 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:379 msgid "the IP address of your database can change, following an upgrade, a hardware failure or your wish to host your database in another country or continent." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:361 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:382 msgid "Therefore, bare domains could suddenly no longer work because of this change of IP address." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:363 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:384 msgid "In addition, if you would like both *mycompany.com* and *www.mycompany.com* to work with your database, having the first redirecting to the second is amongst the `SEO best practices `_ (See *Provide one version of a URL to reach a document*) in order to have one dominant URL. You can therefore just configure *mycompany.com* to redirect to *www.mycompany.com*. Most domain managers have the feature to configure this redirection. This is commonly called a web redirection." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:370 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:391 msgid "**HTTPS/SSL**" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:372 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:393 msgid "If the redirection is correctly set up, the platform will automatically generate an SSL certificate with `Let's Encrypt `_ within the hour and your domain will be accessible through HTTPS." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:376 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:397 msgid "While it is currently not possible to configure your own SSL certificates on the Odoo.sh platform we are considering the feature if there is enough demand." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:380 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:401 msgid "**SPF and DKIM compliance**" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:382 -msgid "In case the domain of your users email addresses use SPF (Sender Policy Framework) or DKIM (DomainKeys Identified Mail), don't forget to authorize Odoo as a sending host in your domain name settings to increase the deliverability of your outgoing emails. The configuration steps are explained in the :ref:`Discuss app documentation `." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:403 +msgid "In case the domain of your users email addresses use SPF (Sender Policy Framework) or DKIM (DomainKeys Identified Mail), don't forget to authorize Odoo as a sending host in your domain name settings to increase the deliverability of your outgoing emails. The configuration steps are explained in the documentation about :ref:`SPF ` and :ref:`DKIM `." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:388 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:410 msgid "Forgetting to configure your SPF or DKIM to authorize Odoo as a sending host can lead to the delivery of your emails as spam in your contacts inbox." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:393 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:414 msgid "Shell commands" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:394 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:416 msgid "In the top right-hand corner of the view, different shell commands are available." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:399 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:421 msgid "Each command can be copied in the clipboard to be used in a terminal, and some of them can be used directly from Odoo.sh by clicking the *run* button in such case a popup will prompt the user in order to define eventual placeholders such as ````, ````, ..." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:405 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:427 msgid "Clone" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:406 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:429 msgid "Download the Git repository." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:412 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:435 msgid "Clones the repository *odoo/odoo*." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:414 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:437 msgid ":code:`--recurse-submodules`: Downloads the submodules of your repository. Submodules included in the submodules are downloaded as well." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:415 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:438 msgid ":code:`--branch`: checks out a specific branch of the repository, in this case *master*." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:417 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:440 msgid "The *run* button is not available for this command, as it is meant to be used on your machines." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:420 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:443 msgid "Fork" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:421 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:445 msgid "Create a new branch based on the current branch." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:427 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:451 msgid "Creates a new branch called *feature-1* based on the branch *master*, and then checkouts it." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:433 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:457 msgid "Uploads the new branch *feature-1* on your remote repository." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:436 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:460 msgid "Merge" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:437 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:462 msgid "Merge the current branch in another branch." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:443 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:468 msgid "Merges the branch *staging-1* in the current branch." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:449 -#: ../../content/administration/odoo_sh/getting_started/branches.rst:521 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:474 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:547 msgid "Uploads the changes you just added in the *master* branch on your remote repository." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:452 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:477 msgid "SSH" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:454 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:480 msgid "Setup" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:455 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:482 msgid "In order to use SSH, you have to set up your profile SSH public key (if it is not already done). To do so, follow these steps:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:458 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:485 msgid "`Generate a new SSH key `_" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:460 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:487 msgid "`Copy the SSH key to your clipboard `_ (only apply the step 1)" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:463 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:490 msgid "Paste the copied content to your profile SSH keys and press \"Add\"" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:468 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:495 msgid "The key should appear below" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:474 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:501 msgid "Connection" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:476 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:503 msgid "To connect to your builds using ssh use the following command in a terminal:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:482 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:509 msgid "You will find a shortcut for this command into the SSH tab in the upper right corner." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:487 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:514 msgid "Provided you have the :ref:`correct access rights ` on the project, you'll be granted ssh access to the build." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:491 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:518 msgid "Long running ssh connections are not guaranteed. Idle connections will be disconnected in order to free up resources." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:496 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:522 msgid "Submodule" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:498 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:524 msgid "Add a branch from another repository in your current branch as a *submodule*." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:500 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:526 msgid "*Submodules* allows you to use modules from other repositories in your project." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:502 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:528 msgid "The submodules feature is detailed in the chapter :ref:`Submodules ` of this documentation." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:509 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:535 msgid "Adds the branch *master* of the repository ** as a submodule under the path ** in your current branch." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:515 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:541 msgid "Commits all your current changes." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:524 -msgid "Delete" -msgstr "" - -#: ../../content/administration/odoo_sh/getting_started/branches.rst:526 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:552 msgid "Delete a branch from your repository." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:532 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:558 msgid "Deletes the branch in your remote repository." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:538 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:564 msgid "Deletes the branch in your local copy of the repository." msgstr "" @@ -3494,103 +4710,103 @@ msgstr "" msgid "In Odoo.sh, a build is considered as a database loaded by an Odoo server (`odoo/odoo `_ & `odoo/enterprise `_) running on a specific revision of your project repository in a containerized environment. Its purpose is to test the well-behavior of the server, the database and the features with this revision." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/builds.rst:19 +#: ../../content/administration/odoo_sh/getting_started/builds.rst:20 msgid "In this view, a row represents a branch, and a cell of a row represents a build of this branch." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/builds.rst:21 +#: ../../content/administration/odoo_sh/getting_started/builds.rst:22 msgid "Most of the time, builds are created following pushes on your Github repository branches. They can be created as well when you do other operations, such as importing a database on Odoo.sh or asking a rebuild for a branch in your project." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/builds.rst:25 +#: ../../content/administration/odoo_sh/getting_started/builds.rst:26 msgid "A build is considered successful if no errors or warnings come up during its creation. A successful build is highlighted in green." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/builds.rst:28 +#: ../../content/administration/odoo_sh/getting_started/builds.rst:29 msgid "A build is considered failed if errors come up during its creation. A failed build is highlighted in red." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/builds.rst:31 +#: ../../content/administration/odoo_sh/getting_started/builds.rst:32 msgid "If warnings come up during the creation, but there are no errors, the build is considered almost successful. It is highlighted in yellow to notify the developer warnings were raised." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/builds.rst:34 +#: ../../content/administration/odoo_sh/getting_started/builds.rst:35 msgid "Builds do not always create a database from scratch. For instance, when pushing a change on the production branch, the build created just starts the server with your new revision and tries to load the current production database on it. If no errors come up, the build is considered successful, and otherwise failed." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/builds.rst:45 +#: ../../content/administration/odoo_sh/getting_started/builds.rst:46 msgid "The first build of a production branch creates a database from scratch. If this build is successful, this database is considered as the production database of your project." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/builds.rst:48 +#: ../../content/administration/odoo_sh/getting_started/builds.rst:49 msgid "From then, pushes on the production branch will create new builds that attempt to load the database using a server running with the new revision." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/builds.rst:51 +#: ../../content/administration/odoo_sh/getting_started/builds.rst:52 msgid "If the build is successful, or has warnings but no errors, the production database will now run with this build, along with the revision associated to this build." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/builds.rst:54 +#: ../../content/administration/odoo_sh/getting_started/builds.rst:55 msgid "If the build fails to load or update the database, then the previous successful build is re-used to load the database, and therefore the database will run using a server running with the previous successful revision." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/builds.rst:57 +#: ../../content/administration/odoo_sh/getting_started/builds.rst:59 msgid "The build used to run the production database is always the first of the builds list. If a build fails, it is put after the build currently running the production database." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/builds.rst:63 +#: ../../content/administration/odoo_sh/getting_started/builds.rst:65 msgid "Staging builds duplicate the production database, and try to load this duplicate with the revisions of the staging branches." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/builds.rst:66 +#: ../../content/administration/odoo_sh/getting_started/builds.rst:68 msgid "Each time you push a new revision on a staging branch, the build created uses a new copy of the production database. The databases are not re-used between builds of the same branch. This ensures:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/builds.rst:69 +#: ../../content/administration/odoo_sh/getting_started/builds.rst:71 msgid "staging builds use databases that are close to what the production looks like, so you do not make your tests with outdated data," msgstr "" -#: ../../content/administration/odoo_sh/getting_started/builds.rst:72 +#: ../../content/administration/odoo_sh/getting_started/builds.rst:74 msgid "you can play around as much as you want in the same staging database, and you can then ask for a rebuild when you want to restart with a new copy of the production." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/builds.rst:75 +#: ../../content/administration/odoo_sh/getting_started/builds.rst:77 msgid "Nevertheless, this means that if you make configuration changes in staging databases and do not apply them in the production, they will not be passed on the next build of the same staging branch." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/builds.rst:82 +#: ../../content/administration/odoo_sh/getting_started/builds.rst:83 msgid "Development builds create new databases, load the demo data and run the unit tests." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/builds.rst:84 +#: ../../content/administration/odoo_sh/getting_started/builds.rst:85 msgid "A build will be considered failed and highlighted in red if tests fail during the installation, as they are meant to raise errors if something wrong occurs." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/builds.rst:87 +#: ../../content/administration/odoo_sh/getting_started/builds.rst:88 msgid "If all tests pass, and there is no error, the build will be considered successful." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/builds.rst:89 +#: ../../content/administration/odoo_sh/getting_started/builds.rst:90 msgid "According to the list of modules to install and test, a development build can take up to 1 hour to be ready. This is due to the large number of tests set in the default Odoo modules suite." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/builds.rst:93 +#: ../../content/administration/odoo_sh/getting_started/builds.rst:94 msgid "Features" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/builds.rst:95 +#: ../../content/administration/odoo_sh/getting_started/builds.rst:96 msgid "The production branch will always appear first, and then the other branches are ordered by last build created. You can filter out the branches." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/builds.rst:101 +#: ../../content/administration/odoo_sh/getting_started/builds.rst:102 msgid "For each branch, you can access the last build's database using the *Connect* link and jump to the branch code using the *Github* link. For other branches than the production, you can create a new build which will use the latest revision of the branch using the link *rebuild*. This last link is not available when there is already a build in progress for the branch." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/builds.rst:109 +#: ../../content/administration/odoo_sh/getting_started/builds.rst:110 msgid "For each build, you can access the revision changes using the button with the Github icon. You can access the build's database as the administrator using the *Connect* button. Also, you can access the database with another user using the *Connect as* button, in the dropdown menu of the *Connect* button." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/builds.rst:121 +#: ../../content/administration/odoo_sh/getting_started/builds.rst:122 msgid "In the dropdown menu of the build, you can access the same features than in :ref:`the branches view `: *Logs*, *Web Shell*, *Editor*, *Outgoing e-mails*. You also have the possibility to *Download a dump* of the build's database." msgstr "" @@ -3614,231 +4830,231 @@ msgstr "" msgid "Sign in with your Github account. If you do not have an account yet, hit the *Create an account* link." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:25 +#: ../../content/administration/odoo_sh/getting_started/create.rst:26 msgid "Authorize Odoo.sh" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:27 +#: ../../content/administration/odoo_sh/getting_started/create.rst:28 msgid "Grant Odoo.sh the required accesses to your account by clicking the *Authorize* button." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:32 +#: ../../content/administration/odoo_sh/getting_started/create.rst:33 msgid "Odoo.sh basically needs:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:34 +#: ../../content/administration/odoo_sh/getting_started/create.rst:35 msgid "to know your Github login and email," msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:35 +#: ../../content/administration/odoo_sh/getting_started/create.rst:36 msgid "to create a new repository in case you decide to start from scratch," msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:36 +#: ../../content/administration/odoo_sh/getting_started/create.rst:37 msgid "to read your existing repositories, including the ones of your organizations, in case you want to start from an existing repository," msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:37 +#: ../../content/administration/odoo_sh/getting_started/create.rst:39 msgid "to create a webhook to be notified each time you push changes," msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:38 +#: ../../content/administration/odoo_sh/getting_started/create.rst:40 msgid "to commit changes to make your deployment easier, merging branches or adding new `submodules `_ for example." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:41 +#: ../../content/administration/odoo_sh/getting_started/create.rst:44 msgid "Submit your project" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:43 +#: ../../content/administration/odoo_sh/getting_started/create.rst:46 msgid "Choose if you want to start from scratch by creating a new repository, or if you want to use an existing repository." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:45 +#: ../../content/administration/odoo_sh/getting_started/create.rst:49 msgid "Then, choose a name or select the repository you want to use." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:47 +#: ../../content/administration/odoo_sh/getting_started/create.rst:51 msgid "Choose the Odoo version you want to use. If you plan to import an existing database or an existing set of applications, you might need to choose the according version. If you start from scratch, use the latest version." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:49 +#: ../../content/administration/odoo_sh/getting_started/create.rst:55 msgid "Enter your *subscription code*. This is also called *subscription referral*, *contract number* or *activation code*." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:51 +#: ../../content/administration/odoo_sh/getting_started/create.rst:58 msgid "It should be the code of your Enterprise subscription that includes Odoo.sh." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:53 -msgid "Partners can use their partnership codes to start a trial. Should their clients start a project, they ought to get an Enterprise subscription including Odoo.sh and use its subscription code. The partner will get the full amount as back commission. Contact your sales representative or account manager in order to get it." +#: ../../content/administration/odoo_sh/getting_started/create.rst:60 +msgid "Partners can use their partnership codes to start a trial. Should their clients start a project, they ought to get an Enterprise subscription including Odoo.sh and use its subscription code. The partner will get 50% of the amount back as commission. Contact your sales representative or account manager in order to get it." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:56 +#: ../../content/administration/odoo_sh/getting_started/create.rst:65 msgid "When submitting the form, if you are notified your subscription is not valid, it either means:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:58 +#: ../../content/administration/odoo_sh/getting_started/create.rst:67 msgid "it is not an existing subscription," msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:59 +#: ../../content/administration/odoo_sh/getting_started/create.rst:68 msgid "it is not a partnership subscription," msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:60 +#: ../../content/administration/odoo_sh/getting_started/create.rst:69 msgid "it is an enterprise subscription, but which does not include Odoo.sh," msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:61 +#: ../../content/administration/odoo_sh/getting_started/create.rst:70 msgid "it is neither a partnership subscription or an enterprise subscription (e.g. an online subscription)." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:63 +#: ../../content/administration/odoo_sh/getting_started/create.rst:73 msgid "In case of doubt with your subscription, please contact the `Odoo support `_." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:69 +#: ../../content/administration/odoo_sh/getting_started/create.rst:80 msgid "You're done !" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:71 +#: ../../content/administration/odoo_sh/getting_started/create.rst:82 msgid "You can start using Odoo.sh. Your first build is about to be created. You will soon be able to connect to your first database." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:79 +#: ../../content/administration/odoo_sh/getting_started/create.rst:91 msgid "Import your database" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:81 -msgid "You can import your database in your Odoo.sh project as long as this is an Odoo 10.0, 11.0 or above database." -msgstr "" - -#: ../../content/administration/odoo_sh/getting_started/create.rst:84 -msgid "Push your modules in production" -msgstr "" - -#: ../../content/administration/odoo_sh/getting_started/create.rst:86 -msgid "If you use community or custom modules, add them in a branch in your Github repository. Databases hosted on the Odoo.com online platform do not have any custom modules. Users of these databases can therefore skip this step." -msgstr "" - -#: ../../content/administration/odoo_sh/getting_started/create.rst:90 -msgid "You can structure your modules as you wish, Odoo.sh will automatically detect the folders containing Odoo addons. For instance, you can put all your modules folder in the root directory of your repository, or group the modules in folders by categories that you define (accounting, project, ...)." -msgstr "" - -#: ../../content/administration/odoo_sh/getting_started/create.rst:94 -msgid "For community modules available in public Git repositories, you can also consider to add them using :ref:`Submodules `." +#: ../../content/administration/odoo_sh/getting_started/create.rst:93 +msgid "You can import your database in your Odoo.sh project as long as it is in a :doc:`supported version ` of Odoo." msgstr "" #: ../../content/administration/odoo_sh/getting_started/create.rst:97 +msgid "Push your modules in production" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/create.rst:99 +msgid "If you use community or custom modules, add them in a branch in your Github repository. Databases hosted on the Odoo.com online platform do not have any custom modules. Users of these databases can therefore skip this step." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/create.rst:103 +msgid "You can structure your modules as you wish, Odoo.sh will automatically detect the folders containing Odoo addons. For instance, you can put all your modules folder in the root directory of your repository, or group the modules in folders by categories that you define (accounting, project, ...)." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/create.rst:108 +msgid "For community modules available in public Git repositories, you can also consider to add them using :ref:`Submodules `." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/create.rst:111 msgid "Then, either :ref:`make this branch the production branch `, or :ref:`merge it into your production branch `." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:101 +#: ../../content/administration/odoo_sh/getting_started/create.rst:115 msgid "Download a backup" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:104 +#: ../../content/administration/odoo_sh/getting_started/create.rst:118 msgid "On-premise databases" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:106 +#: ../../content/administration/odoo_sh/getting_started/create.rst:120 msgid "Access the URL :file:`/web/database/manager` of your on-premise database and download a backup." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:110 +#: ../../content/administration/odoo_sh/getting_started/create.rst:124 msgid "If you cannot access the database manager, it may have been disabled by your system administrator. See the :ref:`database manager security documentation `." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:113 +#: ../../content/administration/odoo_sh/getting_started/create.rst:127 msgid "You will need the master password of your database server. If you do not have it, contact your system administrator." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:118 +#: ../../content/administration/odoo_sh/getting_started/create.rst:133 msgid "Choose a zip including the filestore as the backup format." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:124 +#: ../../content/administration/odoo_sh/getting_started/create.rst:139 msgid "Odoo Online databases" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:126 +#: ../../content/administration/odoo_sh/getting_started/create.rst:141 msgid "`Access your databases manager `_ and download a backup of your database." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:133 -msgid "Saas releases (e.g. *saas-**) are not supported on Odoo.sh." +#: ../../content/administration/odoo_sh/getting_started/create.rst:149 +msgid "Online versions (e.g. *saas-**) are not supported on Odoo.sh." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:136 +#: ../../content/administration/odoo_sh/getting_started/create.rst:152 msgid "Upload the backup" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:138 +#: ../../content/administration/odoo_sh/getting_started/create.rst:154 msgid "Then, in your Odoo.sh project, in the backups tab of your production branch, import the backup you just downloaded." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:143 +#: ../../content/administration/odoo_sh/getting_started/create.rst:160 msgid "Once the backup imported, you can access the database using the *Connect* button in the history of the branch." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:149 +#: ../../content/administration/odoo_sh/getting_started/create.rst:167 msgid "Check your outgoing email servers" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:151 -msgid "There is a default mail server provided with Odoo.sh. To use it, there must be no enabled outgoing mail server configured in your database in :menuselection:`Settings --> Technical --> Outgoing Mail Servers` (:doc:`Developer mode ` must be activated)." +#: ../../content/administration/odoo_sh/getting_started/create.rst:169 +msgid "There is a default mail server provided with Odoo.sh. To use it, there must be no enabled outgoing mail server configured in your database in :menuselection:`Settings --> Technical --> Outgoing Mail Servers` (:ref:`Developer mode ` must be activated)." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:156 +#: ../../content/administration/odoo_sh/getting_started/create.rst:174 msgid "After the import of your database, all outgoing email servers are disabled so you use the Odoo.sh email server provided by default." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:161 +#: ../../content/administration/odoo_sh/getting_started/create.rst:178 msgid "Port 25 is (and will stay) closed. If you want to connect to an external SMTP server, you should use ports 465 and 587." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:164 +#: ../../content/administration/odoo_sh/getting_started/create.rst:182 msgid "Check your scheduled actions" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:166 +#: ../../content/administration/odoo_sh/getting_started/create.rst:184 msgid "All scheduled actions are disabled after the import." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:168 +#: ../../content/administration/odoo_sh/getting_started/create.rst:186 msgid "This is to prevent your newly imported database to perform actions that could impact your running production, such as sending the mails remaining in the queue, processing mass mailings, or third-party services synchronization (Calendars, files hosting, ...)." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:172 +#: ../../content/administration/odoo_sh/getting_started/create.rst:190 msgid "If you plan to make the imported database your production, enable the scheduled actions you need. You can check what is enabled in the database of origin and enable the same actions in the imported database. Scheduled actions are located under :menuselection:`Settings --> Technical --> Automation --> Scheduled Actions`." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:177 +#: ../../content/administration/odoo_sh/getting_started/create.rst:196 msgid "Register your subscription" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:179 +#: ../../content/administration/odoo_sh/getting_started/create.rst:198 msgid "Your subscription is unlinked after the import." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:181 +#: ../../content/administration/odoo_sh/getting_started/create.rst:200 msgid "The imported database is considered a duplicate by default and the enterprise subscription is therefore removed, as you can only have one database linked per subscription." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:184 -msgid "If you plan to make it your production, unlink your former database from the subscription, and register the newly imported database. Read the :ref:`database registration documentation ` for instructions." +#: ../../content/administration/odoo_sh/getting_started/create.rst:203 +msgid "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 <../../maintain/on_premise>` for instructions." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:4 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:3 msgid "Your first module" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:9 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:8 msgid "This chapter helps you to create your first Odoo module and deploy it in your Odoo.sh project." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:11 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:10 msgid "This tutorial requires :ref:`you created a project on Odoo.sh `, and you know your Github repository's URL." msgstr "" @@ -3906,202 +5122,212 @@ msgstr "" msgid "|pic1| |pic2|" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:47 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:40 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:40 +msgid "pic1" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:43 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:43 +msgid "pic2" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:46 msgid "Once the build created, you can access the editor and browse to the folder *~/src/user* to access to the code of your development branch." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:57 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:56 msgid "From your computer" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:60 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:58 msgid "Clone your Github repository on your computer:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:69 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:67 msgid "Create a new branch:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:77 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:74 msgid "Create the module structure" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:80 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:77 msgid "Scaffolding the module" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:82 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:79 msgid "While not necessary, scaffolding avoids the tedium of setting the basic Odoo module structure. You can scaffold a new module using the executable *odoo-bin*." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:85 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:82 msgid "From the Odoo.sh editor, in a terminal:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:91 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:88 msgid "Or, from your computer, if you have an :ref:`installation of Odoo `:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:97 -msgid "If you do not want to bother installing Odoo on your computer, you can also :download:`download this module structure template ` in which you replace every occurrences of *my_module* to the name of your choice." +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:94 +msgid "If you do not want to bother installing Odoo on your computer, you can also :download:`download this module structure template ` in which you replace every occurrences of *my_module* to the name of your choice." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:101 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:98 msgid "The below structure will be generated:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:124 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:121 msgid "Do not use special characters other than the underscore ( _ ) for your module name, not even an hyphen ( - ). This name is used for the Python classes of your module, and having classes name with special characters other than the underscore is not valid in Python." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:128 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:125 msgid "Uncomment the content of the files:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:130 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:127 msgid "*models/models.py*, an example of model with its fields," msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:132 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:129 msgid "*views/views.xml*, a tree and a form view, with the menus opening them," msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:134 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:131 msgid "*demo/demo.xml*, demo records for the above example model," msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:136 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:133 msgid "*controllers/controllers.py*, an example of controller implementing some routes," msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:138 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:135 msgid "*views/templates.xml*, two example qweb views used by the above controller routes," msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:140 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:137 msgid "*__manifest__.py*, the manifest of your module, including for instance its title, description and data files to load. You just need to uncomment the access control list data file:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:149 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:146 msgid "Manually" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:151 -msgid "If you want to create your module structure manually, you can follow :doc:`Build an Odoo module ` to understand the structure of a module and the content of each file." +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:148 +msgid "If you want to create your module structure manually, you can follow the :doc:`/developer/tutorials/getting_started` tutorial to understand the structure of a module and the content of each file." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:156 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:153 msgid "Push the development branch" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:158 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:155 msgid "Stage the changes to be committed" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:164 -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:392 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:161 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:395 msgid "Commit your changes" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:170 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:167 msgid "Push your changes to your remote repository" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:172 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:169 msgid "From an Odoo.sh editor terminal:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:178 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:175 msgid "The above command is explained in the section :ref:`Commit & Push your changes ` of the :ref:`Online Editor ` chapter. It includes the explanation regarding the fact you will be prompted to type your username and password, and what to do if you use the two-factor authentication." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:186 -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:380 -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:406 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:183 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:383 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:409 msgid "Or, from your computer terminal:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:192 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:189 msgid "You need to specify *-u origin feature-1* for the first push only. From that point, to push your future changes from your computer, you can simply use" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:200 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:197 msgid "Test your module" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:202 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:199 msgid "Your branch should appear in your development branches in your project." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:207 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:204 msgid "In the branches view of your project, you can click on your branch name in the left navigation panel to access its history." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:213 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:210 msgid "You can see here the changes you just pushed, including the comment you set. Once the database ready, you can access it by clicking the *Connect* button." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:219 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:216 msgid "If your Odoo.sh project is configured to install your module automatically, you will directly see it amongst the database apps. Otherwise, it will be available in the apps to install." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:222 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:220 msgid "You can then play around with your module, create new records and test your features and buttons." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:226 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:223 msgid "Test with the production data" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:228 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:225 msgid "You need to have a production database for this step. You can create it if you do not have it yet." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:230 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:227 msgid "Once you tested your module in a development build with the demo data and believe it is ready, you can test it with the production data using a staging branch." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:233 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:230 msgid "You can either:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:235 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:232 msgid "Make your development branch a staging branch, by drag and dropping it onto the *staging* section title." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:240 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:238 msgid "Merge it in an existing staging branch, by drag and dropping it onto the given staging branch." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:245 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:243 #: ../../content/administration/odoo_sh/getting_started/first_module.rst:289 msgid "You can also use the :code:`git merge` command to merge your branches." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:247 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:245 msgid "This will create a new staging build, which will duplicate the production database and make it run using a server updated with your latest changes of your branch." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:253 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:251 #: ../../content/administration/odoo_sh/getting_started/first_module.rst:297 msgid "Once the database ready, you can access it using the *Connect* button." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:258 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:256 #: ../../content/administration/odoo_sh/getting_started/first_module.rst:300 msgid "Install your module" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:260 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:258 msgid "Your module will not be installed automatically, you have to install it from the apps menu. Indeed, the purpose of the staging build is to test the behavior of your changes as it would be on your production, and on your production you would not like your module to be installed automatically, but on demand." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:264 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:263 msgid "Your module may not appear directly in your apps to install either, you need to update your apps list first:" msgstr "" #: ../../content/administration/odoo_sh/getting_started/first_module.rst:266 -msgid "activate the :doc:`Developer mode `" +msgid "Activate the :ref:`developer mode `" msgstr "" #: ../../content/administration/odoo_sh/getting_started/first_module.rst:267 @@ -4144,168 +5370,180 @@ msgstr "" msgid "This section explains how to add a change in your module by adding a new field in a model and deploy it." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:314 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:315 msgid "From the Odoo.sh editor," msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:313 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:314 msgid "browse to your module folder *~/src/user/my_module*," msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:314 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:315 msgid "then, open the file *models/models.py*." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:319 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:321 msgid "Or, from your computer," msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:317 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:318 msgid "use the file browser of your choice to browse to your module folder *~/src/odoo-addons/my_module*," msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:318 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:320 msgid "then, open the file *models/models.py* using the editor of your choice, such as *Atom*, *Sublime Text*, *PyCharm*, *vim*, ..." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:321 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:323 msgid "Then, after the description field" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:327 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:329 msgid "Add a datetime field" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:333 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:335 msgid "Then, open the file *views/views.xml*." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:335 -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:462 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:337 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:473 msgid "After" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:341 -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:439 -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:456 -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:468 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:343 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:450 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:467 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:479 msgid "Add" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:347 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:349 msgid "These changes alter the database structure by adding a column in a table, and modify a view stored in database." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:350 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:352 msgid "In order to be applied in existing databases, such as your production database, these changes requires the module to be updated." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:353 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:355 msgid "If you would like the update to be performed automatically by the Odoo.sh platform when you push your changes, increase your module version in its manifest." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:356 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:358 msgid "Open the module manifest *__manifest__.py*." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:364 -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:493 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:366 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:504 msgid "with" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:370 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:372 msgid "The platform will detect the change of version and trigger the update of the module upon the new revision deployment." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:372 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:375 msgid "Browse to your Git folder." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:374 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:377 msgid "Then, from an Odoo.sh terminal:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:386 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:389 msgid "Then, stage your changes to be committed" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:398 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:401 msgid "Push your changes:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:400 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:403 msgid "From an Odoo.sh terminal:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:412 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:415 msgid "The platform will then create a new build for the branch *feature-1*." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:417 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:420 msgid "Once you tested your changes, you can merge your changes in the production branch, for instance by drag-and-dropping the branch on the production branch in the Odoo.sh interface. As you increased the module version in the manifest, the platform will update the module automatically and your new field will be directly available. Otherwise you can manually update the module within the apps list." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:423 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:426 msgid "Use an external Python library" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:425 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:428 msgid "If you would like to use an external Python library which is not installed by default, you can define a *requirements.txt* file listing the external libraries your modules depends on." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:428 -msgid "The platform will use this file to automatically install the Python libraries your project needs." +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:432 +msgid "It is not possible to install or upgrade system packages on an Odoo.sh database (e.g., apt packages). However, under specific conditions, packages can be considered for installation. This also applies to **Python modules** requiring system packages for their compilation, and **third-party Odoo modules**." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:430 -msgid "The feature is explained in this section by using the `Unidecode library `_ in your module." -msgstr "" - -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:433 -msgid "Create a file *requirements.txt* in the root folder of your repository" -msgstr "" - -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:435 -msgid "From the Odoo.sh editor, create and open the file ~/src/user/requirements.txt." +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:436 +msgid "**PostgreSQL extensions** are not supported on Odoo.sh." msgstr "" #: ../../content/administration/odoo_sh/getting_started/first_module.rst:437 -msgid "Or, from your computer, create and open the file ~/src/odoo-addons/requirements.txt." +msgid "For more information, consult our `FAQ `_." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:445 -msgid "Then use the library in your module, for instance to remove accents from characters in the name field of your model." +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:439 +msgid "The platform will use this file to automatically install the Python libraries your project needs." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:441 +msgid "The feature is explained in this section by using the `Unidecode library `_ in your module." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:444 +msgid "Create a file *requirements.txt* in the root folder of your repository" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:446 +msgid "From the Odoo.sh editor, create and open the file ~/src/user/requirements.txt." msgstr "" #: ../../content/administration/odoo_sh/getting_started/first_module.rst:448 +msgid "Or, from your computer, create and open the file ~/src/odoo-addons/requirements.txt." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:456 +msgid "Then use the library in your module, for instance to remove accents from characters in the name field of your model." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:459 msgid "Open the file *models/models.py*." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:450 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:461 msgid "Before" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:483 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:494 msgid "Adding a Python dependency requires a module version increase for the platform to install it." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:485 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:496 msgid "Edit the module manifest *__manifest__.py*" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:499 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:510 msgid "Stage and commit your changes:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:507 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:518 msgid "Then, push your changes:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:509 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:520 msgid "In an Odoo.sh terminal:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:515 +#: ../../content/administration/odoo_sh/getting_started/first_module.rst:526 msgid "In your computer terminal:" msgstr "" @@ -4329,258 +5567,258 @@ msgstr "" msgid "The working directory is composed of the following folders:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:50 +#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:49 msgid "You can edit the source code (files under */src*) in development and staging builds." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:53 +#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:52 msgid "Your changes won't be propagated to a new build, you must commit them in your source code if you want to make them persist." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:57 +#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:56 msgid "For production builds, the source code is read-only, because applying local changes on a production server is not a good practice." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:60 +#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:59 msgid "The source code of your Github repository is located under */src/user*," msgstr "" -#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:61 +#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:60 msgid "The source code of Odoo is located under" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:63 +#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:62 msgid "*/src/odoo* (`odoo/odoo `_)," msgstr "" -#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:64 +#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:63 msgid "*/src/enterprise* (`odoo/enterprise `_)," msgstr "" -#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:65 +#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:64 msgid "*/src/themes* (`odoo/design-themes `_)." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:67 +#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:66 msgid "To open a file in the editor, just double-click on it in the file browser panel on the left." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:72 +#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:71 msgid "You can then begin to make your changes. You can save your changes with the menu :menuselection:`File --> Save .. File` or by hitting the :kbd:`Ctrl+S` shortcut." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:78 +#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:77 msgid "If you save a Python file which is under your Odoo server addons path, Odoo will detect it and reload automatically so your changes are reflected immediately, without having to restart the server manually." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:85 +#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:84 msgid "However, if the change is a data stored in database, such as the label of a field, or a view, you have to update the according module to apply the change. You can update the module of the currently opened file by using the menu :menuselection:`Odoo --> Update current module`. Note that the file considered as currently opened is the file focused in the text editor, not the file highlighted in the file browser." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:94 +#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:93 msgid "You can also open a terminal and execute the command:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:103 +#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:102 msgid "Commit & Push your changes" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:105 +#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:104 msgid "You have the possibility to commit and push your changes to your Github repository." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:107 +#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:106 msgid "Open a terminal (:menuselection:`File --> New --> Terminal`)," msgstr "" -#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:108 +#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:107 msgid "Change the directory to *~/src/user* using :code:`cd ~/src/user`," msgstr "" -#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:109 +#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:108 msgid "Stage your changes using :code:`git add`," msgstr "" -#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:110 +#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:109 msgid "Commit your changes using :code:`git commit`," msgstr "" -#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:111 +#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:110 msgid "Push your changes using :code:`git push https HEAD:`." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:113 +#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:112 msgid "In this last command," msgstr "" -#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:115 +#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:114 msgid "*https* is the name of your *HTTPS* Github remote repository (e.g. https://github.com/username/repository.git)," msgstr "" -#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:117 +#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:116 msgid "HEAD is the reference to the latest revision you committed," msgstr "" -#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:118 +#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:117 msgid " must be replaced by the name of the branch to which you want to push the changes, most-likely the current branch if you work in a development build." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:125 +#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:124 msgid "The SSH Github remote is not used because your SSH private key is not hosted in your build containers (for obvious security concerns) nor forwarded through an SSH Agent (as you access this editor through a web browser) and you therefore cannot authenticate yourself to Github using SSH. You have to use the HTTPS remote of your Github repository to push your changes, which is added automatically named as *https* in your Git remotes. You will be prompted to enter your Github username and password. If you activated the two-factor authentication on Github, you can create a `personal access token `_ and use it as password. Granting the ``repo`` permission suffices." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:139 +#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:137 msgid "The Git source folder *~/src/user* is not checked out on a branch but rather on a detached revision: This is because builds work on specific revisions rather than branches. In other words, this means you can have multiple builds on the same branch, but on different revisions." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:143 +#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:141 msgid "Once your changes are pushed, according to your :ref:`branch push behavior `, a new build may be created. You can continue to work in the editor you pushed from, as it will have the same revision as the new build that was created, but always make sure to be in an editor of a build using the latest revision of your branch." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:150 +#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:148 msgid "Consoles" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:152 +#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:150 msgid "You can open Python consoles, which are `IPython interactive shells `_. One of the most interesting addition to use a Python console rather than a IPython shell within a terminal is the `rich display `_ capabilities. Thanks to this, you will be able to display objects in HTML." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:160 +#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:158 msgid "You can for instance display cells of a CSV file using `pandas `_." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:166 +#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:164 msgid "You can also open an Odoo Shell console to play around with the Odoo registry and model methods of your database. You can also directly read or write on your records." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:171 +#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:169 msgid "In an Odoo Console, transactions are automatically committed. This means, for instance, that changes in records are applied effectively in the database. If you change the name of a user, the name of the user is changed in your database as well. You therefore should use Odoo consoles carefully on production databases." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:177 +#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:174 msgid "You can use *env* to invoke models of your database registry, e.g. :code:`env['res.users']`." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:187 +#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:184 msgid "The class :code:`Pretty` gives you the possibility to easily display lists and dicts in a pretty way, using the `rich display `_ mentioned above." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:195 +#: ../../content/administration/odoo_sh/getting_started/online-editor.rst:192 msgid "You can also use `pandas `_ to display graphs." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/settings.rst:9 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:8 msgid "The settings allow you to manage the configuration of your project." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/settings.rst:15 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:14 msgid "Project name" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/settings.rst:17 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:16 msgid "The name of your project." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/settings.rst:22 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:21 msgid "This defines the address that will be used to access your production database." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/settings.rst:24 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:23 msgid "Addresses of your staging and development builds are derived from this name and assigned automatically. However, when you change your project name, only future builds will use the new name." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/settings.rst:30 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:29 msgid "Collaborators" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/settings.rst:32 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:31 msgid "Manage the Github users who can access your project." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/settings.rst:37 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:36 msgid "There are two levels of users:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/settings.rst:39 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:38 msgid "Admin: has access to all features of Odoo.sh." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/settings.rst:40 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:39 msgid "User: does not have access to the project settings nor to the production and staging databases." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/settings.rst:42 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:41 msgid "The user group is meant for developers who can make modifications in your code but are not allowed to access the production data. Users of this group cannot connect to the production and staging databases using the *1-click connect* feature, but they can of course use their regular account on these databases if they have one, using their regular credentials." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/settings.rst:47 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:46 msgid "In addition, they cannot use the webshell nor have access to the server logs." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/settings.rst:50 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:49 msgid "User" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/settings.rst:50 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:49 msgid "Admin" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/settings.rst:52 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:52 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:54 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:54 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:56 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:56 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:58 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:58 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:60 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:60 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:62 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:62 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:64 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:64 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:66 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:68 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:70 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:72 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:74 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:76 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:78 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:78 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:80 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:80 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:82 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:51 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:51 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:53 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:53 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:55 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:55 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:57 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:57 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:59 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:59 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:61 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:61 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:63 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:63 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:65 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:67 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:69 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:71 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:73 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:75 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:77 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:77 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:79 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:79 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:81 msgid "X" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/settings.rst:54 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:66 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:53 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:65 msgid "1-click connect" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/settings.rst:58 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:70 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:57 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:69 msgid "Shell/SSH" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/settings.rst:64 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:63 msgid "Production & Staging" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/settings.rst:80 -#: ../../content/administration/odoo_sh/getting_started/status.rst:4 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:79 +#: ../../content/administration/odoo_sh/getting_started/status.rst:3 msgid "Status" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/settings.rst:86 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:85 msgid "Public Access" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/settings.rst:88 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:87 msgid "Allow public access to your development builds." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/settings.rst:93 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:92 msgid "If activated, this option exposes the Builds page publicly, allowing visitors to connect to your development builds." msgstr "" @@ -4592,11 +5830,11 @@ msgstr "" msgid "Production and staging builds are excluded, visitors can only see their status." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/settings.rst:103 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:102 msgid "Custom domains" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/settings.rst:105 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:104 msgid "To configure additional domains please refer to the corresponding branch's :ref:`settings tab `." msgstr "" @@ -4628,242 +5866,967 @@ msgstr "" msgid "it can be another Git server than Github, such as Bitbucket, Gitlab or even your own self-hosted server" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/settings.rst:135 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:136 msgid "copy the public key," msgstr "" -#: ../../content/administration/odoo_sh/getting_started/settings.rst:137 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:138 msgid "it should look like *ssh-rsa some...random...characters...here...==*" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/settings.rst:139 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:140 msgid "in the settings of the private sub-repository, add the public key amongst the deploy keys." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/settings.rst:141 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:142 msgid "Github.com: :menuselection:`Settings --> Deploy keys --> Add deploy key`" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/settings.rst:142 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:143 msgid "Bitbucket.com: :menuselection:`Settings --> Access keys --> Add key`" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/settings.rst:143 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:144 msgid "Gitlab.com: :menuselection:`Settings --> Repository --> Deploy Keys`" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/settings.rst:144 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:145 msgid "Self-hosted: append the key to the git user’s authorized_keys file in its .ssh directory" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/settings.rst:147 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:148 msgid "Storage Size" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/settings.rst:149 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:150 msgid "This section shows the storage size used by your project." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/settings.rst:154 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:155 msgid "Storage size is computed as follows:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/settings.rst:156 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:157 msgid "the size of the PostgreSQL database" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/settings.rst:158 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:159 msgid "the size of the disk files available in your container: database filestore, sessions storage directory..." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/settings.rst:161 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:162 msgid "In case you want to analyze disk usage, you can run the tool `ncdu `_ in your Web Shell." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/settings.rst:163 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:165 msgid "Should your production database size grow to exceed what's provisioned in your subscription, it will automatically be synchronized with it." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/settings.rst:167 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:169 msgid "Database Workers" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/settings.rst:169 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:171 msgid "Additional database workers can be configured here. More workers help increase the load your production database is able to handle. If you add more, it will automatically be synchronized with your subscription." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/settings.rst:177 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:179 msgid "Adding more workers will not magically solve all performance issues. It only allows the server to handle more connections at the same time. If some operations are unusually slow, it's most likely a problem with the code, if it's not due to your own customizations you can open a ticket `here `_." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/settings.rst:183 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:185 msgid "Staging Branches" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/settings.rst:185 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:187 msgid "Additional staging branches allow you to develop and test more features at the same time. If you add more, it will automatically be synchronized with your subscription." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/settings.rst:192 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:194 msgid "Activation" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/settings.rst:194 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:196 msgid "Shows the status of the project's activation. You can change the project's activation code if needed." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/status.rst:9 +#: ../../content/administration/odoo_sh/getting_started/status.rst:8 msgid "The status page shows statistics regarding the servers your project uses. It includes the servers availability." msgstr "" -#: ../../content/administration/odoo_sh/overview/introduction.rst:4 +#: ../../content/administration/odoo_sh/overview/introduction.rst:3 msgid "Introduction to Odoo.sh" msgstr "" -#: ../../content/administration/odoo_sh/overview/introduction.rst:11 +#: ../../content/administration/odoo_sh/overview/introduction.rst:10 msgid "The documentation will help you go live with your Odoo.sh project in no time." msgstr "" -#: ../../content/administration/update.rst:6 -msgid "Updating an Odoo installation" +#: ../../content/administration/upgrade.rst:20 +msgid "An upgrade is switching to a newer version of Odoo (e.g., Odoo 14.0 to Odoo 15.0)." msgstr "" -#: ../../content/administration/update.rst:9 -msgid "Introduction" +#: ../../content/administration/upgrade.rst:22 +msgid "An upgrade does not cover:" msgstr "" -#: ../../content/administration/update.rst:11 -msgid "In order to benefit from the latest improvements, security fixes, bug corrections and performance boosts, you may need to update your Odoo installation from time to time." +#: ../../content/administration/upgrade.rst:24 +msgid "Changing :ref:`editions ` (i.e., Community to Enterprise edition)" msgstr "" -#: ../../content/administration/update.rst:14 -msgid "This guide only applies when are using Odoo on your own hosting infrastructure. If you are using one of the Odoo Cloud solutions, updates are automatically performed for you." +#: ../../content/administration/upgrade.rst:25 +msgid "Switching :ref:`hosting type ` (i.e., On-Premise to Odoo Online or Odoo.sh)" msgstr "" -#: ../../content/administration/update.rst:17 -msgid "The terminology surrounding software updates is often confusing, so here are some preliminary definitions:" +#: ../../content/administration/upgrade.rst:27 +msgid "Migration from another ERP to Odoo" msgstr "" -#: ../../content/administration/update.rst:25 -msgid "Updating (an Odoo installation)" +#: ../../content/administration/upgrade.rst:29 +#: ../../content/administration/upgrade.rst:148 +#: ../../content/administration/upgrade.rst:252 +#: ../../content/administration/upgrade/faq.rst:81 +#: ../../content/administration/upgrade/faq.rst:92 +#: ../../content/administration/upgrade/faq.rst:119 +msgid "|assistance-contact|" msgstr "" -#: ../../content/administration/update.rst:21 -msgid "Refers to the process of obtaining the latest revision of the source code for your current Odoo Edition. For example, updating your Odoo Enterprise 13.0 to the latest revision. This does not directly cause any change to the contents of your Odoo database, and can be undone by reinstalling the previous revision of the source code." +#: ../../content/administration/upgrade.rst:32 +msgid ":ref:`upgrade/sla`" msgstr "" -#: ../../content/administration/update.rst:35 -msgid "Upgrading (an Odoo database)" +#: ../../content/administration/upgrade.rst:37 +msgid "Process workflow" msgstr "" -#: ../../content/administration/update.rst:28 -msgid "Refers to a complex data processing operation where the structure and contents of your database is permanently altered to make it compatible with a new release of Odoo. This operation is irreversible and typically accomplished via Odoo's `database upgrade service `_, when you decide to switch to a newer release of Odoo. Historically, this process has also been known as a \"migration\" because it involves moving data around inside the database, even though the database may end up at the same physical location after the upgrade." +#: ../../content/administration/upgrade.rst:39 +msgid "The upgrade process in a nutshell:" msgstr "" -#: ../../content/administration/update.rst:37 -msgid "This page describes the typical steps needed to *update* an Odoo installation to the latest version. If you'd like more information about upgrading a database, please visit the `Odoo Upgrade page `_ instead." +#: ../../content/administration/upgrade.rst:41 +msgid "You create a test upgrade request." msgstr "" -#: ../../content/administration/update.rst:43 -msgid "In a nutshell" +#: ../../content/administration/upgrade.rst:42 +msgid "Odoo processes the request automatically by running the database through an upgrade script, which takes between 20 and 120 minutes." msgstr "" -#: ../../content/administration/update.rst:45 -msgid "Updating Odoo is accomplished by simply reinstalling the latest version of your Odoo 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)." +#: ../../content/administration/upgrade.rst:44 +msgid "Odoo delivers a test database." msgstr "" -#: ../../content/administration/update.rst:49 -msgid "The main reference for updating is logically our :ref:`installation guide `, which explains the common installation methods." +#: ../../content/administration/upgrade.rst:45 +msgid "You test your database for possible discrepancies (see :ref:`upgrade/test-guidance`)." msgstr "" -#: ../../content/administration/update.rst:52 -msgid "Updating is also most appropriately accomplished by the person who deployed Odoo initially, because the procedure is very similar." +#: ../../content/administration/upgrade.rst:46 +msgid "If there are any discrepancies, you report them to the Upgrade support team via the help portal (see :ref:`upgrade/test-assistance`)." msgstr "" -#: ../../content/administration/update.rst:55 -msgid "We always recommend to download a complete new up-to-date Odoo version, rather than manually applying patches, such as the security patches that come with Security Advisories. The patches are mainly provided for installations that are heavily customized, or for technical personnel who prefer to apply minimal changes temporarily while testing a complete update." +#: ../../content/administration/upgrade.rst:48 +msgid "We fix the issues and send you a new test database." msgstr "" -#: ../../content/administration/update.rst:64 -msgid "Step 1: Download an updated Odoo version" +#: ../../content/administration/upgrade.rst:49 +msgid "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." msgstr "" -#: ../../content/administration/update.rst:66 -msgid "The central download page is https://www.odoo.com/page/download. If you see a \"Buy\" link for the Odoo Enterprise download, make sure you are logged into Odoo.com with the same login that is linked to your Odoo Enterprise subscription." +#: ../../content/administration/upgrade.rst:52 +msgid "Odoo delivers the production database through the automated process." msgstr "" -#: ../../content/administration/update.rst:70 -msgid "Alternatively, you can use the unique download link that was included with your Odoo Enterprise purchase confirmation email." +#: ../../content/administration/upgrade.rst:53 +msgid "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)." msgstr "" -#: ../../content/administration/update.rst:73 -msgid "Downloading an updated version is not necessary if you installed via Github (see below)" +#: ../../content/administration/upgrade.rst:57 +msgid ":doc:`Upgrade process for Odoo Online `" msgstr "" -#: ../../content/administration/update.rst:77 -msgid "Step 2: Make a backup of your database" +#: ../../content/administration/upgrade.rst:58 +msgid ":doc:`Upgrade process for Odoo.sh `" msgstr "" -#: ../../content/administration/update.rst:79 -msgid "The update procedure is quite safe and should not alter you data. However it's always best to take a full database backup before performing any change on your installation, and to store it somewhere safe, on a different computer." +#: ../../content/administration/upgrade.rst:59 +msgid ":doc:`Upgrade process for On-Premise `" msgstr "" -#: ../../content/administration/update.rst:83 -msgid "If you have not disabled the database manager screen (see :ref:`here ` why you should), you can use it (link at bottom of your database selection screen) to download a backup of your database(s). If you disabled it, use the same procedure than for your usual backups." +#: ../../content/administration/upgrade.rst:64 +msgid "Testing" msgstr "" -#: ../../content/administration/update.rst:89 -msgid "Step 3: Install the updated version" +#: ../../content/administration/upgrade.rst:66 +msgid "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)." msgstr "" -#: ../../content/administration/update.rst:91 -msgid "Choose the method that matches your current installation:" +#: ../../content/administration/upgrade.rst:70 +msgid "Once you receive your upgraded test database, check that all data, processes, and functionality are still correct and working as expected." msgstr "" -#: ../../content/administration/update.rst:95 -msgid "Packaged Installers" +#: ../../content/administration/upgrade.rst:73 +msgid "If you do find discrepancies, :ref:`report your issues ` and :ref:`request a new test database ` when the reported issues are fixed in the upgrade script." msgstr "" -#: ../../content/administration/update.rst:97 -msgid "If you installed Odoo with an installation package downloaded on our website (the recommended method), updating is very simple. All you have to do is download the installation package corresponding to your system (see step #1) and install it on your server. They are updated daily and include the latest security fixes. Usually, you can simply double-click the package to install it on top of the current installation. After installing the package, be sure to restart the Odoo service or reboot your server, and you're all set." +#: ../../content/administration/upgrade.rst:77 +msgid "If you do not find any discrepancies, you can move on to the upgrade of your production database." msgstr "" -#: ../../content/administration/update.rst:106 -msgid "Source Install (Tarball)" +#: ../../content/administration/upgrade.rst:80 +msgid "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." msgstr "" -#: ../../content/administration/update.rst:107 -msgid "If you have originally installed Odoo with the \"tarball\" version (source code archive), you have to replace the installation directory with a newer version. First download the latest tarball 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." +#: ../../content/administration/upgrade.rst:85 +msgid "Test databases are neutered and features are disabled to prevent them from having an impact on the production database:" msgstr "" -#: ../../content/administration/update.rst:112 -msgid "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, and replace it with the newer \"odoo\" or \"openerp\" folder that was in the archive you just extracted." +#: ../../content/administration/upgrade.rst:88 +msgid "The serial number of the database is modified (to prevent it from sending information as if it was the production database)." msgstr "" -#: ../../content/administration/update.rst:118 -msgid "Be sure to match the folder layout, for example the new \"addons\" folder included in the source code should end up exactly at the same path it was before. Next, watch out for any specific configuration files that you may have manually copied or modified in the old folder, and copy them over to the new folder. Finally, restart the Odoo service or reboot the machine, and you are all set." +#: ../../content/administration/upgrade.rst:90 +msgid "The :ref:`base URL of the database ` is reset to ``http://localhost:8069`` and the email domain to ``localhost``." msgstr "" -#: ../../content/administration/update.rst:125 -msgid "Source Install (Github)" +#: ../../content/administration/upgrade.rst:92 +msgid "Scheduled actions are disabled (the calendar synchronization, the bank statement synchronization, the planned automated actions, the fetching of incoming mail servers, etc.)." msgstr "" -#: ../../content/administration/update.rst:126 -msgid "If you have originally installed Odoo with a full Github clone of the official repositories, the update procedure requires you to pull the latest source code via git. Change into the directory for each repository (the main Odoo repository, and the Enterprise repository), and run the following commands::" +#: ../../content/administration/upgrade.rst:94 +msgid "Outgoing mail servers are disabled by archiving the existing ones and adding a fake/non-working one." msgstr "" -#: ../../content/administration/update.rst:134 -msgid "The last command may encounter source code conflicts if you had edited the Odoo source code locally. The error message will give you the list of files with conflicts, and you will need to resolve the conflicts manually, by editing them and deciding which part of the code to keep." +#: ../../content/administration/upgrade.rst:96 +msgid "Payment providers and delivery carriers are reset to test environment." msgstr "" -#: ../../content/administration/update.rst:138 -msgid "Alternatively, if you prefer to simply discard the conflicting changes and restore the official version, you can use the following command::" +#: ../../content/administration/upgrade.rst:97 +msgid "Accounting localization Electronic Data Interchange (EDI) services are disabled." msgstr "" -#: ../../content/administration/update.rst:143 -msgid "Finally, restart the Odoo service or reboot the machine, and you should be done." +#: ../../content/administration/upgrade.rst:98 +msgid "A system parameter is set to tell the database has been neutered." msgstr "" -#: ../../content/administration/update.rst:149 -msgid "Please refer to our `Docker image documentation `_ for specific update instructions." +#: ../../content/administration/upgrade.rst:103 +msgid "Request a test database" +msgstr "" + +#: ../../content/administration/upgrade.rst:105 +msgid "Follow the instructions available per hosting type on the `website form `_ and select *Testing* purpose." +msgstr "" + +#: ../../content/administration/upgrade.rst:None +msgid "Selection of the \"Testing\" purpose in the upgrade form on Odoo" +msgstr "" + +#: ../../content/administration/upgrade.rst:115 +msgid "Test guidance" +msgstr "" + +#: ../../content/administration/upgrade.rst:117 +msgid "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 `_ for further information." +msgstr "" + +#: ../../content/administration/upgrade.rst:122 +msgid "change link \"test scenario\" once the related doc is published" +msgstr "" + +#: ../../content/administration/upgrade.rst:127 +#: ../../content/administration/upgrade.rst:172 +msgid "Assistance" +msgstr "" + +#: ../../content/administration/upgrade.rst:129 +msgid "If you encounter an issue in the **test database**, please get in touch with Odoo Upgrade Support via the `Odoo Support page `_." +msgstr "" + +#: ../../content/administration/upgrade.rst:132 +msgid "Under the *Ticket Description* section, select *An issue related to my upgrade* ticket type." +msgstr "" + +#: ../../content/administration/upgrade.rst:0 +msgid "Selection of \"An issue related to my upgrade\" as Ticket Type in the support form on Odoo" +msgstr "" + +#: ../../content/administration/upgrade.rst:139 +msgid "If you choose another *Ticket Description* type, the request will be redirected to another team. This will slow down the processing and response time." +msgstr "" + +#: ../../content/administration/upgrade.rst:142 +#: ../../content/administration/upgrade.rst:185 +msgid "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." +msgstr "" + +#: ../../content/administration/upgrade.rst:146 +msgid "The purpose of the test phase is not to correct existing data or configurations in your database." +msgstr "" + +#: ../../content/administration/upgrade.rst:153 +msgid "The production launch" +msgstr "" + +#: ../../content/administration/upgrade.rst:155 +msgid "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." +msgstr "" + +#: ../../content/administration/upgrade.rst:159 +msgid "After your :ref:`tests ` are completed to your satisfaction, submit the request to upgrade your production database via our `website form `_. Select *Production* purpose." +msgstr "" + +#: ../../content/administration/upgrade.rst:164 +msgid "Going into production without first testing may lead to:" +msgstr "" + +#: ../../content/administration/upgrade.rst:166 +msgid "business interruptions (e.g., no longer having the possibility to validate an action)" +msgstr "" + +#: ../../content/administration/upgrade.rst:167 +msgid "poor customer experiences (e.g., an eCommerce website that does not work correctly)" +msgstr "" + +#: ../../content/administration/upgrade.rst:174 +msgid "If you encounter issues or problems in the **production database**, please get in touch with **Odoo Support**:" +msgstr "" + +#: ../../content/administration/upgrade.rst:177 +msgid "Connect to our `Odoo Support page `_." +msgstr "" + +#: ../../content/administration/upgrade.rst:178 +msgid "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*." +msgstr "" + +#: ../../content/administration/upgrade.rst:182 +msgid "After upgrading to production, the support will be provided by the Support team instead of the Upgrade team." +msgstr "" + +#: ../../content/administration/upgrade.rst:189 +msgid "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." +msgstr "" + +#: ../../content/administration/upgrade.rst:195 +msgid "Help" +msgstr "" + +#: ../../content/administration/upgrade.rst:200 +msgid "Contact our Upgrade service support" +msgstr "" + +#: ../../content/administration/upgrade.rst:202 +msgid "Should you have any more questions about the upgrade, do not hesitate to send a message to `Odoo Upgrade Team `_. We will be happy to answer it as soon as possible." +msgstr "" + +#: ../../content/administration/upgrade.rst:210 +msgid "Please note that Odoo provides support and bug fixing only for the three last major versions of Odoo." +msgstr "" + +#: ../../content/administration/upgrade.rst:213 +msgid "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)." +msgstr "" + +#: ../../content/administration/upgrade.rst:218 +#: ../../content/administration/upgrade.rst:257 +msgid ":doc:`maintain/supported_versions`" +msgstr "" + +#: ../../content/administration/upgrade.rst:223 +msgid "Service Level Agreement" +msgstr "" + +#: ../../content/administration/upgrade.rst:226 +msgid "What is covered by the Enterprise Licence?" +msgstr "" + +#: ../../content/administration/upgrade.rst:228 +msgid "Databases hosted on Odoo's Cloud platforms (Odoo Online and Odoo.sh) or On-Premise (Self-Hosting) enjoy the following services at all times." +msgstr "" + +#: ../../content/administration/upgrade.rst:231 +msgid "The upgrade of:" +msgstr "" + +#: ../../content/administration/upgrade.rst:233 +msgid "standard applications" +msgstr "" + +#: ../../content/administration/upgrade.rst:234 +msgid "Studio customization (as long as the :guilabel:`Studio` app is still active)" +msgstr "" + +#: ../../content/administration/upgrade.rst:235 +msgid "customizations *if* they are covered by a \"Maintenance of Customizations\" subscription" +msgstr "" + +#: ../../content/administration/upgrade.rst:237 +msgid "The Upgrade Service is limited to your database's technical conversion and adaptation (standard modules and data) to make it compatible with the targeted version." +msgstr "" + +#: ../../content/administration/upgrade.rst:241 +msgid "What upgrading does NOT cover" +msgstr "" + +#: ../../content/administration/upgrade.rst:243 +msgid "The cleaning of pre-existing data & configuration while upgrading" +msgstr "" + +#: ../../content/administration/upgrade.rst:244 +msgid "Any new developments and/or upgrades of your own :ref:`custom modules `" +msgstr "" + +#: ../../content/administration/upgrade.rst:246 +msgid "Lines of code added to standard modules that are not created with Odoo Studio." +msgstr "" + +#: ../../content/administration/upgrade.rst:247 +msgid "`Training `_ on the latest version" +msgstr "" + +#: ../../content/administration/upgrade.rst:249 +msgid "You can get more information about your Enterprise Licence on our :ref:`Odoo Enterprise Subscription Agreement ` page." +msgstr "" + +#: ../../content/administration/upgrade.rst:255 +msgid ":doc:`upgrade/faq`" +msgstr "" + +#: ../../content/administration/upgrade.rst:256 +msgid ":doc:`odoo_sh`" +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:8 +msgid "FAQ" +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:13 +msgid "Why upgrade" +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:15 +msgid "You benefit from the latest features of the :ref:`new major version ` released by Odoo." +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:17 +msgid "If you are in an :ref:`unsupported version `, you get a new version with support." +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:23 +msgid "When to upgrade" +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:25 +msgid "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." +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:31 +msgid "Availability of the new version" +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:33 +msgid "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 `_ and make sure to be happy with your test version before requesting the upgrade of your database in production." +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:42 +msgid "Duration of the upgrade" +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:44 +msgid "It is impossible to give time estimates for every upgrade request." +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:46 +msgid "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." +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:50 +msgid "You can expect the time it takes for the platform to upgrade the test database to be similar to the production upgrade." +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:56 +msgid "Duration of the upgrade project" +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:58 +msgid "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." +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:61 +msgid "So, in a nutshell, what can impact your upgrade lead time?" +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:63 +msgid "Source & targeted versions" +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:64 +msgid "Installed apps" +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:65 +msgid "Volume of data" +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:66 +msgid "Amount of customization (models, fields, methods, workflows, reports, website, etc.)" +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:67 +msgid "Installation of new apps or configuration changes after the start of the test phase" +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:68 +msgid "User commitment" +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:73 +msgid "Upgrade of the custom modules" +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:75 +msgid "As stated in our :doc:`/legal/terms/enterprise`, section :ref:`charges_standard`, this optional service is subject to additional fees." +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:78 +msgid "Depending on your situation, the custom code could be upgraded by our services, by one of our partners, or you can do it yourself." +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:86 +msgid "Upgrade or Migration" +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:88 +msgid "An upgrade is switching to a newer version of Odoo, while a migration reflects the change of :ref:`editions ` or change of :ref:`hosting type `." +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:97 +msgid "Editions change (from Community to Enterprise)" +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:99 +msgid "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." +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:103 +msgid "If you need assistance on this matter, please contact us via the `Odoo Support page `_." +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:107 +msgid "`Editions `_" +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:112 +msgid "Switching the hosting types (On-premise vs. Odoo Online vs. Odoo.sh)" +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:114 +msgid "An upgrade does not cover a change of `Hosting types `_." +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:116 +msgid "Open the following link to get :doc:`more information about how to change your hosting type <../maintain/hosting_changes>`." +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:124 +msgid "The Upgrade Report" +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:126 +msgid "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." +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:136 +msgid "Custom views" +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:138 +msgid "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 ` that is generated after the upgrade is available in the Discuss app, and lists all the custom views that might be impacted by this." +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:146 +msgid "Release Notes by version" +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:148 +msgid "Open our `Release Note `_ page to get a summary of the new features and improvements made in each version." +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:152 +msgid "How long is my test available for" +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:154 +msgid "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." +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:158 +msgid "How many tests to perform before upgrading to production?" +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:160 +msgid "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." +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:164 +msgid "How to/Where to report upgrade issues?" +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:166 +msgid "If you encounter issues during the upgrade process, please contact the Odoo Support through the `Odoo Support page `_." +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:169 +msgid "To report an issue discovered during the testing phase, please select **An issue related to my upgrade (test phase)**." +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:171 +msgid "To report an issue discovered post-upgrade, please select **An issue related to my upgrade (production)**." +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:175 +msgid "Upgrading to production" +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:177 +msgid "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." +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:182 +msgid "How is my data handled in the Upgrade Platform?" +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:184 +msgid "The Odoo Upgrade platform uses the same Privacy Policy as the rest of Odoo.com services." +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:186 +msgid "Your data is hosted on servers that follow our security guidelines, namely:" +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:188 +msgid "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." +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:191 +msgid "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)." +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:194 +msgid "Servers are located at the same locations as our Cloud providers with the following services:" +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:196 +msgid "Restricted perimeter, physically accessed by authorized data center employees only" +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:197 +msgid "Physical access control with security badges or biometrical security" +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:198 +msgid "Security cameras monitoring the data center locations 24/7" +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:199 +msgid "Security personnel on-site 24/7" +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:201 +msgid "The uploaded and migrated databases uploaded to the Upgrade platform are kept for up to 3 months and are permanently deleted following that period." +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:204 +msgid "You can learn more about privacy and data handling at Odoo by visiting our `General Data Protection Regulation page `_." +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:208 +msgid "Rolling Release (applicable to Odoo Online databases)" +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:210 +msgid "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:" +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:215 +msgid "To 'Upgrade Now', which immediately triggers the upgrade of your live production database." +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:217 +msgid "To take you to your `database manager `_ where you can `request an upgraded test database `_ and check the upgraded test database for any discrepancies." +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:221 +msgid "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 `_." +msgstr "" + +#: ../../content/administration/upgrade/faq.rst:227 +msgid "If you are using the Website or Studio app, we recommend you always do a test upgrade before upgrading your production instance." +msgstr "" + +#: ../../content/administration/upgrade/odoo_online.rst:6 +msgid "Requesting a test upgrade" +msgstr "" + +#: ../../content/administration/upgrade/odoo_online.rst:8 +msgid "Go to your `database manager `_" +msgstr "" + +#: ../../content/administration/upgrade/odoo_online.rst:9 +msgid "Click on your profile icon and select *My Databases*." +msgstr "" + +#: ../../content/administration/upgrade/odoo_online.rst:0 +msgid "Selecting My Databases under my profile" +msgstr "" + +#: ../../content/administration/upgrade/odoo_online.rst:14 +msgid "Click on the up arrow button next to your main database name to proceed to the test upgrade." +msgstr "" + +#: ../../content/administration/upgrade/odoo_online.rst:0 +msgid "Selecting the action settings icon" +msgstr "" + +#: ../../content/administration/upgrade/odoo_online.rst:19 +msgid "In the pop-up message that appears, select the target version and then :guilabel:`Test` as purpose." +msgstr "" + +#: ../../content/administration/upgrade/odoo_online.rst:23 +msgid "The :guilabel:`Production` purpose doesn't appear if you didn't test your upgraded database at least once." +msgstr "" + +#: ../../content/administration/upgrade/odoo_online.rst:26 +msgid "This triggers the automated upgrade process. A confirmation email is then sent to you with the the link to the upgraded database or to provide information if the upgrade failed." +msgstr "" + +#: ../../content/administration/upgrade/odoo_online.rst:30 +msgid "You can also see and access your test database from your *My Databases* page." +msgstr "" + +#: ../../content/administration/upgrade/odoo_sh.rst:10 +msgid "Odoo.sh is integrated with the upgrade platform to make the upgrade process easier." +msgstr "" + +#: ../../content/administration/upgrade/odoo_sh.rst:13 +msgid "The :guilabel:`Upgrade` tab is available in the branches view. It is only available for valid projects with a valid production build." +msgstr "" + +#: ../../content/administration/upgrade/odoo_sh.rst:None +msgid "Click on the upgrade menu" +msgstr "" + +#: ../../content/administration/upgrade/odoo_sh.rst:20 +msgid "The suggested upgrade steps on Odoo.sh are:" +msgstr "" + +#: ../../content/administration/upgrade/odoo_sh.rst:22 +msgid "On a :guilabel:`Development` branch, upgrade your custom modules to keep them compatible with the new version and thoroughly **test them**." +msgstr "" + +#: ../../content/administration/upgrade/odoo_sh.rst:24 +msgid "Switch that branch to the :guilabel:`Staging` branch, **upgrade** the last daily production backup and **test it**. Write upgrade scripts if necessary." +msgstr "" + +#: ../../content/administration/upgrade/odoo_sh.rst:26 +msgid "Trigger the production upgrade from your :guilabel:`Production` branch and sit tight." +msgstr "" + +#: ../../content/administration/upgrade/odoo_sh.rst:29 +msgid ":doc:`../../administration/upgrade`" +msgstr "" + +#: ../../content/administration/upgrade/odoo_sh.rst:30 +msgid ":doc:`Upgrade FAQ <../upgrade/faq>`" +msgstr "" + +#: ../../content/administration/upgrade/odoo_sh.rst:31 +msgid ":doc:`Introduction to Odoo.sh <../odoo_sh/overview/introduction>`" +msgstr "" + +#: ../../content/administration/upgrade/odoo_sh.rst:36 +msgid "Upgrade your custom modules" +msgstr "" + +#: ../../content/administration/upgrade/odoo_sh.rst:38 +msgid "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." +msgstr "" + +#: ../../content/administration/upgrade/odoo_sh.rst:45 +msgid "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)." +msgstr "" + +#: ../../content/administration/upgrade/odoo_sh.rst:51 +msgid "Upgrade your database on a staging branch" +msgstr "" + +#: ../../content/administration/upgrade/odoo_sh.rst:53 +msgid "Take the upgraded development branch and drag & drop it to :guilabel:`Staging`." +msgstr "" + +#: ../../content/administration/upgrade/odoo_sh.rst:55 +msgid "Go to the :guilabel:`Upgrade` tab and select the :guilabel:`target version`. Then, click on :guilabel:`Test Upgrade`." +msgstr "" + +#: ../../content/administration/upgrade/odoo_sh.rst:None +msgid "Odoo.sh project and tabs" +msgstr "" + +#: ../../content/administration/upgrade/odoo_sh.rst:62 +msgid "The **latest production daily automatic backup** is sent to the `upgrade platform `_ to start the upgrade test process." +msgstr "" + +#: ../../content/administration/upgrade/odoo_sh.rst:66 +msgid "You can follow the upgrade process by going to the :guilabel:`Upgrade` menu of your :guilabel:`Production` branch." +msgstr "" + +#: ../../content/administration/upgrade/odoo_sh.rst:69 +msgid "When the upgraded backup is ready on the `upgrade platform `_, it is automatically downloaded back to your project." +msgstr "" + +#: ../../content/administration/upgrade/odoo_sh.rst:72 +msgid "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." +msgstr "" + +#: ../../content/administration/upgrade/odoo_sh.rst:78 +msgid "The **special upgrade mode** is automatically closed after 30 days." +msgstr "" + +#: ../../content/administration/upgrade/odoo_sh.rst:79 +#: ../../content/administration/upgrade/odoo_sh.rst:128 +msgid "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." +msgstr "" + +#: ../../content/administration/upgrade/odoo_sh.rst:86 +msgid "Functionally test your upgraded database" +msgstr "" + +#: ../../content/administration/upgrade/odoo_sh.rst:88 +msgid "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." +msgstr "" + +#: ../../content/administration/upgrade/odoo_sh.rst:93 +msgid "Production upgrade" +msgstr "" + +#: ../../content/administration/upgrade/odoo_sh.rst:95 +msgid "Once you are happy with your testing, you can start the process on the :guilabel:`Production` branch." +msgstr "" + +#: ../../content/administration/upgrade/odoo_sh.rst:98 +msgid "On your :guilabel:`Production` branch, go to the :guilabel:`Upgrade` tab, select the :guilabel:`targeted version` and click on the :guilabel:`start Upgrade` button." +msgstr "" + +#: ../../content/administration/upgrade/odoo_sh.rst:None +msgid "View from the upgrade tab" +msgstr "" + +#: ../../content/administration/upgrade/odoo_sh.rst:105 +msgid "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." +msgstr "" + +#: ../../content/administration/upgrade/odoo_sh.rst:110 +msgid "You can see the progress of the upgrade by going to the :guilabel:`Upgrade` tab of the main branch." +msgstr "" + +#: ../../content/administration/upgrade/odoo_sh.rst:None +msgid "View showing the progress of the upgrade" +msgstr "" + +#: ../../content/administration/upgrade/odoo_sh.rst:118 +msgid "Your database is unavailable throughout the process." +msgstr "" + +#: ../../content/administration/upgrade/odoo_sh.rst:121 +msgid "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." +msgstr "" + +#: ../../content/administration/upgrade/odoo_sh.rst:124 +msgid "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." +msgstr "" + +#: ../../content/administration/upgrade/on_premise.rst:6 +msgid "Test upgrade request" +msgstr "" + +#: ../../content/administration/upgrade/on_premise.rst:8 +msgid "There are two ways to create your upgrade request." +msgstr "" + +#: ../../content/administration/upgrade/on_premise.rst:11 +msgid "Upgrade request via command line" +msgstr "" + +#: ../../content/administration/upgrade/on_premise.rst:13 +msgid "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:" +msgstr "" + +#: ../../content/administration/upgrade/on_premise.rst:16 +msgid ":command:`python <(curl -s https://upgrade.odoo.com/upgrade) test -d -t `" +msgstr "" + +#: ../../content/administration/upgrade/on_premise.rst:19 +msgid "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)." +msgstr "" + +#: ../../content/administration/upgrade/on_premise.rst:25 +msgid "Upgrade request via the Odoo Upgrade Portal" +msgstr "" + +#: ../../content/administration/upgrade/on_premise.rst:27 +msgid "Download a recent copy of your database and select the option :guilabel:`pg_dump custom format (without filestore)`." +msgstr "" + +#: ../../content/administration/upgrade/on_premise.rst:29 +msgid "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." +msgstr "" + +#: ../../content/administration/upgrade/on_premise.rst:32 +msgid "Import the upgraded database into your on-premise environment and manually test all processes and workflows." +msgstr "" + +#: ../../content/administration/upgrade/on_premise.rst:36 +msgid "For security reasons, only the person who submitted the upgrade request is able to download it." +msgstr "" + +#: ../../content/administration/upgrade/on_premise.rst:37 +msgid "Any problem found during testing should be reported via the `helpdesk `_." +msgstr "" + +#: ../../content/administration/upgrade/on_premise.rst:41 +msgid "Upgrade your production database" +msgstr "" + +#: ../../content/administration/upgrade/on_premise.rst:43 +msgid "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." +msgstr "" + +#: ../../content/administration/upgrade/on_premise.rst:48 +msgid "Custom modules (if applicable)" +msgstr "" + +#: ../../content/administration/upgrade/on_premise.rst:50 +msgid "The upgrade of a database that contains custom modules is a two-step process." +msgstr "" + +#: ../../content/administration/upgrade/on_premise.rst:52 +msgid "The standard upgrade is done when your upgrade request is completed." +msgstr "" + +#: ../../content/administration/upgrade/on_premise.rst:53 +msgid "Your custom modules also need to be upgraded to keep them compatible with the new version." +msgstr "" + +#: ../../content/administration/upgrade/on_premise.rst:55 +msgid "Depending on your contract, the upgrade of your custom modules can be done" +msgstr "" + +#: ../../content/administration/upgrade/on_premise.rst:57 +msgid "by yourself." +msgstr "" + +#: ../../content/administration/upgrade/on_premise.rst:58 +msgid "by your Partner." +msgstr "" + +#: ../../content/administration/upgrade/on_premise.rst:59 +msgid "by Odoo (if you hold a subscription to 'Maintenance of Customizations')." msgstr "" diff --git a/locale/sources/applications.pot b/locale/sources/applications.pot index fa7ece13f..1a0b20e85 100644 --- a/locale/sources/applications.pot +++ b/locale/sources/applications.pot @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Odoo 14.0\n" +"Project-Id-Version: Odoo saas-15.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-05-18 07:12+0200\n" +"POT-Creation-Date: 2023-03-03 14:24+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -16,6 +16,10 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../../content/applications.rst:3 -msgid "Applications" +#: ../../content/applications.rst:9 +msgid "User Docs" +msgstr "" + +#: ../../content/applications.rst:11 +msgid "Discover our user guides and configuration tutorials per application." msgstr "" diff --git a/locale/sources/contributing.pot b/locale/sources/contributing.pot index 0bbefaa86..7a496b094 100644 --- a/locale/sources/contributing.pot +++ b/locale/sources/contributing.pot @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Odoo 14.0\n" +"Project-Id-Version: Odoo saas-15.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-05-18 07:12+0200\n" +"POT-Creation-Date: 2023-03-03 14:24+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -16,65 +16,1477 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../../content/contributing.rst:4 +#: ../../content/contributing.rst:6 msgid "Contributing" msgstr "" -#: ../../content/contributing/documentation.rst:4 -msgid "Contributing to the documentation" +#: ../../content/contributing.rst:8 +msgid "First off, **thank you** for landing here and considering contributing to Odoo!" msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:4 +#: ../../content/contributing.rst:10 +msgid "This documentation serves as a guide for first-timer and veteran contributors. As an open-core project, Odoo accepts contributions from everyone, Odoo employees and members of the Odoo community alike. The Odoo community comprises users, developers, and other interested parties who contribute their time and expertise." +msgstr "" + +#: ../../content/contributing.rst:15 +msgid "Depending on your skill set and interest, there are many ways to contribute to Odoo. The table below lists the most important of them." +msgstr "" + +#: ../../content/contributing.rst:23 +msgid "Contribution" +msgstr "" + +#: ../../content/contributing.rst:24 +msgid "Description" +msgstr "" + +#: ../../content/contributing.rst:25 +msgid "Resources" +msgstr "" + +#: ../../content/contributing.rst:26 +msgid "Target Audience" +msgstr "" + +#: ../../content/contributing.rst:27 +msgid "Join the community" +msgstr "" + +#: ../../content/contributing.rst:28 +msgid "Participate in discussions on the forums, help answer questions, and assist other members of the Odoo community." +msgstr "" + +#: ../../content/contributing.rst:30 +msgid "`Odoo forums `_" +msgstr "" + +#: ../../content/contributing.rst:31 +msgid "Anyone interested in Odoo" +msgstr "" + +#: ../../content/contributing.rst:32 +msgid "Submit bug reports" +msgstr "" + +#: ../../content/contributing.rst:33 +msgid "Help improve the stability of Odoo by reporting the bugs that you discover in :doc:`supported versions ` directly to Odoo support. Make sure to include as many details (version, environment, test scenario...) as possible. If you don't have the Odoo Enterprise license required for contacting the support, open a new issue on the GitHub repository of Odoo." +msgstr "" + +#: ../../content/contributing.rst:38 +msgid "`Odoo support `_" +msgstr "" + +#: ../../content/contributing.rst:39 +msgid "`Issue tracker on GitHub `_" +msgstr "" + +#: ../../content/contributing.rst:40 +msgid "Users of Odoo" +msgstr "" + +#: ../../content/contributing.rst:41 +msgid "Translate Odoo" +msgstr "" + +#: ../../content/contributing.rst:42 +msgid "Translate the user interface and documentation of Odoo into different languages." +msgstr "" + +#: ../../content/contributing.rst:43 +msgid "`Odoo project on Transifex `_" +msgstr "" + +#: ../../content/contributing.rst:44 +msgid "Anyone fluent in multiple languages" +msgstr "" + +#: ../../content/contributing.rst:45 +msgid "Contribute to the codebase" +msgstr "" + +#: ../../content/contributing.rst:46 +msgid "Submit pull requests to the Odoo GitHub repositories to fix bugs, add new features, or improve the performance and reliability of the product. You can also review and comment on pull requests from other contributors. By contributing to the codebase, you can make a direct and lasting impact on the quality and features of Odoo." +msgstr "" + +#: ../../content/contributing.rst:50 +msgid ":doc:`Guide: Contributing to the codebase `" +msgstr "" + +#: ../../content/contributing.rst:51 +msgid ":doc:`Developer tutorials `" +msgstr "" + +#: ../../content/contributing.rst:52 +#: ../../content/contributing.rst:65 +msgid "Developers with experience in Python and web development" +msgstr "" + +#: ../../content/contributing.rst:53 +msgid "Contribute to the documentation" +msgstr "" + +#: ../../content/contributing.rst:54 +msgid "Submit corrections and improvements to the Odoo documentation. The product evolves fast, and it can be challenging to consistently reflect these changes in the documentation. By updating the documentation, you can help many users find their way in Odoo." +msgstr "" + +#: ../../content/contributing.rst:57 +msgid ":doc:`Guide: Contributing to the documentation `" +msgstr "" + +#: ../../content/contributing.rst:58 +msgid "Anyone interested in improving the Odoo documentation" +msgstr "" + +#: ../../content/contributing.rst:59 +msgid "Create custom modules" +msgstr "" + +#: ../../content/contributing.rst:60 +msgid "Develop new modules to extend the functionality of Odoo. Custom modules can be made available for free or paid on the Odoo App Store or on any other Odoo modules library. By creating custom modules and making them available to others, you can help grow the Odoo ecosystem and provide additional value to users of the platform." +msgstr "" + +#: ../../content/contributing.rst:64 +msgid "`Odoo Apps Store `_" +msgstr "" + +#: ../../content/contributing.rst:68 +msgid "It is mainly Odoo employees who develop new features for the codebase and write new content for the documentation. Be sure to discuss any idea for a new feature or page with the Odoo team so they can give you the green light before you begin working on it. Some features may already be in development on their side, and only approved features can be merged." +msgstr "" + +#: ../../content/contributing/check_mergeability_status.rst:1 +#: ../../content/contributing/check_mergeability_status.rst:1 +#: ../../content/contributing/check_mergeability_status.rst:1 +#: ../../content/contributing/check_mergeability_status.rst:1 +#: ../../content/contributing/check_mergeability_status.rst:1 +#: ../../content/contributing/check_mergeability_status.rst:1 +msgid "At the bottom of the page, check the mergeability status and address any issues." +msgstr "" + +#: ../../content/contributing/configure_git_authorship.rst:1 +#: ../../content/contributing/configure_git_authorship.rst:1 +#: ../../content/contributing/configure_git_authorship.rst:1 +msgid "Configure Git to identify yourself as the author of your future contributions. Enter the same email address you used to register on GitHub." +msgstr "" + +#: ../../content/contributing/configure_github_account.rst:1 +#: ../../content/contributing/configure_github_account.rst:1 +#: ../../content/contributing/configure_github_account.rst:1 +msgid "`Generate a new SSH key and register it on your GitHub account `_." +msgstr "" + +#: ../../content/contributing/create_github_account.rst:1 +#: ../../content/contributing/create_github_account.rst:1 +#: ../../content/contributing/create_github_account.rst:1 +msgid "First, you need to `create a GitHub account `_. Odoo uses GitHub to manage the source code of its products, and this is where you will make your changes and submit them for review." +msgstr "" + +#: ../../content/contributing/development.rst:5 +msgid "Development" +msgstr "" + +#: ../../content/contributing/development.rst:13 +msgid "If you are reading this, chances are that you are interested in learning how to contribute to the codebase of Odoo. Whether that's the case or you landed here by accident, we've got you covered!" +msgstr "" + +#: ../../content/contributing/development.rst:17 +#: ../../content/contributing/documentation.rst:19 +msgid ":doc:`Discover other ways to contribute to Odoo <../contributing>`" +msgstr "" + +#: ../../content/contributing/development.rst:19 +msgid "When you feel ready, jump to the :ref:`contributing/development/setup` section to begin your journey in contributing to the development of Odoo." +msgstr "" + +#: ../../content/contributing/development.rst:25 +#: ../../content/contributing/documentation.rst:63 +msgid "Environment setup" +msgstr "" + +#: ../../content/contributing/development.rst:27 +msgid "The instructions below help you prepare your environment for making local changes to the codebase and then push them to GitHub. Skip this section and go to :ref:`contributing/development/first-contribution` if you have already completed this step." +msgstr "" + +#: ../../content/contributing/development.rst:33 +msgid "Go to `github.com/odoo/odoo `_ and click on the :guilabel:`Fork` button in the top right corner to create a fork (:dfn:`your own copy`) of the repository on your account. Do the same with `github.com/odoo/enterprise `_ if you have access to it. This creates a copy of the codebase to which you can make changes without affecting the main codebase. Skip this step if you work at Odoo." +msgstr "" + +#: ../../content/contributing/install_git.rst:1 +#: ../../content/contributing/install_git.rst:1 +#: ../../content/contributing/install_git.rst:1 +msgid "`Install Git `_. It is a command-line (:dfn:`a text interface`) tool that allows tracking the history of changes made to a file and, more importantly, working on different versions of that file simultaneously. It means you do not need to worry about overwriting someone else’s pending work when making changes." +msgstr "" + +#: ../../content/contributing/install_git.rst:6 +#: ../../content/contributing/install_git.rst:6 +#: ../../content/contributing/install_git.rst:6 +msgid "Verify that the installation directory of Git is included in your system's `PATH` variable." +msgstr "" + +#: ../../content/contributing/install_git.rst:10 +#: ../../content/contributing/install_git.rst:10 +#: ../../content/contributing/documentation.rst:97 +#: ../../content/contributing/documentation.rst:124 +#: ../../content/contributing/documentation.rst:140 +#: ../../content/contributing/install_git.rst:10 +msgid "Linux and macOS" +msgstr "" + +#: ../../content/contributing/install_git.rst:12 +#: ../../content/contributing/install_git.rst:12 +#: ../../content/contributing/install_git.rst:12 +msgid "Follow the `guide to update the PATH variable on Linux and macOS `_ with the installation path of Git (by default :file:`/usr/bin/git`)." +msgstr "" + +#: ../../content/contributing/install_git.rst:16 +#: ../../content/contributing/install_git.rst:16 +#: ../../content/contributing/documentation.rst:104 +#: ../../content/contributing/documentation.rst:130 +#: ../../content/contributing/documentation.rst:146 +#: ../../content/contributing/install_git.rst:16 +msgid "Windows" +msgstr "" + +#: ../../content/contributing/install_git.rst:18 +#: ../../content/contributing/install_git.rst:18 +#: ../../content/contributing/install_git.rst:18 +msgid "Follow the `guide to update the PATH variable on Windows `_ with the installation path of Git (by default :file:`C:\\\\Program Files\\\\Git`)." +msgstr "" + +#: ../../content/contributing/development.rst:40 +msgid ":ref:`Install Odoo from the sources `. Make sure to fetch the sources through Git with SSH." +msgstr "" + +#: ../../content/contributing/development.rst:42 +msgid "Configure Git to push changes to your fork(s) rather than to the main codebase. If you work at Odoo, configure Git to push changes to the shared forks created on the account **odoo-dev**." +msgstr "" + +#: ../../content/contributing/development.rst:47 +msgid "Link Git with your fork(s)" +msgstr "" + +#: ../../content/contributing/development.rst:49 +msgid "In the command below, replace `` with the name of the GitHub account on which you created the fork(s)." +msgstr "" + +#: ../../content/contributing/development.rst:56 +msgid "If you have access to `odoo/enterprise`, configure the related remote too." +msgstr "" + +#: ../../content/contributing/development.rst:62 +msgid "Link Git with odoo-dev" +msgstr "" + +#: ../../content/contributing/development.rst:72 +msgid "That's it! You are ready to :ref:`make your first contribution `." +msgstr "" + +#: ../../content/contributing/development.rst:79 +#: ../../content/contributing/documentation.rst:158 +msgid "Make your first contribution" +msgstr "" + +#: ../../content/contributing/development.rst:82 +msgid "Odoo development can be challenging for beginners. We recommend you to be knowledgeable enough to code a small module before contributing. If that is not the case, take some time to go through the :doc:`developer tutorials ` to fill in the gaps." +msgstr "" + +#: ../../content/contributing/development.rst:85 +#: ../../content/contributing/documentation.rst:204 +msgid "Some steps of this guide require to be comfortable with Git. Here are some `tutorials `_ and an `interactive training `_ if you are stuck at some point." +msgstr "" + +#: ../../content/contributing/development.rst:89 +msgid "Now that your environment is set up, you can start contributing to the codebase. In a terminal, navigate to the directory where you installed Odoo from sources and follow the guide below." +msgstr "" + +#: ../../content/contributing/development.rst:92 +msgid "Choose the version of Odoo to which you want to make changes. Keep in mind that contributions targeting an :doc:`unsupported version of Odoo ` are not accepted. This guide assumes that the changes target Odoo 15.2, which corresponds to branch `saas-15.2`." +msgstr "" + +#: ../../content/contributing/development.rst:96 +#: ../../content/contributing/documentation.rst:216 +msgid "Create a new branch starting from branch saas-15.2. Prefix the branch name with the base branch: `saas-15.2-...`. If you work at Odoo, suffix the branch name with your Odoo handle: `saas-15.2-...-xyz`." +msgstr "" + +#: ../../content/contributing/development.rst:110 +msgid "`Sign the Odoo CLA `_ if not already done. Skip this step if you work at Odoo." +msgstr "" + +#: ../../content/contributing/development.rst:112 +msgid "Make the desired changes to the codebase. When working on the codebase, follow these rules:" +msgstr "" + +#: ../../content/contributing/development.rst:114 +msgid "Keep your changes focused and specific. It is best to work on one particular feature or bug fix at a time rather than tackle multiple unrelated changes simultaneously." +msgstr "" + +#: ../../content/contributing/development.rst:116 +msgid "Respect the `stable policy `_ when working in another branch than `master`." +msgstr "" + +#: ../../content/contributing/development.rst:119 +msgid "Follow the :doc:`coding guidelines `." +msgstr "" + +#: ../../content/contributing/development.rst:120 +msgid "Test your changes thoroughly and :doc:`write tests ` to ensure that everything is working as expected and that there are no regressions or unintended consequences." +msgstr "" + +#: ../../content/contributing/development.rst:124 +#: ../../content/contributing/documentation.rst:249 +msgid "Commit your changes. Write a clear commit message as instructed in the :doc:`Git guidelines `." +msgstr "" + +#: ../../content/contributing/development.rst:132 +#: ../../content/contributing/documentation.rst:257 +msgid "Push your change to your fork, for which we added the remote alias `dev`." +msgstr "" + +#: ../../content/contributing/development.rst:140 +#: ../../content/contributing/documentation.rst:274 +msgid "Open a :abbr:`PR (Pull Request)` on GitHub to submit your changes for review." +msgstr "" + +#: ../../content/contributing/development.rst:142 +msgid "Go to the `compare page of the odoo/odoo codebase `_, or the `compare page of the odoo/enterprise codebase `_, depending on which codebase your changes target." +msgstr "" + +#: ../../content/contributing/development.rst:146 +#: ../../content/contributing/documentation.rst:278 +msgid "Select **saas-15.2** for the base." +msgstr "" + +#: ../../content/contributing/development.rst:147 +#: ../../content/contributing/documentation.rst:279 +msgid "Click on :guilabel:`compare across forks`." +msgstr "" + +#: ../../content/contributing/development.rst:148 +msgid "Select **/odoo** or **/enterprise** for the head repository. Replace `` with the name of the GitHub account on which you created the fork or by **odoo-dev** if you work at Odoo." +msgstr "" + +#: ../../content/contributing/development.rst:151 +#: ../../content/contributing/documentation.rst:192 +#: ../../content/contributing/documentation.rst:283 +msgid "Review your changes and click on the :guilabel:`Create pull request` button." +msgstr "" + +#: ../../content/contributing/development.rst:152 +#: ../../content/contributing/documentation.rst:193 +#: ../../content/contributing/documentation.rst:284 +msgid "Tick the :guilabel:`Allow edits from maintainer` checkbox. Skip this step if you work at Odoo." +msgstr "" + +#: ../../content/contributing/development.rst:153 +#: ../../content/contributing/documentation.rst:286 +msgid "Complete the description and click on the :guilabel:`Create pull request` button again." +msgstr "" + +#: ../../content/contributing/handle_reviews.rst:1 +#: ../../content/contributing/handle_reviews.rst:1 +#: ../../content/contributing/handle_reviews.rst:1 +#: ../../content/contributing/handle_reviews.rst:1 +#: ../../content/contributing/handle_reviews.rst:1 +#: ../../content/contributing/handle_reviews.rst:1 +msgid "As soon as your :abbr:`PR (Pull Request)` is ready for merging, a member of the Odoo team will be automatically assigned for review. If the reviewer has questions or remarks, they will post them as comments and you will be notified by email. Those comments must be resolved for the contribution to go forward." +msgstr "" + +#: ../../content/contributing/development.rst:157 +msgid "Once your changes are approved, the review merges them and they become available for all Odoo users after the next code update!" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:5 +msgid "Coding guidelines" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:7 +msgid "This page introduces the Odoo Coding Guidelines. Those aim to improve the quality of Odoo Apps code. Indeed proper code improves readability, eases maintenance, helps debugging, lowers complexity and promotes reliability. These guidelines should be applied to every new module and to all new development." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:14 +msgid "When modifying existing files in **stable version** the original file style strictly supersedes any other style guidelines. In other words please never modify existing files in order to apply these guidelines. It avoids disrupting the revision history of code lines. Diff should be kept minimal. For more details, see our `pull request guide `_." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:22 +msgid "When modifying existing files in **master (development) version** apply those guidelines to existing code only for modified code or if most of the file is under revision. In other words modify existing files structure only if it is going under major changes. In that case first do a **move** commit then apply the changes related to the feature." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:29 +msgid "Module structure" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:32 +msgid "Directories" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:34 +msgid "A module is organized in important directories. Those contain the business logic; having a look at them should make you understand the purpose of the module." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:37 +msgid "*data/* : demo and data xml" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:38 +msgid "*models/* : models definition" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:39 +msgid "*controllers/* : contains controllers (HTTP routes)" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:40 +msgid "*views/* : contains the views and templates" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:41 +msgid "*static/* : contains the web assets, separated into *css/, js/, img/, lib/, ...*" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:43 +msgid "Other optional directories compose the module." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:45 +msgid "*wizard/* : regroups the transient models (``models.TransientModel``) and their views" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:46 +msgid "*report/* : contains the printable reports and models based on SQL views. Python objects and XML views are included in this directory" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:47 +msgid "*tests/* : contains the Python tests" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:51 +msgid "File naming" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:53 +msgid "File naming is important to quickly find information through all odoo addons. This section explains how to name files in a standard odoo module. As an example we use a `plant nursery `_ application. It holds two main models *plant.nursery* and *plant.order*." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:58 +msgid "Concerning *models*, split the business logic by sets of models belonging to a same main model. Each set lies in a given file named based on its main model. If there is only one model, its name is the same as the module name. Each inherited model should be in its own file to help understanding of impacted models." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:72 +msgid "Concerning *security*, three main files should be used:" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:74 +msgid "First one is the definition of access rights done in a :file:`ir.model.access.csv` file." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:75 +msgid "User groups are defined in :file:`_groups.xml`." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:76 +msgid "Record rules are defined in :file:`_security.xml`." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:87 +msgid "Concerning *views*, backend views should be split like models and suffixed by ``_views.xml``. Backend views are list, form, kanban, activity, graph, pivot, .. views. To ease split by model in views main menus not linked to specific actions may be extracted into an optional ``_menus.xml`` file. Templates (QWeb pages used notably for portal / website display) and bundles (import of JS and CSS assets) are put in separate files. Those are respectively ``_templates.xml`` and ``assets.xml`` files." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:107 +msgid "Concerning *data*, split them by purpose (demo or data) and main model. Filenames will be the main_model name suffixed by ``_demo.xml`` or ``_data.xml``. For instance for an application having demo and data for its main model as well as subtypes, activities and mail templates all related to mail module:" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:120 +msgid "Concerning *controllers*, generally all controllers belong to a single controller contained in a file named ``.py``. An old convention in Odoo is to name this file ``main.py`` but it is considered as outdated. If you need to inherit an existing controller from another module do it in ``.py``. For example adding portal controller in an application is done in ``portal.py``." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:134 +msgid "Concerning *static files*, Javascript files follow globally the same logic as python models. Each component should be in its own file with a meaningful name. For instance, the activity widgets are located in ``activity.js`` of mail module. Subdirectories can also be created to structure the 'package' (see web module for more details). The same logic should be applied for the templates of JS widgets (static XML files) and for their styles (scss files). Don't link data (image, libraries) outside Odoo: do not use an URL to an image but copy it in the codebase instead." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:143 +msgid "Concerning *wizards*, naming convention is the same of for python models: ``.py`` and ``_views.xml``. Both are put in the wizard directory. This naming comes from old odoo applications using the wizard keyword for transient models." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:155 +msgid "Concerning *statistics reports* done with python / SQL views and classic views naming is the following :" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:165 +msgid "Concerning *printable reports* which contain mainly data preparation and Qweb templates naming is the following :" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:175 +msgid "The complete tree of our Odoo module therefore looks like" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:234 +msgid "File names should only contain ``[a-z0-9_]`` (lowercase alphanumerics and ``_``)" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:237 +msgid "Use correct file permissions : folder 755 and file 644." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:242 +msgid "XML files" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:245 +msgid "Format" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:247 +msgid "To declare a record in XML, the **record** notation (using **) is recommended:" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:249 +msgid "Place ``id`` attribute before ``model``" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:250 +msgid "For field declaration, ``name`` attribute is first. Then place the *value* either in the ``field`` tag, either in the ``eval`` attribute, and finally other attributes (widget, options, ...) ordered by importance." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:255 +msgid "Try to group the record by model. In case of dependencies between action/menu/views, this convention may not be applicable." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:257 +msgid "Use naming convention defined at the next point" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:258 +msgid "The tag ** is only used to set not-updatable data with ``noupdate=1``. If there is only not-updatable data in the file, the ``noupdate=1`` can be set on the ```` tag and do not set a ```` tag." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:276 +msgid "Odoo supports custom tags acting as syntactic sugar:" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:278 +msgid "menuitem: use it as a shortcut to declare a ``ir.ui.menu``" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:279 +msgid "template: use it to declare a QWeb View requiring only the ``arch`` section of the view." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:281 +msgid "These tags are preferred over the *record* notation." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:285 +msgid "XML IDs and naming" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:288 +msgid "Security, View and Action" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:290 +msgid "Use the following pattern :" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:292 +msgid "For a menu: :samp:`{}_menu`, or :samp:`{}_menu_{do_stuff}` for submenus." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:293 +msgid "For a view: :samp:`{}_view_{}`, where *view_type* is ``kanban``, ``form``, ``tree``, ``search``, ..." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:295 +msgid "For an action: the main action respects :samp:`{}_action`. Others are suffixed with :samp:`_{}`, where *detail* is a lowercase string briefly explaining the action. This is used only if multiple actions are declared for the model." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:299 +msgid "For window actions: suffix the action name by the specific view information like :samp:`{}_action_view_{}`." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:301 +msgid "For a group: :samp:`{}_group_{}` where *group_name* is the name of the group, generally 'user', 'manager', ..." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:303 +msgid "For a rule: :samp:`{}_rule_{}` where *concerned_group* is the short name of the concerned group ('user' for the 'model_name_group_user', 'public' for public user, 'company' for multi-company rules, ...)." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:308 +msgid "Name should be identical to xml id with dots replacing underscores. Actions should have a real naming as it is used as display name." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:362 +msgid "Inheriting XML" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:364 +msgid "Xml Ids of inheriting views should use the same ID as the original record. It helps finding all inheritance at a glance. As final Xml Ids are prefixed by the module that creates them there is no overlap." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:368 +msgid "Naming should contain an ``.inherit.{details}`` suffix to ease understanding the override purpose when looking at its name." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:379 +msgid "New primary views do not require the inherit suffix as those are new records based upon the first one." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:394 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:879 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:881 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:897 +msgid "Python" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:398 +msgid "Do not forget to read the :ref:`Security Pitfalls ` section as well to write secure code." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:402 +msgid "PEP8 options" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:404 +msgid "Using a linter can help show syntax and semantic warnings or errors. Odoo source code tries to respect Python standard, but some of them can be ignored." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:407 +msgid "E501: line too long" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:408 +msgid "E301: expected 1 blank line, found 0" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:409 +msgid "E302: expected 2 blank lines, found 1" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:412 +msgid "Imports" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:414 +msgid "The imports are ordered as" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:416 +msgid "External libraries (one per line sorted and split in python stdlib)" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:417 +msgid "Imports of ``odoo``" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:418 +msgid "Imports from Odoo modules (rarely, and only if necessary)" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:420 +msgid "Inside these 3 groups, the imported lines are alphabetically sorted." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:438 +msgid "Idiomatics of Programming (Python)" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:440 +msgid "Always favor *readability* over *conciseness* or using the language features or idioms." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:441 +msgid "Don't use ``.clone()``" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:452 +msgid "Python dictionary : creation and update" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:477 +msgid "Use meaningful variable/class/method names" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:478 +msgid "Useless variable : Temporary variables can make the code clearer by giving names to objects, but that doesn't mean you should create temporary variables all the time:" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:490 +msgid "Multiple return points are OK, when they're simpler" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:510 +msgid "Know your builtins : You should at least have a basic understanding of all the Python builtins (http://docs.python.org/library/functions.html)" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:518 +msgid "Also, ``if 'key' in my_dict`` and ``if my_dict.get('key')`` have very different meaning, be sure that you're using the right one." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:521 +msgid "Learn list comprehensions : Use list comprehension, dict comprehension, and basic manipulation using ``map``, ``filter``, ``sum``, ... They make the code easier to read." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:534 +msgid "Collections are booleans too : In python, many objects have \"boolean-ish\" value when evaluated in a boolean context (such as an if). Among these are collections (lists, dicts, sets, ...) which are \"falsy\" when empty and \"truthy\" when containing items:" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:545 +msgid "So, you can write ``if some_collection:`` instead of ``if len(some_collection):``." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:548 +msgid "Iterate on iterables" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:562 +msgid "Use dict.setdefault" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:578 +msgid "As a good developer, document your code (docstring on methods, simple comments for tricky part of code)" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:580 +msgid "In additions to these guidelines, you may also find the following link interesting: http://python.net/~goodger/projects/pycon/2007/idiomatic/handout.html (a little bit outdated, but quite relevant)" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:585 +msgid "Programming in Odoo" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:587 +msgid "Avoid to create generators and decorators: only use the ones provided by the Odoo API." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:589 +msgid "As in python, use ``filtered``, ``mapped``, ``sorted``, ... methods to ease code reading and performance." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:593 +msgid "Propagate the context" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:595 +msgid "The context is a ``frozendict`` that cannot be modified. To call a method with a different context, the ``with_context`` method should be used :" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:604 +msgid "Passing parameter in context can have dangerous side-effects." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:606 +msgid "Since the values are propagated automatically, some unexpected behavior may appear. Calling ``create()`` method of a model with *default_my_field* key in context will set the default value of *my_field* for the concerned model. But if during this creation, other objects (such as sale.order.line, on sale.order creation) having a field name *my_field* are created, their default value will be set too." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:612 +msgid "If you need to create a key context influencing the behavior of some object, choose a good name, and eventually prefix it by the name of the module to isolate its impact. A good example are the keys of ``mail`` module : *mail_create_nosubscribe*, *mail_notrack*, *mail_notify_user_signature*, ..." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:618 +msgid "Think extendable" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:620 +msgid "Functions and methods should not contain too much logic: having a lot of small and simple methods is more advisable than having few large and complex methods. A good rule of thumb is to split a method as soon as it has more than one responsibility (see http://en.wikipedia.org/wiki/Single_responsibility_principle)." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:625 +msgid "Hardcoding a business logic in a method should be avoided as it prevents to be easily extended by a submodule." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:651 +msgid "The above code is over extendable for the sake of example but the readability must be taken into account and a tradeoff must be made." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:654 +msgid "Also, name your functions accordingly: small and properly named functions are the starting point of readable/maintainable code and tighter documentation." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:657 +msgid "This recommendation is also relevant for classes, files, modules and packages. (See also http://en.wikipedia.org/wiki/Cyclomatic_complexity)" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:661 +msgid "Never commit the transaction" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:663 +msgid "The Odoo framework is in charge of providing the transactional context for all RPC calls. The principle is that a new database cursor is opened at the beginning of each RPC call, and committed when the call has returned, just before transmitting the answer to the RPC client, approximately like this:" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:684 +msgid "If any error occurs during the execution of the RPC call, the transaction is rolled back atomically, preserving the state of the system." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:687 +msgid "Similarly, the system also provides a dedicated transaction during the execution of tests suites, so it can be rolled back or not depending on the server startup options." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:691 +msgid "The consequence is that if you manually call ``cr.commit()`` anywhere there is a very high chance that you will break the system in various ways, because you will cause partial commits, and thus partial and unclean rollbacks, causing among others:" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:696 +msgid "inconsistent business data, usually data loss" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:697 +msgid "workflow desynchronization, documents stuck permanently" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:698 +msgid "tests that can't be rolled back cleanly, and will start polluting the database, and triggering error (this is true even if no error occurs during the transaction)" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:709 +msgid "Here is the very simple rule:" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:703 +msgid "You should **NEVER** call ``cr.commit()`` yourself, **UNLESS** you have created your own database cursor explicitly! And the situations where you need to do that are exceptional!" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:707 +msgid "And by the way if you did create your own cursor, then you need to handle error cases and proper rollback, as well as properly close the cursor when you're done with it." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:711 +msgid "And contrary to popular belief, you do not even need to call ``cr.commit()`` in the following situations: - in the ``_auto_init()`` method of an *models.Model* object: this is taken care of by the addons initialization method, or by the ORM transaction when creating custom models - in reports: the ``commit()`` is handled by the framework too, so you can update the database even from within a report - within *models.Transient* methods: these methods are called exactly like regular *models.Model* ones, within a transaction and with the corresponding ``cr.commit()/rollback()`` at the end - etc. (see general rule above if you are in doubt!)" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:723 +msgid "All ``cr.commit()`` calls outside of the server framework from now on must have an **explicit comment** explaining why they are absolutely necessary, why they are indeed correct, and why they do not break the transactions. Otherwise they can and will be removed !" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:729 +msgid "Use translation method correctly" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:731 +msgid "Odoo uses a GetText-like method named \"underscore\" ``_( )`` to indicate that a static string used in the code needs to be translated at runtime using the language of the context. This pseudo-method is accessed within your code by importing as follows:" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:740 +msgid "A few very important rules must be followed when using it, in order for it to work and to avoid filling the translations with useless junk." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:743 +msgid "Basically, this method should only be used for static strings written manually in the code, it will not work to translate field values, such as Product names, etc. This must be done instead using the translate flag on the corresponding field." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:748 +msgid "The method accepts optional positional or named parameter The rule is very simple: calls to the underscore method should always be in the form ``_('literal string')`` and nothing else:" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:791 +msgid "Also, keep in mind that translators will have to work with the literal values that are passed to the underscore function, so please try to make them easy to understand and keep spurious characters and formatting to a minimum. Translators must be aware that formatting patterns such as ``%s`` or ``%d``, newlines, etc. need to be preserved, but it's important to use these in a sensible and obvious manner:" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:811 +msgid "In general in Odoo, when manipulating strings, prefer ``%`` over ``.format()`` (when only one variable to replace in a string), and prefer ``%(varname)`` instead of position (when multiple variables have to be replaced). This makes the translation easier for the community translators." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:817 +msgid "Symbols and Conventions" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:827 +msgid "Model name (using the dot notation, prefix by the module name) :" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:820 +msgid "When defining an Odoo Model : use singular form of the name (*res.partner* and *sale.order* instead of *res.partnerS* and *saleS.orderS*)" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:822 +msgid "When defining an Odoo Transient (wizard) : use ``.`` where *related_base_model* is the base model (defined in *models/*) related to the transient, and *action* is the short name of what the transient do. Avoid the *wizard* word. For instance : ``account.invoice.make``, ``project.task.delegate.batch``, ..." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:826 +msgid "When defining *report* model (SQL views e.i.) : use ``.report.``, based on the Transient convention." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:829 +msgid "Odoo Python Class : use camelcase (Object-oriented style)." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:840 +msgid "Variable name :" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:838 +msgid "use camelcase for model variable" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:839 +msgid "use underscore lowercase notation for common variable." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:840 +msgid "suffix your variable name with *_id* or *_ids* if it contains a record id or list of id. Don't use ``partner_id`` to contain a record of res.partner" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:848 +msgid "``One2Many`` and ``Many2Many`` fields should always have *_ids* as suffix (example: sale_order_line_ids)" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:849 +msgid "``Many2One`` fields should have *_id* as suffix (example : partner_id, user_id, ...)" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:859 +msgid "Method conventions" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:851 +msgid "Compute Field : the compute method pattern is *_compute_*" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:852 +msgid "Search method : the search method pattern is *_search_*" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:853 +msgid "Default method : the default method pattern is *_default_*" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:854 +msgid "Selection method: the selection method pattern is *_selection_*" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:855 +msgid "Onchange method : the onchange method pattern is *_onchange_*" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:856 +msgid "Constraint method : the constraint method pattern is *_check_*" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:857 +msgid "Action method : an object action method is prefix with *action_*. Since it uses only one record, add ``self.ensure_one()`` at the beginning of the method." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:870 +msgid "In a Model attribute order should be" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:862 +msgid "Private attributes (``_name``, ``_description``, ``_inherit``, ``_sql_constraints``, ...)" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:863 +msgid "Default method and ``default_get``" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:864 +msgid "Field declarations" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:865 +msgid "Compute, inverse and search methods in the same order as field declaration" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:866 +msgid "Selection method (methods used to return computed values for selection fields)" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:867 +msgid "Constrains methods (``@api.constrains``) and onchange methods (``@api.onchange``)" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:868 +msgid "CRUD methods (ORM overrides)" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:869 +msgid "Action methods" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:870 +msgid "And finally, other business methods." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:926 +msgid "Javascript and CSS" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:929 +msgid "Static files organization" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:931 +msgid "Odoo addons have some conventions on how to structure various files. We explain here in more details how web assets are supposed to be organized." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:934 +msgid "The first thing to know is that the Odoo server will serve (statically) all files located in a *static/* folder, but prefixed with the addon name. So, for example, if a file is located in *addons/web/static/src/js/some_file.js*, then it will be statically available at the url *your-odoo-server.com/web/static/src/js/some_file.js*" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:939 +msgid "The convention is to organize the code according to the following structure:" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:941 +msgid "*static*: all static files in general" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:943 +msgid "*static/lib*: this is the place where js libs should be located, in a sub folder. So, for example, all files from the *jquery* library are in *addons/web/static/lib/jquery*" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:945 +msgid "*static/src*: the generic static source code folder" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:947 +msgid "*static/src/css*: all css files" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:948 +msgid "*static/fonts*" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:949 +msgid "*static/img*" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:950 +msgid "*static/src/js*" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:952 +msgid "*static/src/js/tours*: end user tour files (tutorials, not tests)" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:954 +msgid "*static/src/scss*: scss files" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:955 +msgid "*static/src/xml*: all qweb templates that will be rendered in JS" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:957 +msgid "*static/tests*: this is where we put all test related files." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:959 +msgid "*static/tests/tours*: this is where we put all tour test files (not tutorials)." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:962 +msgid "Javascript coding guidelines" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:964 +msgid "``use strict;`` is recommended for all javascript files" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:965 +msgid "Use a linter (jshint, ...)" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:966 +msgid "Never add minified Javascript Libraries" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:967 +msgid "Use camelcase for class declaration" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:969 +msgid "More precise JS guidelines are detailed in the `github wiki `_. You may also have a look at existing API in Javascript by looking Javascript References." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:974 +msgid "CSS coding guidelines" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:976 +msgid "Prefix all your classes with *o_* where *module_name* is the technical name of the module ('sale', 'im_chat', ...) or the main route reserved by the module (for website module mainly, i.e. : 'o_forum' for *website_forum* module). The only exception for this rule is the webclient: it simply uses *o_* prefix." +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:981 +msgid "Avoid using *id* tag" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:982 +msgid "Use Bootstrap native classes" +msgstr "" + +#: ../../content/contributing/development/coding_guidelines.rst:983 +msgid "Use underscore lowercase notation to name class" +msgstr "" + +#: ../../content/contributing/development/git_guidelines.rst:3 +msgid "Git guidelines" +msgstr "" + +#: ../../content/contributing/development/git_guidelines.rst:6 +msgid "Configure your git" +msgstr "" + +#: ../../content/contributing/development/git_guidelines.rst:8 +msgid "Based on ancestral experience and oral tradition, the following things go a long way towards making your commits more helpful:" +msgstr "" + +#: ../../content/contributing/development/git_guidelines.rst:11 +msgid "Be sure to define both the user.email and user.name in your local git config" +msgstr "" + +#: ../../content/contributing/development/git_guidelines.rst:17 +msgid "Be sure to add your full name to your Github profile here. Please feel fancy and add your team, avatar, your favorite quote, and whatnot ;-)" +msgstr "" + +#: ../../content/contributing/development/git_guidelines.rst:21 +msgid "Commit message structure" +msgstr "" + +#: ../../content/contributing/development/git_guidelines.rst:23 +msgid "Commit message has four parts: tag, module, short description and full description. Try to follow the preferred structure for your commit messages" +msgstr "" + +#: ../../content/contributing/development/git_guidelines.rst:46 +msgid "Tag and module name" +msgstr "" + +#: ../../content/contributing/development/git_guidelines.rst:48 +msgid "Tags are used to prefix your commit. They should be one of the following" +msgstr "" + +#: ../../content/contributing/development/git_guidelines.rst:50 +msgid "**[FIX]** for bug fixes: mostly used in stable version but also valid if you are fixing a recent bug in development version;" +msgstr "" + +#: ../../content/contributing/development/git_guidelines.rst:52 +msgid "**[REF]** for refactoring: when a feature is heavily rewritten;" +msgstr "" + +#: ../../content/contributing/development/git_guidelines.rst:53 +msgid "**[ADD]** for adding new modules;" +msgstr "" + +#: ../../content/contributing/development/git_guidelines.rst:54 +msgid "**[REM]** for removing resources: removing dead code, removing views, removing modules, ...;" +msgstr "" + +#: ../../content/contributing/development/git_guidelines.rst:56 +msgid "**[REV]** for reverting commits: if a commit causes issues or is not wanted reverting it is done using this tag;" +msgstr "" + +#: ../../content/contributing/development/git_guidelines.rst:58 +msgid "**[MOV]** for moving files: use git move and do not change content of moved file otherwise Git may loose track and history of the file; also used when moving code from one file to another;" +msgstr "" + +#: ../../content/contributing/development/git_guidelines.rst:61 +msgid "**[REL]** for release commits: new major or minor stable versions;" +msgstr "" + +#: ../../content/contributing/development/git_guidelines.rst:62 +msgid "**[IMP]** for improvements: most of the changes done in development version are incremental improvements not related to another tag;" +msgstr "" + +#: ../../content/contributing/development/git_guidelines.rst:64 +msgid "**[MERGE]** for merge commits: used in forward port of bug fixes but also as main commit for feature involving several separated commits;" +msgstr "" + +#: ../../content/contributing/development/git_guidelines.rst:66 +msgid "**[CLA]** for signing the Odoo Individual Contributor License;" +msgstr "" + +#: ../../content/contributing/development/git_guidelines.rst:67 +msgid "**[I18N]** for changes in translation files;" +msgstr "" + +#: ../../content/contributing/development/git_guidelines.rst:69 +msgid "After tag comes the modified module name. Use the technical name as functional name may change with time. If several modules are modified, list them or use various to tell it is cross-modules. Unless really required or easier avoid modifying code across several modules in the same commit. Understanding module history may become difficult." +msgstr "" + +#: ../../content/contributing/development/git_guidelines.rst:76 +msgid "Commit message header" +msgstr "" + +#: ../../content/contributing/development/git_guidelines.rst:78 +msgid "After tag and module name comes a meaningful commit message header. It should be self explanatory and include the reason behind the change. Do not use single words like \"bugfix\" or \"improvements\". Try to limit the header length to about 50 characters for readability." +msgstr "" + +#: ../../content/contributing/development/git_guidelines.rst:83 +msgid "Commit message header should make a valid sentence once concatenated with ``if applied, this commit will
``. For example ``[IMP] base: prevent to archive users linked to active partners`` is correct as it makes a valid sentence ``if applied, this commit will prevent users to archive...``." +msgstr "" + +#: ../../content/contributing/development/git_guidelines.rst:89 +msgid "Commit message full description" +msgstr "" + +#: ../../content/contributing/development/git_guidelines.rst:91 +msgid "In the message description specify the part of the code impacted by your changes (module name, lib, transversal object, ...) and a description of the changes." +msgstr "" + +#: ../../content/contributing/development/git_guidelines.rst:94 +msgid "First explain WHY you are modifying code. What is important if someone goes back to your commit in about 4 decades (or 3 days) is why you did it. It is the purpose of the change." +msgstr "" + +#: ../../content/contributing/development/git_guidelines.rst:98 +msgid "What you did can be found in the commit itself. If there was some technical choices involved it is a good idea to explain it also in the commit message after the why. For Odoo R&D developers \"PO team asked me to do it\" is not a valid why, by the way." +msgstr "" + +#: ../../content/contributing/development/git_guidelines.rst:102 +msgid "Please avoid commits which simultaneously impact multiple modules. Try to split into different commits where impacted modules are different. It will be helpful if we need to revert changes in a given module separately." +msgstr "" + +#: ../../content/contributing/development/git_guidelines.rst:106 +msgid "Don't hesitate to be a bit verbose. Most people will only see your commit message and judge everything you did in your life just based on those few sentences. No pressure at all." +msgstr "" + +#: ../../content/contributing/development/git_guidelines.rst:110 +msgid "**You spend several hours, days or weeks working on meaningful features. Take some time to calm down and write clear and understandable commit messages.**" +msgstr "" + +#: ../../content/contributing/development/git_guidelines.rst:113 +msgid "If you are an Odoo R&D developer the WHY should be the purpose of the task you are working on. Full specifications make the core of the commit message. **If you are working on a task that lacks purpose and specifications please consider making them clear before continuing.**" +msgstr "" + +#: ../../content/contributing/development/git_guidelines.rst:118 +msgid "Finally here are some examples of correct commit messages :" +msgstr "" + +#: ../../content/contributing/development/git_guidelines.rst:141 +msgid "Use the long description to explain the *why* not the *what*, the *what* can be seen in the diff" +msgstr "" + +#: ../../content/contributing/documentation.rst:5 +msgid "Documentation" +msgstr "" + +#: ../../content/contributing/documentation.rst:14 +msgid "This introductory guide will help you acquire the tools and knowledge you need to write documentation, whether you plan to make a minor content change or document an application from scratch." +msgstr "" + +#: ../../content/contributing/documentation.rst:21 +msgid "Read the :ref:`introduction to the reStructuredText language ` if you are not familiar with it. Then, you have two courses of action to start contributing to the documentation, depending on whether you want to propose minor changes to existing content or you instead want to work on significant changes to new and existing content." +msgstr "" + +#: ../../content/contributing/documentation.rst:26 +msgid "**For minor changes**, for example, adding a paragraph or fixing a typo, we recommend **using the GitHub interface**. This is the easiest and fastest way to submit your changes, and it is suitable for non-technical people. Jump directly to the :ref:`contributing/documentation/first-contribution` section to get started." +msgstr "" + +#: ../../content/contributing/documentation.rst:30 +msgid "**For more complex changes**, it is necessary to **use Git** and work from a local copy of the documentation. Follow the instructions in the :ref:`contributing/documentation/setup` section to first prepare your environment." +msgstr "" + +#: ../../content/contributing/documentation.rst:37 +msgid "reStructuredText (RST)" +msgstr "" + +#: ../../content/contributing/documentation.rst:39 +msgid "The documentation is written in **reStructuredText** (RST), a `lightweight markup language `_ consisting of regular text augmented with markup, which allows including headings, images, notes, and so on. This might seem a bit abstract, but there is no need to worry; :abbr:`RST (reStructuredText)` is not hard to learn, especially if you intend to make minor changes to the content." +msgstr "" + +#: ../../content/contributing/documentation.rst:45 +msgid "If you need to learn about a specific markup, head over to our :doc:`cheat sheet for RST `; it contains all the information you should ever need for the documentation of Odoo." +msgstr "" + +#: ../../content/contributing/documentation.rst:50 +msgid "We kindly ask you to observe a set of :doc:`content ` and :doc:`RST ` guidelines as you write documentation. This ensures that you stay consistent with the rest of the documentation and facilitates the approval of your content changes as the Odoo team reviews them." +msgstr "" + +#: ../../content/contributing/documentation.rst:56 +msgid ":doc:`documentation/content_guidelines`" +msgstr "" + +#: ../../content/contributing/documentation.rst:57 +msgid ":doc:`documentation/rst_cheat_sheet`" +msgstr "" + +#: ../../content/contributing/documentation.rst:58 +msgid ":doc:`documentation/rst_guidelines`" +msgstr "" + +#: ../../content/contributing/documentation.rst:65 +msgid "The instructions below help you prepare your environment for making local changes to the documentation and then push them to GitHub. Skip this section and go to :ref:`contributing/documentation/first-contribution` if you have already completed this step or want to make changes from the GitHub interface." +msgstr "" + +#: ../../content/contributing/documentation.rst:72 +msgid "Go to `github.com/odoo/documentation `_ and click on the :guilabel:`Fork` button in the top right corner to create a fork (:dfn:`your own copy`) of the repository on your account. This creates a copy of the codebase to which you can make changes without affecting the main codebase. Skip this step if you work at Odoo." +msgstr "" + +#: ../../content/contributing/documentation.rst:78 +msgid "Clone the sources with Git and navigate into the local repository." +msgstr "" + +#: ../../content/contributing/documentation.rst:85 +msgid "Configure Git to push changes to your fork rather than to the main codebase. In the commands below, replace `` with the name of the GitHub account on which you created the fork. Skip this step if you work at Odoo." +msgstr "" + +#: ../../content/contributing/documentation.rst:93 +msgid "Configure Git to ease the collaboration between writers coming from different systems." +msgstr "" + +#: ../../content/contributing/documentation.rst:111 +msgid "Install the latest release of `Python `_ and `pip `_ on your machine." +msgstr "" + +#: ../../content/contributing/documentation.rst:113 +msgid "Install the Python dependencies of the documentation with pip." +msgstr "" + +#: ../../content/contributing/documentation.rst:119 +msgid "Verify that the installation directory of the Python dependencies is included in your system's `PATH` variable." +msgstr "" + +#: ../../content/contributing/documentation.rst:126 +msgid "Follow the `guide to update the PATH variable on Linux and macOS `_ with the installation path of the Python dependencies (by default :file:`~/.local/bin`)." +msgstr "" + +#: ../../content/contributing/documentation.rst:132 +msgid "Follow the `guide to update the PATH variable on Windows `_ with the installation path of the Python dependencies." +msgstr "" + +#: ../../content/contributing/documentation.rst:136 +msgid "Install Make." +msgstr "" + +#: ../../content/contributing/documentation.rst:148 +msgid "Follow the `guide to install Make on Windows `_." +msgstr "" + +#: ../../content/contributing/documentation.rst:151 +msgid "`Install pngquant `_." +msgstr "" + +#: ../../content/contributing/documentation.rst:152 +msgid "That's it! You are ready to :ref:`make your first contribution ` with Git." +msgstr "" + +#: ../../content/contributing/documentation.rst:162 +msgid "Contribute from the GitHub interface" +msgstr "" + +#: ../../content/contributing/documentation.rst:164 +msgid "Verify that you are browsing the documentation in the version that you intend to change. The version can be selected from the dropdown in the top menu." +msgstr "" + +#: ../../content/contributing/documentation.rst:166 +msgid "Head to the page that you want to change and click on the :guilabel:`Edit on GitHub` button in the top right corner of the page." +msgstr "" + +#: ../../content/contributing/documentation.rst:168 +msgid "Click on the :guilabel:`Fork this repository` button to create a fork (:dfn:`your own copy`) of the repository on your account. This creates a copy of the codebase to which you can make changes without affecting the main codebase. Skip this step if you work at Odoo." +msgstr "" + +#: ../../content/contributing/documentation.rst:175 +#: ../../content/contributing/documentation.rst:230 +msgid "Make the desired changes while taking care of following the :doc:`content ` and :doc:`RST ` guidelines." +msgstr "" + +#: ../../content/contributing/documentation.rst:180 +msgid "Click on the :guilabel:`Preview changes` button to review your contribution in a more human-readable format. Be aware that the preview is not able to handle all markups correctly. Notes and tips, for instance, are shown as plain text." +msgstr "" + +#: ../../content/contributing/documentation.rst:184 +msgid "Scroll to the bottom of the page and fill out the small form to propose your changes. In the first text box, write a very short summary of your changes. For instance, \"Fix a typo\" or \"Add documentation for invoicing of sales orders.\" In the second text box, explain *why* you are proposing these changes. Then, click on the :guilabel:`Propose changes` button." +msgstr "" + +#: ../../content/contributing/documentation.rst:195 +msgid "Review the summary that you wrote about your changes and click on the :guilabel:`Create pull request` button again." +msgstr "" + +#: ../../content/contributing/documentation/changes_approved.rst:1 +#: ../../content/contributing/documentation/changes_approved.rst:1 +#: ../../content/contributing/documentation/changes_approved.rst:1 +#: ../../content/contributing/documentation/changes_approved.rst:1 +#: ../../content/contributing/documentation/changes_approved.rst:1 +msgid "Once your changes are approved, the reviewer merges them and they appear online the next day!" +msgstr "" + +#: ../../content/contributing/documentation.rst:201 +msgid "Contribute with Git" +msgstr "" + +#: ../../content/contributing/documentation.rst:208 +msgid "Now that your environment is set up, you can start contributing to the documentation. In a terminal, navigate to the directory where you cloned the sources and follow the guide below." +msgstr "" + +#: ../../content/contributing/documentation.rst:211 +msgid "Choose the version of the documentation to which you want to make changes. Keep in mind that contributions targeting an :doc:`unsupported version of Odoo ` are not accepted. This guide assumes that the changes target the documentation of Odoo 15.2, which corresponds to branch `saas-15.2`." +msgstr "" + +#: ../../content/contributing/documentation.rst:233 +msgid "Compress all PNG images that you added or modified." +msgstr "" + +#: ../../content/contributing/documentation.rst:240 +msgid "Write a `redirect rule `_ for every RST file that your renamed." +msgstr "" + +#: ../../content/contributing/documentation.rst:243 +msgid "Build the documentation with :command:`make`. Then, open :file:`_build/index.html` in your web browser to browse the documentation with your changes." +msgstr "" + +#: ../../content/contributing/documentation.rst:247 +msgid "Use :command:`make help` to learn about other useful commands." +msgstr "" + +#: ../../content/contributing/documentation.rst:265 +msgid "If you work at Odoo, push your changes directly to the main codebase whose remote alias is `origin`." +msgstr "" + +#: ../../content/contributing/documentation.rst:276 +msgid "Go to the `compare page of the odoo/documentation codebase `_." +msgstr "" + +#: ../../content/contributing/documentation.rst:280 +msgid "Select **/odoo** for the head repository. Replace `` with the name of the GitHub account on which you created the fork. Skip this step if you work at Odoo." +msgstr "" + +#: ../../content/contributing/documentation/content_guidelines.rst:3 msgid "Content guidelines" msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:6 +#: ../../content/contributing/documentation/content_guidelines.rst:5 msgid "To give the community the best documentation possible, we listed here a few guidelines, tips and tricks that will make your content shine at its brightest! While we encourage you to adopt your own writing style, some rules still apply to give the reader more clarity and comprehension." msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:11 -msgid "We strongly recommend contributors to carefully read the other documents in this *Contribution* section of the documentation. Good knowledge of the ins and outs of **RST writing** is required to write and submit your contribution. Note that it also affects your writing style itself." +#: ../../content/contributing/documentation/content_guidelines.rst:10 +msgid "We strongly recommend contributors to carefully read the other documents related to this section of the documentation. Good knowledge of the ins and outs of **RST writing** is required to write and submit your contribution. Note that it also affects your writing style itself." +msgstr "" + +#: ../../content/contributing/documentation/content_guidelines.rst:14 +msgid ":doc:`../documentation`" msgstr "" #: ../../content/contributing/documentation/content_guidelines.rst:15 -msgid ":doc:`introduction_guide`" -msgstr "" - -#: ../../content/contributing/documentation/content_guidelines.rst:16 -#: ../../content/contributing/documentation/introduction_guide.rst:34 msgid ":doc:`rst_cheat_sheet`" msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:17 -#: ../../content/contributing/documentation/introduction_guide.rst:35 +#: ../../content/contributing/documentation/content_guidelines.rst:16 msgid ":doc:`rst_guidelines`" msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:22 +#: ../../content/contributing/documentation/content_guidelines.rst:21 msgid "Writing style" msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:24 +#: ../../content/contributing/documentation/content_guidelines.rst:23 msgid "**Writing for documentation** isn't the same as writing for a blog or another medium. Readers are more likely to skim read until they've found the information they are looking for. Keep in mind that the user documentation is a place to inform and describe, not to convince and promote." msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:31 +#: ../../content/contributing/documentation/content_guidelines.rst:30 msgid "Consistency" msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:33 +#: ../../content/contributing/documentation/content_guidelines.rst:32 msgid "*Consistency is key to everything.*" msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:35 +#: ../../content/contributing/documentation/content_guidelines.rst:34 msgid "Make sure that your writing style remains **consistent**. If you modify an existing text, try to match the existing tone and presentation, or rewrite it to match your own style." msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:41 +#: ../../content/contributing/documentation/content_guidelines.rst:40 msgid "Grammatical tenses" msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:43 +#: ../../content/contributing/documentation/content_guidelines.rst:42 msgid "In English, descriptions and instructions require the use of a **Present Tense**, while a *future tense* is appropriate only when a specific event is to happen ulteriorly. This logic might be different in other languages." msgstr "" @@ -94,160 +1506,124 @@ msgstr "" msgid "*When you take a screenshot, remember that it will be automatically resized to fit the content block's width.*" msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:56 +#: ../../content/contributing/documentation/content_guidelines.rst:55 msgid "Paragraphing" msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:58 +#: ../../content/contributing/documentation/content_guidelines.rst:57 msgid "A paragraph comprises several sentences that are linked by a shared idea. They usually are two to six lines long." msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:61 +#: ../../content/contributing/documentation/content_guidelines.rst:60 msgid "In English, a new idea implies a new paragraph, rather than having a *line break* as it is common to do in some other languages. *Line breaks* are useful for layout purposes but shouldn't be used as a grammatical way of separating ideas." msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:66 +#: ../../content/contributing/documentation/content_guidelines.rst:65 msgid ":ref:`RST cheat sheet: Break the line but not the paragraph `" msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:71 +#: ../../content/contributing/documentation/content_guidelines.rst:70 msgid "Titles and headings" msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:73 +#: ../../content/contributing/documentation/content_guidelines.rst:72 msgid "To write good titles and headings:" msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:75 +#: ../../content/contributing/documentation/content_guidelines.rst:74 msgid "**Be concise.**" msgstr "" #: ../../content/contributing/documentation/content_guidelines.rst:76 -msgid "**Avoid sentences**, questions, and titles starting with \"how to.\"" -msgstr "" - -#: ../../content/contributing/documentation/content_guidelines.rst:77 -msgid "**Don't use pronouns** in your titles, especially 2nd person (*your*)" +msgid "**Avoid sentences**, unnecessary verbs, questions, and titles starting with \"how to.\"" msgstr "" #: ../../content/contributing/documentation/content_guidelines.rst:78 +msgid "**Don't use pronouns** in your titles, especially 2nd person (*your*)." +msgstr "" + +#: ../../content/contributing/documentation/content_guidelines.rst:79 msgid "Use **sentence case**. This means you capitalize only:" msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:80 +#: ../../content/contributing/documentation/content_guidelines.rst:81 msgid "the first word of the title or heading" msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:81 +#: ../../content/contributing/documentation/content_guidelines.rst:82 msgid "the first word after a colon" msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:82 +#: ../../content/contributing/documentation/content_guidelines.rst:83 msgid "proper nouns (brands, product and service names, etc.)" msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:83 -msgid "app features, as written in the apps" -msgstr "" - #: ../../content/contributing/documentation/content_guidelines.rst:86 -msgid "Do not capitalize common nouns when they are not referred to as features. This is more likely to happen in headings rather than in titles." +msgid "Most titles and headings generally refer to a concept and do *not* represent the name of a feature or a model." msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:90 -msgid "Examples" +#: ../../content/contributing/documentation/content_guidelines.rst:88 +msgid "Do not capitalize the words of an acronym if they don't entail a proper noun." msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:90 -msgid "Explanations" -msgstr "" - -#: ../../content/contributing/documentation/content_guidelines.rst:0 -msgid "**Titles**" -msgstr "" - -#: ../../content/contributing/documentation/content_guidelines.rst:0 -msgid "(h1)" +#: ../../content/contributing/documentation/content_guidelines.rst:89 +msgid "Verbs in headings are fine since they often describe an action." msgstr "" #: ../../content/contributing/documentation/content_guidelines.rst:92 -msgid "*Quotation Templates*" -msgstr "" - -#: ../../content/contributing/documentation/content_guidelines.rst:92 -msgid "\"Quotation Templates\" is a feature in Odoo." +msgid "**Titles** (H1)" msgstr "" #: ../../content/contributing/documentation/content_guidelines.rst:94 -msgid "*Lead Mining*" +msgid "Quotation templates" msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:94 -msgid "\"Lead Mining\" is a feature in Odoo." +#: ../../content/contributing/documentation/content_guidelines.rst:95 +msgid "Lead mining" msgstr "" #: ../../content/contributing/documentation/content_guidelines.rst:96 -msgid "*Resupply from another Warehouse*" +msgid "Resupply from another warehouse" msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:96 -msgid "\"Warehouse\" is capitalized as we refer to the feature in the app rather than to a real warehouse." +#: ../../content/contributing/documentation/content_guidelines.rst:97 +msgid "Synchronize Google Calendar with Odoo" +msgstr "" + +#: ../../content/contributing/documentation/content_guidelines.rst:98 +msgid "Batch payments: SEPA Direct Debit (SDD)" msgstr "" #: ../../content/contributing/documentation/content_guidelines.rst:99 -msgid "*Synchronize Google Calendar with Odoo*" +msgid "Digitize vendor bills with optical character recognition (OCR)" msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:99 -msgid "\"Google Calendar\" is a product and \"Odoo\" is a brand." +#: ../../content/contributing/documentation/content_guidelines.rst:101 +msgid "**Headings** (H2, H3)" msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:0 -msgid "**Headings**" +#: ../../content/contributing/documentation/content_guidelines.rst:103 +msgid "Project stages" msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:0 -msgid "(h2, h3, etc.)" -msgstr "" - -#: ../../content/contributing/documentation/content_guidelines.rst:102 -msgid "*Confirm the quotation*" -msgstr "" - -#: ../../content/contributing/documentation/content_guidelines.rst:102 -msgid "\"The quotation\" is a common noun not referring to a feature in Odoo." +#: ../../content/contributing/documentation/content_guidelines.rst:104 +msgid "Email alias" msgstr "" #: ../../content/contributing/documentation/content_guidelines.rst:105 -msgid "*Test environment*" +msgid "Confirm the quotation" msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:105 -msgid "\"Environment\" is a common noun." +#: ../../content/contributing/documentation/content_guidelines.rst:106 +msgid "Generate SEPA Direct Debit XML files to submit payments" msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:107 -msgid "*Add a new Payment Acquirer*" +#: ../../content/contributing/documentation/content_guidelines.rst:111 +msgid "Document structure" msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:107 -msgid "\"Payment Acquirers\" is a feature in Odoo." -msgstr "" - -#: ../../content/contributing/documentation/content_guidelines.rst:109 -msgid "*Generate SEPA Direct Debit XML files to submit payments*" -msgstr "" - -#: ../../content/contributing/documentation/content_guidelines.rst:109 -msgid "\"SEPA Direct Debit\" and \"XML\" are considered as proper nouns." -msgstr "" - -#: ../../content/contributing/documentation/content_guidelines.rst:116 -msgid "Document's structure" -msgstr "" - -#: ../../content/contributing/documentation/content_guidelines.rst:118 -msgid "Use different **headings levels** to organize your text by sections and sub-sections. Your headings are also displayed in a dynamic *navigation bar* on the side." +#: ../../content/contributing/documentation/content_guidelines.rst:113 +msgid "Use different **heading levels** to organize your text by sections and sub-sections. Your headings are not only displayed in the document but also on the navigation menu (only the H1) and on the \"On this page\" sidebar (all H2 to H6)." msgstr "" #: ../../content/contributing/documentation/content_guidelines.rst:0 @@ -255,14 +1631,14 @@ msgid "**H1: Page title**" msgstr "" #: ../../content/contributing/documentation/content_guidelines.rst:0 -msgid "Your *page title* gives your reader a quick and clear understanding of what your content is about. It is also referenced in the section's *table of contents*." +msgid "Your *page title* gives your reader a quick and clear understanding of what your content is about." msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:126 +#: ../../content/contributing/documentation/content_guidelines.rst:122 msgid "The *content* in this section describes the upcoming content from a **business point of view**, and shouldn't put the emphasis on Odoo, as this is documentation and not marketing." msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:130 +#: ../../content/contributing/documentation/content_guidelines.rst:126 msgid "Start first with a **lead paragraph**, which helps the reader make sure that they've found the right page, then explain the **business aspects of this topic** in the following paragraphs." msgstr "" @@ -298,1157 +1674,1117 @@ msgstr "" msgid "Subsections are perfect for assessing very specific points. The title can be in the form of a question, if appropriate." msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:151 +#: ../../content/contributing/documentation/content_guidelines.rst:147 msgid "**H2: Next Section**" msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:155 +#: ../../content/contributing/documentation/content_guidelines.rst:151 msgid ":ref:`RST cheat sheet: headings `" msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:156 -msgid ":ref:`RST cheat sheet: specialized directives `" +#: ../../content/contributing/documentation/content_guidelines.rst:152 +msgid ":ref:`RST cheat sheet: markups `" +msgstr "" + +#: ../../content/contributing/documentation/content_guidelines.rst:157 +msgid "Organizing the documentation" +msgstr "" + +#: ../../content/contributing/documentation/content_guidelines.rst:159 +msgid "When writing documentation about a given topic, try to keep pages within the same folder organized." msgstr "" #: ../../content/contributing/documentation/content_guidelines.rst:161 +msgid "For most topics, a single page should do the job. Place it in the appropriate section of the documentation (e.g., content related to the CRM app go under :menuselection:`Applications -> Sales -> CRM`) and follow the :ref:`document structure ` guidelines." +msgstr "" + +#: ../../content/contributing/documentation/content_guidelines.rst:166 +msgid "For more complex topics, you may need several pages to cover all their aspects. Usually, you will find yourself adding documentation to a topic that is already partially covered. In that case, either create a new page and place it at the same level as other related pages or add new sections to an existing page. If you are documenting a complex topic from scratch, organize your content between one parent page (the :abbr:`TOC (Tree Of Contents)` page) and several child pages. Whenever possible, write content on the parent page and not only on the child pages. Make the parent page accessible from the navigation menu by using the :ref:`show-content ` metadata directive." +msgstr "" + +#: ../../content/contributing/documentation/content_guidelines.rst:178 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:440 msgid "Images" msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:163 +#: ../../content/contributing/documentation/content_guidelines.rst:180 msgid "Adding a few images to illustrate your text helps the readers to understand and memorize your content. However, avoid adding too many images: it isn't necessary to illustrate all steps and features, and it may overload your page." msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:168 -msgid "Don't forget to :ref:`compress your PNG files with pngquant `." +#: ../../content/contributing/documentation/content_guidelines.rst:185 +msgid "Don't forget to :ref:`compress your PNG files with pngquant `." msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:173 +#: ../../content/contributing/documentation/content_guidelines.rst:191 msgid "Screenshots" msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:175 +#: ../../content/contributing/documentation/content_guidelines.rst:193 msgid "Screenshots are automatically resized to fit the content block's width. This implies that screenshots can't be too wide, else they would appear very small on-screen. Therefore, we recommend to avoid to take screenshots of a full screen display of the app, unless it is relevant to do so." msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:179 +#: ../../content/contributing/documentation/content_guidelines.rst:197 msgid "A few tips to improve your screenshots:" msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:181 +#: ../../content/contributing/documentation/content_guidelines.rst:199 msgid "**Zoom** in your browser. We recommend a 110% zoom for better results." msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:182 +#: ../../content/contributing/documentation/content_guidelines.rst:200 msgid "**Resize** your browser's width, either by *resizing the window* itself or by opening the *browser's developer tools* (press the ``F12`` key) and resizing the width." msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:184 +#: ../../content/contributing/documentation/content_guidelines.rst:202 msgid "**Select** the relevant area, rather than keeping the full window." msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:185 +#: ../../content/contributing/documentation/content_guidelines.rst:203 msgid "If necessary, you can **edit** the screenshot to remove unnecessary fields and to narrow even more Odoo's display." msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:193 +#: ../../content/contributing/documentation/content_guidelines.rst:None +msgid "Three tips to take good screenshots for the Odoo documentation." +msgstr "" + +#: ../../content/contributing/documentation/content_guidelines.rst:211 msgid "Resizing the window's width is the most important step to do as Odoo's responsive design automatically resizes all fields to match the window's width." msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:199 +#: ../../content/contributing/documentation/content_guidelines.rst:217 msgid "Media files" msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:201 +#: ../../content/contributing/documentation/content_guidelines.rst:219 msgid "A **media filename**:" msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:203 +#: ../../content/contributing/documentation/content_guidelines.rst:221 msgid "is written in **lower-case letters**" msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:204 +#: ../../content/contributing/documentation/content_guidelines.rst:222 msgid "is **relevant** to the media's content. (E.g., :file:`screenshot-tips.gif`.)" msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:205 +#: ../../content/contributing/documentation/content_guidelines.rst:223 msgid "separates its words with a **hyphen** ``-`` (E.g., :file:`awesome-filename.png`.)" msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:207 +#: ../../content/contributing/documentation/content_guidelines.rst:225 msgid "Each document has its own folder in which the media files are located. The folder's name must be the same as the document's filename." msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:210 +#: ../../content/contributing/documentation/content_guidelines.rst:228 msgid "For example, the document :file:`doc_filename.rst` refers to two images that are placed in the folder ``doc_filename``." msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:222 +#: ../../content/contributing/documentation/content_guidelines.rst:240 msgid "Previously, image filenames would mostly be named with numbers (e.g., :file:`feature01.png`) and placed in a single ``media`` folder. While it is advised not to name your *new* images in that fashion, it is also essential **not to rename unchanged files**, as doing this would double the weight of renamed image files on the repository. They will eventually all be replaced as the content referencing those images is updated." msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:231 +#: ../../content/contributing/documentation/content_guidelines.rst:249 msgid "ALT tags" msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:233 +#: ../../content/contributing/documentation/content_guidelines.rst:251 msgid "An **ALT tag** is a *text alternative* to an image. This text is displayed if the browser fails to render the image. It is also helpful for users who are visually impaired. Finally, it helps search engines, such as Google, to understand what the image is about and index it correctly, which improves the :abbr:`SEO (Search Engine Optimization)` significantly." msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:238 +#: ../../content/contributing/documentation/content_guidelines.rst:256 msgid "Good ALT tags are:" msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:240 +#: ../../content/contributing/documentation/content_guidelines.rst:258 msgid "**Short** (one line maximum)" msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:241 +#: ../../content/contributing/documentation/content_guidelines.rst:259 msgid "**Not a repetition** of a previous sentence or title" msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:242 +#: ../../content/contributing/documentation/content_guidelines.rst:260 msgid "A **good description** of the action happening on the image" msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:243 +#: ../../content/contributing/documentation/content_guidelines.rst:261 msgid "Easily **understandable** if read aloud" msgstr "" -#: ../../content/contributing/documentation/content_guidelines.rst:246 +#: ../../content/contributing/documentation/content_guidelines.rst:264 msgid ":ref:`RST cheat sheet: image directive `" msgstr "" -#: ../../content/contributing/documentation/introduction_guide.rst:4 -msgid "Introduction guide" -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:6 -msgid "**First of all, thank you for landing here and helping us improve the user documentation of Odoo!**" -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:8 -msgid "This introductory guide will help you acquire the tools and knowledge you need to write documentation, whether you plan to make a minor content change or document an application from scratch." -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:15 -msgid "reStructuredText" -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:17 -msgid "Our documentation is written in **reStructuredText** (RST), a `lightweight markup language `_ consisting of normal text augmented with markup which allows including headings, images, notes, and so on. This might seem a bit abstract but there is no need to worry. :abbr:`RST (reStructuredText)` is not hard to learn, especially if you intend to make only small changes to the content." -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:23 -msgid "If you need to learn about a specific markup, head over to :doc:`our cheat sheet for RST ` which contains all the information that you should ever need for the user documentation of Odoo." -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:28 -msgid "We kindly ask you to observe a set of :doc:`content ` and :doc:`RST ` guidelines as you write documentation. This ensures that you stay consistent with the rest of the documentation and facilitates the approval of your content changes as they are reviewed by a redactor at Odoo." -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:36 -msgid ":doc:`content_guidelines`" -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:41 -msgid "Getting started" -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:43 -msgid "As our documentation is maintained on GitHub, you will need a free GitHub account. Click `here `_ to create one." -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:46 -msgid "Now, depending on whether you want to update existing content, or rather work on new content and make file changes, you have two courses of action:" -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:49 -msgid "**For small changes** in ``.rst`` files only, i.e. addition/edition of paragraphs or typos, **we suggest that you use the GitHub interface**. This is the easiest and fasted way to submit your request for changes for the documentation and is suitable for non-technical people. Read :ref:`contributing/github-interface` to learn how to use this method." -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:53 -msgid "**For more complex cases**, it is necessary to **use Git and work from a local copy of the documentation**. This method seems intimidating but only requires basic knowledge of Git. See :ref:`contributing/canonical-git-workflow` for more information on this method." -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:60 -msgid "Use the GitHub interface" -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:62 -msgid "Verify that you are browsing the documentation in the version that you intend to change. The version can be selected from the dropdown in the top menu." -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:67 -msgid "Head over to the page that you want to change and click on the **Edit on GitHub** button in the bottom of the left menu." -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:72 -msgid "If you do not have edit rights on the repository (`odoo/documentation `_), you need to fork it by clicking on the appropriate button. In other terms, you create a copy of the entire repository on your own account. If you do have the edit rights, skip this step." -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:79 -msgid "Make the appropriate changes while taking care of following the :doc:`guidelines `." -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:82 -msgid "Click on the **Preview changes** button to review your contribution in a more human-readable format. Be aware that the preview is not able to handle all markups correctly. Notes and tips, for instance, are not correctly rendered. The version of your content published to the website will be, however." -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:87 -msgid "Go to the bottom of the page to create a commit (:dfn:`what packs your changes together and labels them with a commit message`) of your changes." -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:0 -msgid "In first text box, describe your changes. For instance, \"Fix a typo\" and \"Add documentation for invoicing of sales orders\" are two clear commit messages." -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:0 -msgid "In the second text box, justify *why* you made these changes, if you feel that it is not obvious." -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:94 -msgid "Select the option \"Create a new branch for this commit and start a pull request.\" if you have the choice (if you have partial or full edit writes on the repository). If not, skip this step." -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:97 -msgid "Click on the green button. It is either labelled \"Commit changes\" or \"Propose file change\"." -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:101 -msgid "In the dropdown for the selection of the base branch (i.e., the version of the documentation that your changes concern), make sure to select the same version as in the first step of this guide and click on the **Create pull request** button." -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:107 -msgid "Double-check your :abbr:`PR (Pull Request)` and, when ready, click again on the **Create pull request** button to submit your changes for review by a content writer at Odoo." -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:112 -#: ../../content/contributing/documentation/introduction_guide.rst:390 -msgid "You're done! If your changes are approved straight away they will appear in the documentation the very next day. It may also be the case that the reviewer has a question or a remark, so make sure to check your notifications or your emails, depending on your account settings." -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:119 -msgid "Use the canonical Git workflow" -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:124 -msgid "Prepare your machine" -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:129 -msgid "Install Git" -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:131 -msgid "We use `Git `_ to manage the files of the user documentation. It is a tool that allows to track the history of changes made to a file and, more importantly, to work on different versions of those files at the same time. It means that you do not need to worry about overwriting someone else’s pending work when you start editing the documentation." -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:136 -msgid "You must then configure Git to identify yourself as the author of your future contribution. Enter the same email address as the one you used to register on GitHub." -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:139 -msgid "Download and install **Git** on your machine." -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:140 -msgid "Verify that `the installation folder of Git is included in your system's PATH variable `_." -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:142 -#: ../../content/contributing/documentation/introduction_guide.rst:167 -#: ../../content/contributing/documentation/introduction_guide.rst:314 -#: ../../content/contributing/documentation/introduction_guide.rst:331 -#: ../../content/contributing/documentation/introduction_guide.rst:362 -msgid "Execute the following commands in a terminal:" -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:152 -msgid "Fetch the sources" -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:154 -msgid "As stated earlier, our documentation (in all its versions) is maintained on GitHub at `github.com/odoo/documentation `_. A modification is made by the mean of a :abbr:`PR (Pull Request)` (:dfn:`proposal of content changes`) to allow for a review of the changes before updating the sources of the documentation." -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:159 -msgid "Prior to submitting a modification, you need to make a copy of the sources and download that copy on your machine." -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:162 -msgid "Go to `github.com/odoo/documentation `_ and click on the **Fork** button in the top right corner." -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:175 -msgid "If you do not have edit rights on the repository owned by Odoo, replace \"odoo\" with your Github username in the URL of the command above. If you do have edit rights, it is not necessary to fork the repository." -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:179 -msgid "In order to ease the collaboration between writers coming from many different systems and teams, execute the following group of commands that correspond to your :abbr:`OS (Operating System)` in a terminal." -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:183 -msgid "Windows:" -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:191 -msgid "Linux or Mac OS:" -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:202 -msgid "Python" -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:204 -msgid "Because the documentation is written in :abbr:`RST (reStructuredText)`, it needs to be built (:dfn:`converted to HTML`) in order to display nicely. This is done by the documentation generator which takes the original :abbr:`RST (reStructuredText)` files as input, transforms the markups in a human-readable format, and outputs HTML files to be read in your web browser." -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:209 -msgid "The documentation generator that we use is called `Sphinx `_. and is written in `Python `_. You have to install Python in order to use Sphinx. For the record, Sphinx is the program and Python the programming language, but you do not need to know much more about them so don't panic!" -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:214 -msgid "Python comes with its own package manager: `pip `_. It allows installing Python dependencies in a single command." -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:218 -msgid "Download and install the recommended release (`see README file `_) of **Python 3** on your machine." -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:220 -msgid "Make sure to have **pip** installed on your machine (on Windows, you can install pip alongside Python)." -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:222 -msgid "Execute the following commands in a terminal to verify that both installations finished successfully:" -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:230 -msgid "Execute the following commands in a terminal to install the Python dependencies of the documentation:" -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:239 -msgid "Depending on your :abbr:`OS (Operating System)`, you may need to run the commands ``python`` and ``pip`` instead of ``python3`` and ``pip3``" -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:245 -msgid "Make" -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:247 -msgid "`Make `_ is a tool that packs a bunch of command-lines into one to be easier to remember and to type. In our case, it is used to execute complex Sphinx build commands by using a single and simpler one instead." -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:251 -msgid "Download and install **Make** on your machine." -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:252 -msgid "Verify that `the installation folder of Make is included in your system's PATH variable `_." -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:258 -msgid "pngquant" -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:260 -msgid "`pngquant `_ is a tool that we use to compress PNG images so that the documentation does not end up weighting several Gigabytes in a few year span." -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:263 -msgid "Download and install **pngquant** on your machine." -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:264 -msgid "Verify that `the installation folder of pngquant is included in your system's PATH variable `_." -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:270 -msgid "Prepare your version" -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:272 -msgid "Now that your machine is all set up, it is time to do the same for your version of the documentation files. As it would not be convenient to have several people working on the version 14.0 in parallel (conflicts of content would occur all the time), and in order to be able to create a :abbr:`PR (Pull Request)`, you must `create a new branch `_ starting from the branch 14.0. In other words, you copy the entirety of this version’s files and give it another name. For this example, we will go with ``14.0-my_contribution``." -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:280 -msgid "Execute the following commands in a terminal to..." -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:282 -msgid "Navigate to the documentation folder:" -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:288 -msgid "Switch to the version 14.0:" -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:294 -msgid "Create your own branch which will be a copy of 14.0:" -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:303 -msgid "Perform your changes" -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:305 -msgid "You can now perform any change you want to the documentation files. These changes must be compliant with :abbr:`RST (reStructuredText)` syntax (see :doc:`rst_cheat_sheet`) and with our :doc:`guidelines `." -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:310 -msgid "If your changes include the addition of a new image, for instance :file:`my_image.png`, proceed as follows:" -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:313 -msgid "Make sure that the image is in ``.png`` format." -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:321 -msgid "Delete :file:`my_image.png`." -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:322 -msgid "Rename :file:`my_image-fs8.png` to :file:`my_image.png`." -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:327 -msgid "Preview your changes" -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:329 -msgid "To preview your changes in a generated documentation, proceed as follows:" -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:340 -msgid "You can omit the :command:`make clean` command when no recent change has been made to the hierarchy of documentation files." -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:343 -msgid "Fix any error or warning shown in the logs of the build." -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:344 -msgid "Open the file :file:`documentation/_build/html/index.html` with your default web browser." -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:347 -msgid "These steps have for only purpose to show you the final results of your changes. They have no impact on the documentation source files." -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:353 -msgid "Submit your changes" -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:356 -msgid "We expect you to have basic knowledge of Git, which should be enough to cover the basic flow of a one-time contribution. If you plan on submitting several contributions, work on older versions of the documentation or perform any other advanced action, we recommend you to be confident with Git. Help yourself with `this manual of Git `_ and `this interactive tutorial `_." -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:370 -msgid "Go to `github.com/odoo/documentation/pulls `_ and click on the **New pull request** button." -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:375 -msgid "If you forked the base repository in the section :ref:`contributing/fetch-sources`, click on the link **compare across forks** If not, skip this step." -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:380 -msgid "In the dropdown for the selection of the base branch (i.e., the version of the documentation that your changes concern), make sure to select the version that your changes target (here **14.0**)." -msgstr "" - -#: ../../content/contributing/documentation/introduction_guide.rst:385 -msgid "Double-check your :abbr:`PR (Pull Request)` and, when ready, click again on the **Create pull request** button to submit your changes for review by a redactor at Odoo." -msgstr "" - -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:4 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:5 msgid "RST cheat sheet" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:9 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:10 msgid "Headings" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:12 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:13 msgid "For each formatting line (e.g., ``===``), write as many symbols (``=``) as there are characters in the header." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:16 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:17 msgid "The symbols used for the formatting are, in fact, not important. Only the order in which they are written matters, as it determines the size of the decorated heading. This means that you may encounter different heading formatting and in a different order, in which case you should follow the formatting in place in the document. In any other case, use the formatting shown below." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:19 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:20 msgid "Heading size" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:19 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:20 msgid "Formatting" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:19 -msgid "Min/Max number of occurrences" -msgstr "" - -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:21 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:22 msgid "H1" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:0 -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:0 -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:0 -msgid "``=======``" -msgstr "" - -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:0 -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:0 -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:0 -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:0 -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:0 -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:0 -msgid "``Heading``" -msgstr "" - -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:21 -msgid "1/1" -msgstr "" - -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:25 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:28 msgid "H2" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:25 -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:28 -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:31 -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:34 -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:37 -msgid "0/∞" -msgstr "" - -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:28 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:33 msgid "H3" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:0 -msgid "``-------``" -msgstr "" - -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:31 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:38 msgid "H4" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:0 -msgid "``~~~~~~~``" -msgstr "" - -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:34 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:43 msgid "H5" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:0 -msgid "``*******``" -msgstr "" - -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:37 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:48 msgid "H6" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:0 -msgid "``^^^^^^^``" +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:55 +msgid "Each document must have **exactly one H1 heading**. No less, no more." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:44 -msgid "Markup" +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:60 +msgid "Markups" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:49 -msgid "Inline markup" -msgstr "" - -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:51 -msgid "Use the following markups to emphasize your text to your liking:" -msgstr "" - -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:54 -msgid "\\*\\*Text\\*\\*" -msgstr "" - -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:54 -msgid "**Text**" -msgstr "" - -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:56 -msgid "\\*Text\\*" -msgstr "" - -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:56 -msgid "*Text*" -msgstr "" - -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:58 -msgid "\\`\\`Text\\`\\`" -msgstr "" - -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:58 -msgid "``Text``" -msgstr "" - -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:62 -msgid ":ref:`contributing/specialized-directives`" +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:65 +msgid "Emphasis (italic)" msgstr "" #: ../../content/contributing/documentation/rst_cheat_sheet.rst:67 -msgid "Bulleted list" +msgid "To emphasize a part of the text. The text is rendered in italic." +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:72 +msgid "Fill out the information *before* saving the form." +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:81 +msgid "Strong emphasis (bold)" msgstr "" #: ../../content/contributing/documentation/rst_cheat_sheet.rst:83 -msgid "Numbered list" +msgid "To emphasize a part of the text. The text is rendered in bold." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:98 -msgid "Nested lists" +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:88 +msgid "A **subdomain** is a domain that is a part of another domain." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:110 -msgid "Hyperlinks" +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:97 +msgid "Technical term (literal)" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:99 +msgid "To write a technical term or a specific value to insert. The text is rendered in literal." +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:104 +msgid "Insert the IP address of your printer, for example, `192.168.1.25`." +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:113 +msgid "Definitions" msgstr "" #: ../../content/contributing/documentation/rst_cheat_sheet.rst:115 -msgid "Hyperlink references" +msgid "Use the `dfn` markup to define a term." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:117 -msgid "Hyperlink references are links to a URL with a custom label. They follow this syntax: ```label `_``" +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:120 +msgid "The documentation is written in RST and needs to be built (:dfn:`converted to HTML`) to display nicely." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:121 -msgid "The URL can be a relative path to a file within the documentation." -msgstr "" - -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:124 -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:145 -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:191 -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:231 -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:262 -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:287 -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:312 -#: ../../content/contributing/documentation/rst_guidelines.rst:18 -msgid "Example" -msgstr "" - -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:126 -msgid "This excerpt of :abbr:`RST (reStructuredText)`: ``For instance, `this is a hyperlink reference `_.`` is rendered as follows in HTML: “For instance, `this is a hyperlink reference `_.”" +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:131 +msgid "Abbreviations" msgstr "" #: ../../content/contributing/documentation/rst_cheat_sheet.rst:133 -msgid "External hyperlink targets" +msgid "Use the `abbr` markup to write a self-defining abbreviation that is displayed as a tooltip." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:135 -msgid "External hyperlink targets allow creating shortcuts for hyperlink references." +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:138 +msgid "Odoo uses :abbr:`OCR (optical character recognition)` and artificial intelligence technologies to recognize the content of the documents." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:136 -msgid "The definition syntax is as follows: ``.. _target: URL``" +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:149 +msgid ":abbr:`GUI (Graphical User Interface)` element" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:137 -msgid "There are two ways to reference them, depending on the use case:" +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:151 +msgid "Use the `guilabel` markup to identify any text of the interactive user interface (e.g., button labels, view titles, field names, lists items, ...)." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:139 -msgid "``target_`` creates a hyperlink with the target name as label and the URL as reference. Note that the ``_`` moved after the target!" +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:157 +msgid "Update your credentials, then click on :guilabel:`Save`." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:141 -msgid "```label `_`` does exactly what you expect: the label replaces the name of the target, and the target is replaced by the URL." +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:166 +msgid "Menu selection" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:148 -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:194 -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:234 -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:265 -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:290 -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:315 -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:351 -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:372 -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:391 -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:412 -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:431 -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:452 -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:476 -msgid "RST" +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:168 +msgid "Use the `menuselection` markup to guide the user through a sequence of menus." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:158 -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:210 -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:242 -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:273 -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:298 -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:329 -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:360 -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:380 -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:400 -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:420 -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:440 -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:460 -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:485 -msgid "Render" +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:173 +msgid "To review your sales performance, go to :menuselection:`Sales --> Reporting --> Dashboard`." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:160 -msgid "A `proof-of-concept `_ is a simplified version, a prototype of what is expected to agree on the main lines of expected changes. `PoC `_ is a common abbreviation." +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:182 +msgid "File" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:167 -msgid "Internal hyperlink targets" +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:184 +msgid "Use the `file` markup to indicate a file path or name." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:169 -msgid "Internal hyperlink targets follow the same syntax as external hyperlink targets but without any URL. Indeed, they are internal. They allow referencing a specific part of a document by using the target as an anchor. When the user clicks on the reference, the documentation scrolls to the part of the page containing the target." +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:190 +msgid "Create redirections with the :file:`redirects.txt` file at the root of the repository." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:175 -msgid "Targets can be referenced from other files than the ones in which they are defined." +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:199 +msgid "Command" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:177 -msgid "The definition syntax is: ``.. _target:``" +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:201 +msgid "Use the `command` markup to highlight a command." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:178 -msgid "There are two ways to reference them, both using the ``ref`` directive:" -msgstr "" - -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:180 -msgid "``:ref:`target``` creates a hyperlink to the anchor with the heading defined below as label." -msgstr "" - -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:181 -msgid "``:ref:`label ``` creates a hyperlink to the anchor with the given label." -msgstr "" - -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:183 -msgid "See :ref:`contributing/relative-links` to learn how to write proper relative links for internal references." -msgstr "" - -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:187 -msgid "Notice that there is no ``_`` at the end, as it is done with :ref:`hyperlink targets `." -msgstr "" - -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:212 -msgid "This can easily be done by creating a new product, see `How to create a product? `_ for additional help." -msgstr "" - -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:215 -msgid "**How to create a product?**" +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:206 +msgid "Run the command :command:`make clean html` to delete existing built files and build the documentation to HTML." msgstr "" #: ../../content/contributing/documentation/rst_cheat_sheet.rst:217 -msgid "As explained at the `start of the page `_, ..." +msgid "Lists" msgstr "" #: ../../content/contributing/documentation/rst_cheat_sheet.rst:222 -msgid "Implicit hyperlink targets" +msgid "Bulleted list" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:226 -msgid "Implicit hyperlink targets are a special kind of internal hyperlink targets: they are automatically generated by section titles, footnotes, etc. Consequently, they don’t have a definition syntax." +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:227 +msgid "This is a bulleted list." msgstr "" #: ../../content/contributing/documentation/rst_cheat_sheet.rst:228 -msgid "They can be referenced the same first way as external hyperlink targets by using the name of the section title as URL." +msgid "It has two items, the second item uses two lines." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:244 -msgid "This can easily be done by creating a new user, see `How to create a new user? `_ for additional help. ..." +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:240 +msgid "Numbered list" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:250 -msgid "The ``doc`` directive" +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:245 +msgid "This is a numbered list." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:253 -msgid "The ``doc`` directive allows referencing a documentation page wherever it is in the file tree through a relative file path." -msgstr "" - -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:254 -msgid "As usual, there are two ways to use the directive:" +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:246 +msgid "Numbering is automatic." msgstr "" #: ../../content/contributing/documentation/rst_cheat_sheet.rst:256 -msgid "``:doc:`path_to_doc_page``` creates a hyperlink reference to the documentation page with the title of the page as label." +msgid "Use this format to start the numbering with a number other than one." msgstr "" #: ../../content/contributing/documentation/rst_cheat_sheet.rst:258 -msgid "``:doc:`label ``` creates a hyperlink reference to the documentation page with the given label." +msgid "The numbering is automatic from there." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:275 -msgid "Please refer to `this documentation `_ and to `Send a pro-forma invoice `_." +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:267 +msgid "Prefer the use of autonumbered lists with `#.` for better code resilience." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:281 -msgid "The ``download`` directive" +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:272 +msgid "Nested lists" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:283 -msgid "The ``download`` directive allows referencing files (that are not necessarily :abbr:`RST (reStructuredText)` documents) within the source tree to be downloaded." +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:277 +msgid "This is the first item of a bulleted list." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:300 -msgid "Download this `module structure template `_ to start building your module in no time." +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:279 +msgid "It has a nested numbered list" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:306 -msgid "The ``image`` directive" +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:280 +msgid "with two items." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:308 -msgid "The ``image`` directive allows inserting images in a document. It comes with a set of optional parameter directives that can individually be omitted if considered redundant." +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:292 +msgid "Hyperlinks" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:343 -msgid "Admonitions (alert blocks)" +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:297 +msgid "External hyperlinks" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:348 -msgid "Seealso" +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:299 +msgid "External hyperlinks are links to a URL with a custom label. They follow this syntax: ```label `_``" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:363 -msgid "`Customer invoices `_" +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:303 +msgid "The URL can be a relative path to a file within the documentation." +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:304 +msgid "Use the :ref:`documentation pages hyperlinks ` if you target another documentation page." +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:310 +msgid "For instance, `this is an external hyperlink to Odoo's website `_." +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:319 +msgid "External hyperlink aliases" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:321 +msgid "External hyperlink aliases allow creating shortcuts for external hyperlinks." +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:322 +msgid "The definition syntax is as follows: ``.. _target: URL``" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:323 +msgid "There are two ways to reference them, depending on the use case:" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:325 +msgid "``target_`` creates a hyperlink with the target name as label and the URL as reference. Note that the ``_`` moved after the target!" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:327 +msgid "```label `_`` does exactly what you expect: the label replaces the name of the target, and the target is replaced by the URL." +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:333 +msgid "A `proof-of-concept `_ is a simplified version, a prototype of what is expected to agree on the main lines of expected changes. `PoC `_ is a common abbreviation." +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:347 +msgid "Custom anchors" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:349 +msgid "Custom anchors follow the same syntax as external hyperlink aliases but without any URL. Indeed, they are internal. They allow referencing a specific part of a document by using the target as an anchor. When the user clicks on the reference, the documentation scrolls to the part of the page containing the anchor." +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:354 +msgid "The definition syntax is: ``.. _target:``" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:355 +msgid "There are two ways to reference them, both using the ``ref`` markup:" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:357 +msgid "``:ref:`target``` creates a hyperlink to the anchor with the heading defined below as label." +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:358 +msgid "``:ref:`label ``` creates a hyperlink to the anchor with the given label." +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:360 +msgid "See :ref:`contributing/relative-links` to learn how to write proper relative links for internal references." msgstr "" #: ../../content/contributing/documentation/rst_cheat_sheet.rst:364 -msgid "`Pro-forma invoices `_" +msgid "Custom anchors can be referenced from other files than the ones in which they are defined." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:369 -msgid "Note" +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:365 +msgid "Notice that there is no ``_`` at the end, contrary to what is done with :ref:`external hyperlinks `." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:383 -msgid "Use this to get the attention of the reader about additional information." +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:371 +msgid "This can easily be done by creating a new product, see `How to create a product? `_ for additional help." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:388 -msgid "Tip" +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:374 +msgid "**How to create a product?**" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:376 +msgid "As explained at the `start of the page `_, ..." +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:394 +msgid "Documentation pages hyperlinks" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:397 +msgid "The ``doc`` markup allows referencing a documentation page wherever it is in the file tree through a relative file path." +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:398 +msgid "As usual, there are two ways to use the markup:" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:401 +msgid "``:doc:`path_to_doc_page``` creates a hyperlink to the documentation page with the title of the page as label." msgstr "" #: ../../content/contributing/documentation/rst_cheat_sheet.rst:403 -msgid "Use this to inform the reader about a useful trick that requires an action." +msgid "``:doc:`label ``` creates a hyperlink to the documentation page with the given label." msgstr "" #: ../../content/contributing/documentation/rst_cheat_sheet.rst:409 -msgid "Important" +msgid "Please refer to `this documentation `_ and to `Send a pro-forma invoice `_." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:423 -msgid "Use this to notify the reader about an important information." +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:420 +msgid "File download hyperlinks" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:422 +msgid "The ``download`` markup allows referencing files (that are not necessarily :abbr:`RST (reStructuredText)` documents) within the source tree to be downloaded." msgstr "" #: ../../content/contributing/documentation/rst_cheat_sheet.rst:428 -msgid "Warning" +msgid "Download this `module structure template `_ to start building your module in no time." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:443 -msgid "Use this to require the reader to proceed with caution with what is described in the warning." +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:442 +msgid "The ``image`` markup allows inserting images in a document." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:449 -msgid "Danger" +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:0 +msgid "Create an invoice." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:463 -msgid "Use this to alarm the reader about a serious threat." +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:458 +msgid "Add the :code:`:class: o-no-modal` `option `_ to an image to prevent opening it in a modal." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:468 -msgid "Formatting tips" +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:465 +msgid "Alert blocks (admonitions)" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:473 -msgid "Break the line but not the paragraph" +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:470 +msgid "Seealso" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:476 +msgid "`Customer invoices `_" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:477 +msgid "`Pro-forma invoices `_" msgstr "" #: ../../content/contributing/documentation/rst_cheat_sheet.rst:488 -msgid "First super long line that you break in two… here is rendered as a single line." -msgstr "" - -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:489 -msgid "Second line that follows a line break." +msgid "Note" msgstr "" #: ../../content/contributing/documentation/rst_cheat_sheet.rst:494 -msgid "Add comments" +msgid "Use this alert block to grab the reader's attention about additional information." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:496 -msgid "If you made a particular choice of writing or formatting that a future writer should be able to understand and take into account, consider writing a comment. Comments are blocks of text that do not count as a part of the documentation and that are used to pass a message to writers of the source code. They consist of a line starting with two dots and a space, followed by the comment." +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:504 +msgid "Tip" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:501 -msgid "``.. For instance, this line will not be rendered in the documentation.``" +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:510 +msgid "Use this alert block to inform the reader about a useful trick that requires an action." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:506 -msgid "Use tables" +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:520 +#: ../../content/contributing/documentation/rst_guidelines.rst:17 +msgid "Example" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:508 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:526 +msgid "Use this alert block to show an example." +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:536 +msgid "Exercise" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:542 +msgid "Use this alert block to suggest an exercise to the reader." +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:552 +msgid "Important" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:558 +msgid "Use this alert block to notify the reader about important information." +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:568 +msgid "Warning" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:574 +msgid "Use this alert block to require the reader to proceed with caution with what is described in the warning." +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:586 +msgid "Danger" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:592 +msgid "Use this alert block to bring the reader's attention to a serious threat." +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:602 +msgid "Custom" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:607 +msgid "Title" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:609 +msgid "Customize this alert block with a **Title** of your choice." +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:620 +msgid "Tables" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:623 +msgid "List tables" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:625 +msgid "List tables use two-level bulleted lists to convert data into a table. The first level represents the rows and the second level represents the columns." +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:635 +msgid "Name" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:636 +msgid "Country" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:637 +msgid "Favorite color" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:638 +msgid "Raúl" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:639 +msgid "Montenegro" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:640 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:672 +msgid "Purple" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:641 +msgid "Mélanie" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:642 +msgid "France" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:643 +msgid "Red" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:662 +msgid "Grid tables" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:664 +msgid "Grid tables represent the rendered table and are more visual to work with." +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:670 +msgid "Shirts" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:670 +msgid "T-shirts" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:672 +msgid "**Available colours**" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:672 +msgid "Green" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:674 +msgid "Turquoise" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:674 +msgid "Orange" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:676 +msgid "**Sleeves length**" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:676 +msgid "Long sleeves" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:676 +msgid "Short sleeves" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:692 +msgid "Use `=` instead of `-` to define header rows." +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:693 +msgid "Remove `-` and `|` separators to merge cells." +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:694 msgid "Make use of `this convenient table generator `_ to build your tables. Then, copy-paste the generated formatting into your document." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:514 -msgid "Spice up your writing with specialized directives" +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:700 +msgid "Code blocks" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:516 -msgid "Use these additional directives to fine-tune your content:" +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:720 +msgid "Spoilers" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:519 -msgid "**Directive**" +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:727 +msgid "**42**" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:519 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:738 +msgid "Content tabs" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:741 +msgid "The `tabs` markup may not work well in some situations. In particular:" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:743 +msgid "The tabs' headers cannot be translated." +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:744 +msgid "A tab cannot contain :ref:`headings `." +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:745 +msgid "An :ref:`alert block ` cannot contain tabs." +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:746 +msgid "A tab cannot contain :ref:`custom anchors `." +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:751 +msgid "Basic tabs" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:753 +msgid "Basic tabs are useful to split the content into multiple options. The `tabs` markup is used to define sequence of tabs. Each tab is then defined with the `tab` markup followed by a label." +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:761 +msgid "Odoo Online" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:763 +msgid "Content dedicated to Odoo Online users." +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:765 +msgid "Odoo.sh" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:767 +msgid "Alternative for Odoo.sh users." +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:769 +msgid "On-premise" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:771 +msgid "Third version for On-premise users." +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:792 +msgid "Nested tabs" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:794 +msgid "Tabs can be nested inside one another." +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:801 +msgid "Stars" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:805 +msgid "The Sun" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:807 +msgid "The closest star to us." +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:809 +msgid "Proxima Centauri" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:811 +msgid "The second closest star to us." +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:813 +msgid "Polaris" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:815 +msgid "The North Star." +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:817 +msgid "Moons" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:821 +msgid "The Moon" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:823 +msgid "Orbits the Earth." +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:825 +msgid "Titan" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:827 +msgid "Orbits Jupiter." +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:864 +msgid "Group tabs" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:866 +msgid "Group tabs are special tabs that synchronize based on a group label. The last selected group is remembered and automatically selected when the user returns to the page or visits another page with the tabs group. The `group-tab` markup is used to define group tabs." +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:875 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:877 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:889 +msgid "C++" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:883 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:885 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:904 +msgid "Java" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:956 +msgid "Code tabs" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:958 +msgid "Code tabs are essentially :ref:`group tabs ` that treat the content as a :ref:`code block `. The `code-tab` markup is used to define a code tab. Just as for the `code-block` markup, the language defines the syntax highlighting of the tab. If set, the label is used instead of the language for grouping tabs." +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1009 +msgid "Cards" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1057 +msgid "Document metadata" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1059 +msgid "Sphinx supports document-wide metadata markups that specify a behavior for the entire page." +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1060 +msgid "They must be placed between colons (`:`) at the top of the source file." +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1063 +msgid "**Metadata**" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1063 msgid "**Purpose**" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:519 -msgid "**Example**" +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1065 +msgid "`show-content`" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:521 -msgid "**RST**" +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1065 +msgid "Make a toctree page accessible from the navigation menu." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:521 -msgid "**HTML**" +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1067 +msgid "`show-toc`" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:523 -msgid "``abbr``" +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1067 +msgid "Show the table of content on a page that has the `show-content` metadata markup." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:523 -msgid "Self-defining abbreviations" +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1070 +msgid "`code-column`" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:523 -msgid "``:abbr:`SO (Sales Order)```" +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:0 +msgid "Show a dynamic side column that can be used to display interactive tutorials or code excerpts." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:523 -msgid ":abbr:`SO (Sales Order)`" +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:0 +msgid "For example, see :doc:`/applications/finance/accounting/getting_started/cheat_sheet`." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:525 -msgid "``command``" +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1075 +msgid "`hide-page-toc`" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:525 -msgid "Highlight a command" +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1075 +msgid "Hide the \"On this page\" sidebar and use full page width for the content." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:525 -msgid "``:command:`python example.py```" +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1077 +msgid "`custom-css`" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:525 -msgid ":command:`python example.py`" +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1077 +msgid "Link CSS files (comma-separated) to the document." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:527 -msgid "``dfn``" +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1079 +msgid "`custom-js`" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:527 -msgid "Define a term" +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1079 +msgid "Link JS files (comma-separated) to the document." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:527 -msgid "``:dfn:`a definition for a new term```" +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1081 +msgid "`classes`" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:527 -msgid ":dfn:`a definition for a new term`" +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1081 +msgid "Assign the specified classes to the `
` element of the document." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:529 -msgid "``file``" +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1083 +msgid "`orphan`" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:529 -msgid "Indicate a file path" +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1083 +msgid "Suppress the need to include the document in a toctree." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:529 -msgid "``:file:`~/odoo/odoo-bin```" +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1085 +msgid "`nosearch`" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:529 -msgid ":file:`~/odoo/odoo-bin`" +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1085 +msgid "Exclude the document from search results." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:531 -msgid "``menuselection``" +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1091 +msgid "Formatting tips" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:531 -msgid "Guide a user through a sequence of menus" +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1096 +msgid "Break the line but not the paragraph" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:531 -msgid "``:menuselection:`Sales --> Configuration --> Settings```" +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:0 +msgid "A first long line that you break in two -> here <- is rendered as a single line." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:531 -msgid ":menuselection:`Sales --> Configuration --> Settings`" +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:0 +msgid "A second line that follows a line break." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:537 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1114 msgid "Escape markup symbols (Advanced)" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:539 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1116 msgid "Markup symbols escaped with backslashes (``\\``) are rendered normally. For instance, ``this \\*\\*line of text\\*\\* with \\*markup\\* symbols`` is rendered as “this \\*\\*line of text\\*\\* with \\*markup\\* symbols”." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:543 -msgid "When it comes to backticks (`````), which are used in many case such as :ref:`hyperlink references `, using backslashes for escaping is no longer an option because the outer backticks interpret enclosed backslashes and thus prevent them from escaping inner backticks. For instance, ```\\`this formatting\\```` produces an ``[UNKNOWN NODE title_reference]`` error. Instead, `````this formatting````` should be used to produce the following result: ```this formatting```." +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1120 +msgid "When it comes to backticks (`````), which are used in many cases such as :ref:`external hyperlinks `, using backslashes for escaping is no longer an option because the outer backticks interpret enclosed backslashes and thus prevent them from escaping inner backticks. For instance, ```\\`this formatting\\```` produces an ``[UNKNOWN NODE title_reference]`` error. Instead, `````this formatting````` should be used to produce the following result: ```this formatting```." msgstr "" -#: ../../content/contributing/documentation/rst_guidelines.rst:4 +#: ../../content/contributing/documentation/rst_guidelines.rst:3 msgid "RST guidelines" msgstr "" -#: ../../content/contributing/documentation/rst_guidelines.rst:9 +#: ../../content/contributing/documentation/rst_guidelines.rst:8 msgid "Use relative links for internal URLs" msgstr "" -#: ../../content/contributing/documentation/rst_guidelines.rst:11 -msgid "If you need to reference an internal documentation page or a file that is not sitting in the same directory as your current page, always make use of *relative file paths* rather than *absolute file paths*. An absolute file path indicates the location of the target from the root of its file tree. A relative file path makes use of smart notations (such as ``../`` git that redirects to the parent folder) to indicate the location of the target *relative* to that of the source document." +#: ../../content/contributing/documentation/rst_guidelines.rst:10 +msgid "If you need to reference an internal documentation page or a file that is not sitting in the same directory as your current page, always make use of *relative file paths* rather than *absolute file paths*. An absolute file path indicates the location of the target from the root of its file tree. A relative file path makes use of smart notations (such as ``../`` that redirects to the parent folder) to indicate the location of the target *relative* to that of the source document." msgstr "" -#: ../../content/contributing/documentation/rst_guidelines.rst:20 +#: ../../content/contributing/documentation/rst_guidelines.rst:19 msgid "Given the following source file tree:" msgstr "" -#: ../../content/contributing/documentation/rst_guidelines.rst:35 +#: ../../content/contributing/documentation/rst_guidelines.rst:34 msgid "A reference to the rendered :file:`prices.html` and :file:`variants.html` could be made from :file:`import.rst` as follows:" msgstr "" -#: ../../content/contributing/documentation/rst_guidelines.rst:38 +#: ../../content/contributing/documentation/rst_guidelines.rst:37 msgid "Absolute:" msgstr "" +#: ../../content/contributing/documentation/rst_guidelines.rst:39 +msgid "``https://odoo.com/documentation/saas-15.2/applications/sales/sales/products_prices/prices.html``" +msgstr "" + #: ../../content/contributing/documentation/rst_guidelines.rst:40 -msgid "``https://odoo.com/documentation/14.0/applications/sales/sales/products_prices/prices.html``" +msgid "``https://odoo.com/documentation/saas-15.2/applications/sales/sales/products_prices/products/variants.html``" msgstr "" -#: ../../content/contributing/documentation/rst_guidelines.rst:41 -msgid "``https://odoo.com/documentation/14.0/applications/sales/sales/products_prices/products/variants.html``" -msgstr "" - -#: ../../content/contributing/documentation/rst_guidelines.rst:43 +#: ../../content/contributing/documentation/rst_guidelines.rst:42 msgid "Relative:" msgstr "" -#: ../../content/contributing/documentation/rst_guidelines.rst:45 +#: ../../content/contributing/documentation/rst_guidelines.rst:44 msgid "``../prices.html``" msgstr "" -#: ../../content/contributing/documentation/rst_guidelines.rst:46 +#: ../../content/contributing/documentation/rst_guidelines.rst:45 msgid "``variants.html``" msgstr "" -#: ../../content/contributing/documentation/rst_guidelines.rst:48 +#: ../../content/contributing/documentation/rst_guidelines.rst:47 msgid "The relative links are clearly superior in terms of readability and stability: the references survive version updates, folder name changes and file tree restructurations." msgstr "" -#: ../../content/contributing/documentation/rst_guidelines.rst:54 +#: ../../content/contributing/documentation/rst_guidelines.rst:53 msgid "Start a new line before the 100th character" msgstr "" -#: ../../content/contributing/documentation/rst_guidelines.rst:56 +#: ../../content/contributing/documentation/rst_guidelines.rst:55 msgid "In RST, it is possible to break a line without forcing a line break on the rendered HTML. Make use of this feature to write **lines of maximum 100 characters**. A line break in a sentence results in an additional whitespace in HTML. That means that you do not need to leave a trailing whitespace at the end of a line to separate words." msgstr "" -#: ../../content/contributing/documentation/rst_guidelines.rst:62 -msgid "You can safely break a line around the separators (``-->``) of ``menuselection`` directives and anywhere in a hyperlink reference. For the ``doc``, ``ref`` and ``download`` directives, this is only true for the label part of the reference." +#: ../../content/contributing/documentation/rst_guidelines.rst:61 +msgid "You can safely break a line around the separators (``-->``) of ``menuselection`` markups and anywhere in a hyperlink reference. For the ``doc``, ``ref`` and ``download`` markups, this is only true for the label part of the reference." msgstr "" -#: ../../content/contributing/documentation/rst_guidelines.rst:67 -msgid "Example: Line breaks within directive and inline markup" +#: ../../content/contributing/documentation/rst_guidelines.rst:66 +msgid "Example: Line breaks within markups" msgstr "" -#: ../../content/contributing/documentation/rst_guidelines.rst:76 +#: ../../content/contributing/documentation/rst_guidelines.rst:75 msgid "Be consistent with indentation" msgstr "" -#: ../../content/contributing/documentation/rst_guidelines.rst:78 +#: ../../content/contributing/documentation/rst_guidelines.rst:77 msgid "Use only spaces (never tabs)." msgstr "" -#: ../../content/contributing/documentation/rst_guidelines.rst:80 -msgid "Use as many spaces at the beginning of an indented line as needed to align it with the first character of the directive in the line above. This usually implies 3 spaces but you only need 2 for bulleted lists." +#: ../../content/contributing/documentation/rst_guidelines.rst:79 +msgid "Use as many spaces at the beginning of an indented line as needed to align it with the first character of the markup in the line above. This usually implies 3 spaces but you only need 2 for bulleted lists." msgstr "" -#: ../../content/contributing/documentation/rst_guidelines.rst:85 +#: ../../content/contributing/documentation/rst_guidelines.rst:84 msgid "Example: The first ``:`` is below the ``i`` (3 spaces)" msgstr "" -#: ../../content/contributing/documentation/rst_guidelines.rst:94 +#: ../../content/contributing/documentation/rst_guidelines.rst:93 msgid "Example: The ``:titlesonly:`` and page references start below the ``t`` (3 spaces)" msgstr "" -#: ../../content/contributing/documentation/rst_guidelines.rst:105 +#: ../../content/contributing/documentation/rst_guidelines.rst:104 msgid "Example: Continuation lines resume below the ``I``’s of “Invoice” (2 spaces)" msgstr "" -#: ../../content/contributing/documentation/rst_guidelines.rst:115 -msgid "Use the menuselection directive" +#: ../../content/contributing/documentation/rst_guidelines.rst:114 +msgid "Use the menuselection markup" msgstr "" -#: ../../content/contributing/documentation/rst_guidelines.rst:117 -msgid "Although chaining characters ``‣`` and menu names works fine to indicate a user which menus to click, it is best to use the ``menuselection`` directive (see :ref:`contributing/specialized-directives`) for the same result. Indeed, it renders the menus chain consistently with the rest of the documentation and would automatically adapt to the new graphic chart if we were to switch to a new one. This directive is used inline as follows: ``:menuselection:`Settings --> Products --> Variants```." +#: ../../content/contributing/documentation/rst_guidelines.rst:116 +msgid "Although chaining characters ``‣`` and menu names works fine to indicate a user which menus to click, it is best to use the ``menuselection`` markup (see :ref:`contributing/menuselection`) for the same result. Indeed, it renders the menus chain consistently with the rest of the documentation and would automatically adapt to the new graphic chart if we were to switch to a new one. This markup is used inline as follows: ``:menuselection:`Sales --> Settings --> Products --> Variants```." msgstr "" -#: ../../content/contributing/documentation/rst_guidelines.rst:127 +#: ../../content/contributing/documentation/rst_guidelines.rst:125 msgid "Write resilient code" msgstr "" -#: ../../content/contributing/documentation/rst_guidelines.rst:129 +#: ../../content/contributing/documentation/rst_guidelines.rst:127 msgid "Prefer the use of ``#.`` in numbered lists instead of ``1.``, ``2.``, etc. This removes the risk of breaking the numbering when adding new elements to the list and is easier to maintain." msgstr "" -#: ../../content/contributing/documentation/rst_guidelines.rst:131 +#: ../../content/contributing/documentation/rst_guidelines.rst:129 msgid "Avoid using implicit hyperlink targets and prefer internal hyperlink targets instead. Referencing the implicit target ``How to print quotations?`` is more prone to break than a reference to the explicit target ``_print_quotation`` which never appears in the rendered HTML and is thus even less likely to be modified." msgstr "" -#: ../../content/contributing/documentation/rst_guidelines.rst:139 +#: ../../content/contributing/documentation/rst_guidelines.rst:137 msgid "Prefix hyperlink targets with application names" msgstr "" -#: ../../content/contributing/documentation/rst_guidelines.rst:141 -msgid "As hyperlink targets are visible from the entire documentation when referenced with the ``ref`` directive, it is recommended to prefix the target name with that of the related application. For instance, naming a target ``_amazon/form`` instead of ``_form`` avoids unwanted behaviors and makes the purpose of the target clear." +#: ../../content/contributing/documentation/rst_guidelines.rst:139 +msgid "As hyperlink targets are visible from the entire documentation when referenced with the ``ref`` markup, it is recommended to prefix the target name with that of the related application. For instance, naming a target ``_amazon/form`` instead of ``_form`` avoids unwanted behaviors and makes the purpose of the target clear." msgstr "" -#: ../../content/contributing/documentation/rst_guidelines.rst:149 +#: ../../content/contributing/documentation/rst_guidelines.rst:147 msgid "Don’t break hyperlink targets" msgstr "" -#: ../../content/contributing/documentation/rst_guidelines.rst:151 +#: ../../content/contributing/documentation/rst_guidelines.rst:149 msgid "When refactoring (improving without adding new content) section headings or hyperlink targets, take care not to break any hyperlink reference to these targets or update them accordingly." msgstr "" -#: ../../content/contributing/documentation/rst_guidelines.rst:157 +#: ../../content/contributing/documentation/rst_guidelines.rst:155 msgid "Use single-underscore suffixes for hyperlink references" msgstr "" -#: ../../content/contributing/documentation/rst_guidelines.rst:162 +#: ../../content/contributing/documentation/rst_guidelines.rst:160 msgid "Although using a double-underscore suffix works most of the time for classic hyperlink references, it is not recommended as double-underscores normally indicate an anonymous hyperlink reference. This is a special kind of hyperlink reference that makes use of nameless hyperlink targets consisting only of two underscore." msgstr "" -#: ../../content/contributing/documentation/rst_guidelines.rst:164 +#: ../../content/contributing/documentation/rst_guidelines.rst:162 msgid "tl;dr: Double-underscore suffixes work until they don’t and are bad practice, use single-underscore suffixes instead." msgstr "" diff --git a/locale/sources/developer.pot b/locale/sources/developer.pot index db9b717d3..f179088c7 100644 --- a/locale/sources/developer.pot +++ b/locale/sources/developer.pot @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Odoo 14.0\n" +"Project-Id-Version: Odoo saas-15.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-05-18 07:12+0200\n" +"POT-Creation-Date: 2023-03-03 14:24+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -16,10 +16,14 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../../content/developer.rst:3 +#: ../../content/developer.rst:9 msgid "Developer" msgstr "" +#: ../../content/developer.rst:11 +msgid "Learn through tutorials and get help using reference guides." +msgstr "" + #: ../../content/developer/glossary.rst:5 msgid "Glossary" msgstr "" @@ -80,1608 +84,314 @@ msgstr "" msgid "process of removing extraneous/non-necessary sections of files (comments, whitespace) and possibly recompiling them using equivalent but shorter structures (`ternary operator`_ instead of ``if/else``) in order to reduce network traffic" msgstr "" -#: ../../content/developer/howtos.rst:3 -msgid "Tutorials" +#: ../../content/developer/howtos.rst:6 +msgid "How-to guides" msgstr "" -#: ../../content/developer/howtos/backend.rst:7 -msgid "Building a Module" +#: ../../content/developer/howtos/accounting_localization.rst:4 +msgid "Accounting localization" msgstr "" -#: ../../content/developer/howtos/backend.rst:11 -msgid "This tutorial requires :ref:`having installed Odoo `" +#: ../../content/developer/howtos/accounting_localization.rst:8 +msgid "This tutorial requires knowledge about how to build a module in Odoo (see :doc:`../tutorials/getting_started`)." msgstr "" -#: ../../content/developer/howtos/backend.rst:14 -msgid "Start/Stop the Odoo server" +#: ../../content/developer/howtos/accounting_localization.rst:13 +msgid "Installation procedure" msgstr "" -#: ../../content/developer/howtos/backend.rst:16 -msgid "Odoo uses a client/server architecture in which clients are web browsers accessing the Odoo server via RPC." +#: ../../content/developer/howtos/accounting_localization.rst:15 +msgid "On installing the `account `_ module, the localization module corresponding to the country code of the company is installed automatically. In case of no country code set or no localization module found, the `l10n_generic_coa `_ (US) localization module is installed by default. Check `post init hook `_ for details." msgstr "" -#: ../../content/developer/howtos/backend.rst:19 -msgid "Business logic and extension is generally performed on the server side, although supporting client features (e.g. new data representation such as interactive maps) can be added to the client." +#: ../../content/developer/howtos/accounting_localization.rst:19 +msgid "For example, `l10n_ch `_ will be installed if the company has ``Switzerland`` as country." msgstr "" -#: ../../content/developer/howtos/backend.rst:23 -msgid "In order to start the server, simply invoke the command :ref:`odoo-bin ` in the shell, adding the full path to the file if necessary:" +#: ../../content/developer/howtos/accounting_localization.rst:22 +msgid "Building a localization module" msgstr "" -#: ../../content/developer/howtos/backend.rst:31 -msgid "The server is stopped by hitting ``Ctrl-C`` twice from the terminal, or by killing the corresponding OS process." +#: ../../content/developer/howtos/accounting_localization.rst:24 +msgid "The structure of a basic ``l10n_XX`` module may be described with the following :file:`__manifest__.py` file:" msgstr "" -#: ../../content/developer/howtos/backend.rst:35 -msgid "Build an Odoo module" +#: ../../content/developer/howtos/accounting_localization.rst:63 +msgid "In the first file :file:`data/account_chart_template_data.xml`, we set the name for the chart of accounts along with some basic fields." msgstr "" -#: ../../content/developer/howtos/backend.rst:37 -msgid "Both server and client extensions are packaged as *modules* which are optionally loaded in a *database*." +#: ../../content/developer/howtos/accounting_localization.rst:66 +msgid ":ref:`Chart Template References `" msgstr "" -#: ../../content/developer/howtos/backend.rst:40 -msgid "Odoo modules can either add brand new business logic to an Odoo system, or alter and extend existing business logic: a module can be created to add your country's accounting rules to Odoo's generic accounting support, while the next module adds support for real-time visualisation of a bus fleet." +#: ../../content/developer/howtos/accounting_localization.rst:69 +msgid "`addons/l10n_ch/data/l10n_ch_chart_data.xml `_" msgstr "" -#: ../../content/developer/howtos/backend.rst:45 -msgid "Everything in Odoo thus starts and ends with modules." +#: ../../content/developer/howtos/accounting_localization.rst:80 +msgid "Recommended **xmlid** for the record is `chart_template`. If you need many chart of accounts, you can add some suffixes, i.e. `chart_template_XXX`." msgstr "" -#: ../../content/developer/howtos/backend.rst:48 -msgid "Composition of a module" +#: ../../content/developer/howtos/accounting_localization.rst:85 +msgid "Chart of Accounts" msgstr "" -#: ../../content/developer/howtos/backend.rst:50 -msgid "An Odoo module can contain a number of elements:" +#: ../../content/developer/howtos/accounting_localization.rst:88 +msgid "Account tags" msgstr "" -#: ../../content/developer/howtos/backend.rst:54 -msgid "Business objects" +#: ../../content/developer/howtos/accounting_localization.rst:91 +msgid ":ref:`Account Tag References `" msgstr "" -#: ../../content/developer/howtos/backend.rst:53 -msgid "Declared as Python classes, these resources are automatically persisted by Odoo based on their configuration" +#: ../../content/developer/howtos/accounting_localization.rst:93 +msgid "Tags are a way to sort accounts. For example, imagine you want to create a financial report having multiple lines but you have no way to find a rule to dispatch the accounts according to their ``code``. The solution is the usage of tags, one for each report line, to filter accounts like you want." msgstr "" -#: ../../content/developer/howtos/backend.rst:57 -msgid ":ref:`Object views `" +#: ../../content/developer/howtos/accounting_localization.rst:97 +msgid "Put the tags in the :file:`data/account_account_tag_data.xml` file." msgstr "" -#: ../../content/developer/howtos/backend.rst:57 -msgid "Definition of business objects UI display" +#: ../../content/developer/howtos/accounting_localization.rst:100 +msgid "`addons/l10n_lt/data/account.account.template.csv `_" msgstr "" -#: ../../content/developer/howtos/backend.rst:65 -msgid ":ref:`Data files `" +#: ../../content/developer/howtos/accounting_localization.rst:108 +#: ../../content/developer/howtos/accounting_localization.rst:138 +msgid "`addons/l10n_at/data/account_account_template.xml `_" msgstr "" -#: ../../content/developer/howtos/backend.rst:60 -msgid "XML or CSV files declaring the model metadata :" +#: ../../content/developer/howtos/accounting_localization.rst:119 +msgid "Accounts" msgstr "" -#: ../../content/developer/howtos/backend.rst:62 -msgid ":ref:`views ` or :ref:`reports `," +#: ../../content/developer/howtos/accounting_localization.rst:122 +msgid ":ref:`Account References `" msgstr "" -#: ../../content/developer/howtos/backend.rst:63 -msgid "configuration data (modules parametrization, :ref:`security rules `)," +#: ../../content/developer/howtos/accounting_localization.rst:123 +msgid ":doc:`/applications/finance/accounting/getting_started/initial_configuration/chart_of_accounts`" msgstr "" -#: ../../content/developer/howtos/backend.rst:64 -msgid "demonstration data" +#: ../../content/developer/howtos/accounting_localization.rst:125 +msgid "Obviously, :guilabel:`Chart of Accounts` cannot exist without :guilabel:`Accounts`. You need to specify them in :file:`data/account.account.template.csv`." msgstr "" -#: ../../content/developer/howtos/backend.rst:65 -msgid "and more" +#: ../../content/developer/howtos/accounting_localization.rst:128 +msgid "`addons/l10n_ch/data/account.account.template.csv `_" msgstr "" -#: ../../content/developer/howtos/backend.rst:68 -msgid ":ref:`Web controllers `" +#: ../../content/developer/howtos/accounting_localization.rst:135 +msgid "CSV is prefered but you may use XML format instead." msgstr "" -#: ../../content/developer/howtos/backend.rst:68 -msgid "Handle requests from web browsers" +#: ../../content/developer/howtos/accounting_localization.rst:148 +msgid "Avoid the usage of liquidity ``account.account.type``! Indeed, the bank & cash accounts are created directly at the installation of the localization module and then, are linked to an ``account.journal``." msgstr "" -#: ../../content/developer/howtos/backend.rst:71 -msgid "Static web data" +#: ../../content/developer/howtos/accounting_localization.rst:150 +msgid "Only one account of type payable/receivable is enough for the generic case. We need to define a PoS receivable account as well however. (linked in the CoA)" msgstr "" -#: ../../content/developer/howtos/backend.rst:71 -msgid "Images, CSS or javascript files used by the web interface or website" +#: ../../content/developer/howtos/accounting_localization.rst:151 +msgid "Don't create too many accounts: 200-300 is enough. But mostly, we try to find a good balance where the CoA needs minimal adapting for most companies afterwards." msgstr "" -#: ../../content/developer/howtos/backend.rst:74 -#: ../../content/developer/reference/guidelines.rst:32 -msgid "Module structure" +#: ../../content/developer/howtos/accounting_localization.rst:153 +msgid "Next settings for the chart of accounts are set in a separate file, because we need to provide a :ref:`list of accounts ` first. In :file:`data/account_chart_post_data.xml`, we set some default accounts:" msgstr "" -#: ../../content/developer/howtos/backend.rst:76 -msgid "Each module is a directory within a *module directory*. Module directories are specified by using the :option:`--addons-path ` option." +#: ../../content/developer/howtos/accounting_localization.rst:158 +msgid "`addons/l10n_ch/data/l10n_ch_chart_post_data.xml `_" msgstr "" -#: ../../content/developer/howtos/backend.rst:83 -msgid "most command-line options can also be set using :ref:`a configuration file `" +#: ../../content/developer/howtos/accounting_localization.rst:168 +msgid "Account groups" msgstr "" -#: ../../content/developer/howtos/backend.rst:86 -msgid "An Odoo module is declared by its :ref:`manifest `." +#: ../../content/developer/howtos/accounting_localization.rst:171 +msgid ":ref:`Account Group References `" msgstr "" -#: ../../content/developer/howtos/backend.rst:88 -msgid "A module is also a `Python package `_ with a ``__init__.py`` file, containing import instructions for various Python files in the module." +#: ../../content/developer/howtos/accounting_localization.rst:173 +msgid "Account groups allow describing the hierarchical structure of the chart of accounts. The filter needs to be activated in the report and then when you decollapse into journal entries it will show the parents of the account." msgstr "" -#: ../../content/developer/howtos/backend.rst:93 -msgid "For instance, if the module has a single ``mymodule.py`` file ``__init__.py`` might contain::" +#: ../../content/developer/howtos/accounting_localization.rst:175 +msgid "It works with the prefix *start*/*end*, so every account where the code starts with something between *start* and *end* will have this account.group as the parent group. Furthermore, the account groups can have a parent account group as well to form the hierarchy." msgstr "" -#: ../../content/developer/howtos/backend.rst:98 -msgid "Odoo provides a mechanism to help set up a new module, :ref:`odoo-bin ` has a subcommand :ref:`scaffold ` to create an empty module:" +#: ../../content/developer/howtos/accounting_localization.rst:179 +msgid "`addons/l10n_il/data/account.group.template.csv `_" msgstr "" -#: ../../content/developer/howtos/backend.rst:106 -msgid "The command creates a subdirectory for your module, and automatically creates a bunch of standard files for a module. Most of them simply contain commented code or XML. The usage of most of those files will be explained along this tutorial." +#: ../../content/developer/howtos/accounting_localization.rst:188 +#: ../../content/developer/reference/standard_modules/account/account_tax.rst:5 +msgid "Taxes" msgstr "" -#: ../../content/developer/howtos/backend.rst:110 -msgid "Module creation" +#: ../../content/developer/howtos/accounting_localization.rst:191 +msgid ":ref:`Tax References `" msgstr "" -#: ../../content/developer/howtos/backend.rst:112 -msgid "Use the command line above to create an empty module Open Academy, and install it in Odoo." +#: ../../content/developer/howtos/accounting_localization.rst:192 +msgid ":doc:`/applications/finance/accounting/taxation/taxes/taxes`" msgstr "" -#: ../../content/developer/howtos/backend.rst:116 -msgid "Object-Relational Mapping" +#: ../../content/developer/howtos/accounting_localization.rst:194 +msgid "To add taxes you first need to specify tax groups. You normally need just one tax group for every tax rate, except for the 0% as you need to often distinguish between exempt, 0%, not subject, ... taxes. This model only has two required fields: *name* and *country*. Create the file :file:`data/account_tax_group_data.xml` and list the groups:" msgstr "" -#: ../../content/developer/howtos/backend.rst:118 -msgid "A key component of Odoo is the :abbr:`ORM (Object-Relational Mapping)` layer. This layer avoids having to write most :abbr:`SQL (Structured Query Language)` by hand and provides extensibility and security services\\ [#rawsql]_." +#: ../../content/developer/howtos/accounting_localization.rst:211 +msgid "`addons/l10n_ch/data/account_tax_group_data.xml `_" msgstr "" -#: ../../content/developer/howtos/backend.rst:122 -msgid "Business objects are declared as Python classes extending :class:`~odoo.models.Model` which integrates them into the automated persistence system." +#: ../../content/developer/howtos/accounting_localization.rst:220 +msgid "`addons/l10n_uk/data/account.tax.group.csv `_" msgstr "" -#: ../../content/developer/howtos/backend.rst:126 -msgid "Models can be configured by setting a number of attributes at their definition. The most important attribute is :attr:`~odoo.models.Model._name` which is required and defines the name for the model in the Odoo system. Here is a minimally complete definition of a model::" +#: ../../content/developer/howtos/accounting_localization.rst:227 +msgid "Now you can add the taxes via :file:`data/account_tax_template_data.xml` file. The first tax you define that is purchase/sale also becomes the default purchase/sale tax for your products." msgstr "" -#: ../../content/developer/howtos/backend.rst:137 -msgid "Model fields" +#: ../../content/developer/howtos/accounting_localization.rst:231 +msgid "`addons/l10n_ae/data/account_tax_template_data.xml `_" msgstr "" -#: ../../content/developer/howtos/backend.rst:139 -msgid "Fields are used to define what the model can store and where. Fields are defined as attributes on the model class::" +#: ../../content/developer/howtos/accounting_localization.rst:239 +msgid "If some accounts should use default taxes, you can set them up in :file:`data/account_account_template_post_data.xml`" msgstr "" -#: ../../content/developer/howtos/backend.rst:150 -msgid "Common Attributes" +#: ../../content/developer/howtos/accounting_localization.rst:242 +msgid "Tax Report" msgstr "" -#: ../../content/developer/howtos/backend.rst:152 -msgid "Much like the model itself, its fields can be configured, by passing configuration attributes as parameters::" +#: ../../content/developer/howtos/accounting_localization.rst:248 +msgid "The tax report is declared in the :guilabel:`Invoicing` (`account`) app, but the report is only accessible when :guilabel:`Accounting` (`account_accountant`) is installed." msgstr "" -#: ../../content/developer/howtos/backend.rst:157 -msgid "Some attributes are available on all fields, here are the most common ones:" +#: ../../content/developer/howtos/accounting_localization.rst:251 +msgid ":ref:`Tax Report Line References `" msgstr "" -#: ../../content/developer/howtos/backend.rst:159 -msgid ":attr:`~odoo.fields.Field.string` (``unicode``, default: field's name)" +#: ../../content/developer/howtos/accounting_localization.rst:252 +msgid ":doc:`/applications/finance/accounting/reporting/declarations/tax_returns`" msgstr "" -#: ../../content/developer/howtos/backend.rst:160 -msgid "The label of the field in UI (visible by users)." +#: ../../content/developer/howtos/accounting_localization.rst:254 +msgid "In the previous section, you noticed the fields `invoice_repartition_line_ids` or `refund_repartition_line_ids` and probably understood nothing about them. Good news: you are not alone on this incomprehension. Bad news: you have to figure it out a bit. The topic is complicated. Indeed:" msgstr "" -#: ../../content/developer/howtos/backend.rst:162 -msgid ":attr:`~odoo.fields.Field.required` (``bool``, default: ``False``)" +#: ../../content/developer/howtos/accounting_localization.rst:259 +msgid "The simple version is that, in the tax template, you indicate in the invoice/refund repartition lines whether the base or a percentage of the tax needs to be reported in which report line (through the *minus/plus_report_line_ids* fields). It becomes clear also when you check the tax configuration in the Odoo interface (or check the docs :ref:`Tax References `, :ref:`Tax Repartition References `). And fortunately we have a presentation explaining the tax reports (as in version 13.0) in details:" msgstr "" -#: ../../content/developer/howtos/backend.rst:162 -msgid "If ``True``, the field can not be empty, it must either have a default value or always be given a value when creating a record." +#: ../../content/developer/howtos/accounting_localization.rst:268 +msgid "So, once you have properly configured taxes, you just need to add the :file:`data/account_tax_report_data.xml` file with a record for your `account.tax.report` at the beginning:" msgstr "" -#: ../../content/developer/howtos/backend.rst:164 -msgid ":attr:`~odoo.fields.Field.help` (``unicode``, default: ``''``)" +#: ../../content/developer/howtos/accounting_localization.rst:281 +msgid "... followed by the declaration of its lines, as `account.tax.report.line` records." msgstr "" -#: ../../content/developer/howtos/backend.rst:165 -msgid "Long-form, provides a help tooltip to users in the UI." +#: ../../content/developer/howtos/accounting_localization.rst:284 +msgid "`addons/l10n_au/data/account_tax_report_data.xml `_" msgstr "" -#: ../../content/developer/howtos/backend.rst:167 -msgid ":attr:`~odoo.fields.Field.index` (``bool``, default: ``False``)" +#: ../../content/developer/howtos/accounting_localization.rst:295 +msgid "Fiscal positions" msgstr "" -#: ../../content/developer/howtos/backend.rst:167 -msgid "Requests that Odoo create a `database index`_ on the column." +#: ../../content/developer/howtos/accounting_localization.rst:298 +msgid ":ref:`Fiscal Position References `" msgstr "" -#: ../../content/developer/howtos/backend.rst:170 -msgid "Simple fields" +#: ../../content/developer/howtos/accounting_localization.rst:299 +msgid ":doc:`/applications/finance/accounting/taxation/taxes/fiscal_positions`" msgstr "" -#: ../../content/developer/howtos/backend.rst:172 -msgid "There are two broad categories of fields: \"simple\" fields which are atomic values stored directly in the model's table and \"relational\" fields linking records (of the same model or of different models)." +#: ../../content/developer/howtos/accounting_localization.rst:301 +msgid "Specify fiscal positions in the :file:`data/account_fiscal_position_template_data.xml` file." msgstr "" -#: ../../content/developer/howtos/backend.rst:176 -msgid "Example of simple fields are :class:`~odoo.fields.Boolean`, :class:`~odoo.fields.Date`, :class:`~odoo.fields.Char`." +#: ../../content/developer/howtos/accounting_localization.rst:304 +msgid "`addons/l10n_es/data/account_fiscal_position_template_data.xml `_" msgstr "" -#: ../../content/developer/howtos/backend.rst:180 -msgid "Reserved fields" +#: ../../content/developer/howtos/accounting_localization.rst:313 +msgid "Final steps" msgstr "" -#: ../../content/developer/howtos/backend.rst:182 -msgid "Odoo creates a few fields in all models\\ [#autofields]_. These fields are managed by the system and shouldn't be written to. They can be read if useful or necessary:" +#: ../../content/developer/howtos/accounting_localization.rst:315 +msgid "The last step when installing a localization module is to try to apply its chart of accounts to the current company (if it does not already have one). The file :file:`data/account_chart_template_try_loading.xml` is responsible for that." msgstr "" -#: ../../content/developer/howtos/backend.rst:186 -msgid ":attr:`~odoo.fields.Model.id` (:class:`~odoo.fields.Id`)" +#: ../../content/developer/howtos/accounting_localization.rst:319 +msgid "`addons/l10n_ch/data/account_chart_template_data.xml `_" msgstr "" -#: ../../content/developer/howtos/backend.rst:187 -msgid "The unique identifier for a record in its model." +#: ../../content/developer/howtos/accounting_localization.rst:327 +msgid "Finally, you may add a demo company, so the localization can easily be tested in demo mode." msgstr "" -#: ../../content/developer/howtos/backend.rst:188 -msgid ":attr:`~odoo.fields.Model.create_date` (:class:`~odoo.fields.Datetime`)" +#: ../../content/developer/howtos/accounting_localization.rst:330 +msgid "`addons/l10n_ch/demo/demo_company.xml `_" msgstr "" -#: ../../content/developer/howtos/backend.rst:189 -msgid "Creation date of the record." +#: ../../content/developer/howtos/accounting_localization.rst:339 +msgid "Accounting reports" msgstr "" -#: ../../content/developer/howtos/backend.rst:190 -msgid ":attr:`~odoo.fields.Model.create_uid` (:class:`~odoo.fields.Many2one`)" +#: ../../content/developer/howtos/accounting_localization.rst:346 +msgid ":doc:`/applications/finance/accounting/reporting/overview`" msgstr "" -#: ../../content/developer/howtos/backend.rst:191 -msgid "User who created the record." +#: ../../content/developer/howtos/accounting_localization.rst:348 +msgid "Accounting reports should be added via a separate module `l10n_XX_reports` that should go to the `enterprise repository `_." msgstr "" -#: ../../content/developer/howtos/backend.rst:192 -msgid ":attr:`~odoo.fields.Model.write_date` (:class:`~odoo.fields.Datetime`)" +#: ../../content/developer/howtos/accounting_localization.rst:350 +msgid "Basic :file:`__manifest__.py` file for such a module looks as following:" msgstr "" -#: ../../content/developer/howtos/backend.rst:193 -msgid "Last modification date of the record." +#: ../../content/developer/howtos/accounting_localization.rst:370 +msgid "Functional overview of financial reports is here: :doc:`/applications/finance/accounting/reporting/overview/main_reports`." msgstr "" -#: ../../content/developer/howtos/backend.rst:195 -msgid ":attr:`~odoo.fields.Model.write_uid` (:class:`~odoo.fields.Many2one`)" +#: ../../content/developer/howtos/accounting_localization.rst:372 +msgid "Some good examples:" msgstr "" -#: ../../content/developer/howtos/backend.rst:195 -msgid "user who last modified the record." +#: ../../content/developer/howtos/accounting_localization.rst:374 +msgid "`l10n_ch_reports/data/account_financial_html_report_data.xml `_" msgstr "" -#: ../../content/developer/howtos/backend.rst:198 -msgid "Special fields" +#: ../../content/developer/howtos/accounting_localization.rst:375 +msgid "`l10n_be_reports/data/account_financial_html_report_data.xml `_" msgstr "" -#: ../../content/developer/howtos/backend.rst:200 -msgid "By default, Odoo also requires a ``name`` field on all models for various display and search behaviors. The field used for these purposes can be overridden by setting :attr:`~odoo.models.Model._rec_name`." +#: ../../content/developer/howtos/accounting_localization.rst:377 +msgid "For the fields' meaning, dive directly to the source:" msgstr "" -#: ../../content/developer/howtos/backend.rst:204 -msgid "Define a model" +#: ../../content/developer/howtos/accounting_localization.rst:379 +msgid "`account.financial.html.report (v15) `_" msgstr "" -#: ../../content/developer/howtos/backend.rst:206 -msgid "Define a new data model *Course* in the *openacademy* module. A course has a title and a description. Courses must have a title." +#: ../../content/developer/howtos/accounting_localization.rst:380 +msgid "`account.financial.html.report.line (v15) `_" msgstr "" -#: ../../content/developer/howtos/backend.rst:210 -msgid "Data files" +#: ../../content/developer/howtos/accounting_localization.rst:382 +msgid "The menu for the new report is created automatically. By default, it is located under :menuselection:`Accounting -> Reporting`. To create a dedicated section in the :guilabel:`Reporting` menu, you need to create a new `ir.ui.menu` record (usually in the main `l10n_XX` module) and set it as `parent_id` field in the `account.financial.html.report` model. Example for the Belgian localization:" msgstr "" -#: ../../content/developer/howtos/backend.rst:212 -msgid "Odoo is a highly data driven system. Although behavior is customized using Python_ code part of a module's value is in the data it sets up when loaded." +#: ../../content/developer/howtos/accounting_localization.rst:385 +msgid "`ir.ui.menu record in l10n_be `_" msgstr "" -#: ../../content/developer/howtos/backend.rst:215 -msgid "some modules exist solely to add data into Odoo" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:218 -msgid "Module data is declared via :ref:`data files `, XML files with ```` elements. Each ```` element creates or updates a database record." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:232 -msgid "``model`` is the name of the Odoo model for the record." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:233 -msgid "``id`` is an :term:`external identifier`, it allows referring to the record (without having to know its in-database identifier)." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:235 -msgid "```` elements have a ``name`` which is the name of the field in the model (e.g. ``description``). Their body is the field's value." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:238 -msgid "Data files have to be declared in the manifest file to be loaded, they can be declared in the ``'data'`` list (always loaded) or in the ``'demo'`` list (only loaded in demonstration mode)." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:242 -msgid "Define demonstration data" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:244 -msgid "Create demonstration data filling the *Courses* model with a few demonstration courses." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:247 -msgid "The content of the data files is only loaded when a module is installed or updated." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:250 -msgid "After making some changes, do not forget to use :ref:`odoo-bin -u openacademy ` to save the changes to your database." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:257 -msgid "Actions and Menus" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:259 -msgid "Actions and menus are regular records in database, usually declared through data files. Actions can be triggered in three ways:" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:262 -msgid "by clicking on menu items (linked to specific actions)" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:263 -msgid "by clicking on buttons in views (if these are connected to actions)" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:264 -msgid "as contextual actions on object" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:266 -msgid "Because menus are somewhat complex to declare there is a ```` shortcut to declare an ``ir.ui.menu`` and connect it to the corresponding action more easily." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:283 -msgid "The action must be declared before its corresponding menu in the XML file." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:285 -msgid "Data files are executed sequentially, the action's ``id`` must be present in the database before the menu can be created." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:288 -msgid "Define new menu entries" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:290 -msgid "Define new menu entries to access courses under the OpenAcademy menu entry. A user should be able to :" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:293 -msgid "display a list of all the courses" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:294 -msgid "create/modify courses" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:297 -msgid "Basic views" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:299 -msgid "Views define the way the records of a model are displayed. Each type of view represents a mode of visualization (a list of records, a graph of their aggregation, …). Views can either be requested generically via their type (e.g. *a list of partners*) or specifically via their id. For generic requests, the view with the correct type and the lowest priority will be used (so the lowest-priority view of each type is the default view for that type)." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:307 -msgid ":ref:`View inheritance ` allows altering views declared elsewhere (adding or removing content)." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:311 -msgid "Generic view declaration" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:313 -msgid "A view is declared as a record of the model ``ir.ui.view``. The view type is implied by the root element of the ``arch`` field:" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:327 -msgid "The view's content is XML." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:330 -msgid "The ``arch`` field must thus be declared as ``type=\"xml\"`` to be parsed correctly." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:334 -#: ../../content/developer/howtos/backend.rst:855 -msgid "Tree views" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:336 -msgid "Tree views, also called list views, display records in a tabular form." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:338 -msgid "Their root element is ````. The simplest form of the tree view simply lists all the fields to display in the table (each field as a column):" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:351 -msgid "Form views" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:353 -msgid "Forms are used to create and edit single records." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:356 -msgid "Their root element is ``
``. They are composed of high-level structure elements (groups, notebooks) and interactive elements (buttons and fields):" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:385 -msgid "Customise form view using XML" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:387 -msgid "Create your own form view for the Course object. Data displayed should be: the name and the description of the course." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:390 -msgid "Notebooks" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:392 -msgid "In the Course form view, put the description field under a tab, such that it will be easier to add other tabs later, containing additional information." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:396 -msgid "Form views can also use plain HTML for more flexible layouts:" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:423 -#: ../../content/developer/howtos/backend.rst:928 -#: ../../content/developer/howtos/backend.rst:970 -msgid "Search views" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:425 -msgid "Search views customize the search field associated with the list view (and other aggregated views). Their root element is ```` and they're composed of fields defining which fields can be searched on:" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:436 -msgid "If no search view exists for the model, Odoo generates one which only allows searching on the ``name`` field." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:439 -msgid "Search courses" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:441 -msgid "Allow searching for courses based on their title or their description." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:444 -#: ../../content/developer/howtos/website.rst:644 -msgid "Relations between models" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:446 -msgid "A record from a model may be related to a record from another model. For instance, a sale order record is related to a client record that contains the client data; it is also related to its sale order line records." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:450 -msgid "Create a session model" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:452 -msgid "For the module Open Academy, we consider a model for *sessions*: a session is an occurrence of a course taught at a given time for a given audience." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:455 -msgid "Create a model for *sessions*. A session has a name, a start date, a duration and a number of seats. Add an action and a menu item to display them. Make the new model visible via a menu item." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:460 -#: ../../content/developer/reference/javascript_reference.rst:2053 -msgid "Relational fields" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:462 -msgid "Relational fields link records, either of the same model (hierarchies) or between different models." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:465 -msgid "Relational field types are:" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:472 -msgid ":class:`Many2one(other_model, ondelete='set null') `" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:468 -msgid "A simple link to an other object::" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:472 -msgid "`foreign keys `_" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:486 -msgid ":class:`One2many(other_model, related_field) `" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:475 -msgid "A virtual relationship, inverse of a :class:`~odoo.fields.Many2one`. A :class:`~odoo.fields.One2many` behaves as a container of records, accessing it results in a (possibly empty) set of records::" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:484 -msgid "Because a :class:`~odoo.fields.One2many` is a virtual relationship, there *must* be a :class:`~odoo.fields.Many2one` field in the :samp:`{other_model}`, and its name *must* be :samp:`{related_field}`" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:494 -msgid ":class:`Many2many(other_model) `" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:489 -msgid "Bidirectional multiple relationship, any record on one side can be related to any number of records on the other side. Behaves as a container of records, accessing it also results in a possibly empty set of records::" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:496 -msgid "Many2one relations" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:498 -msgid "Using a many2one, modify the *Course* and *Session* models to reflect their relation with other models:" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:501 -msgid "A course has a *responsible* user; the value of that field is a record of the built-in model ``res.users``." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:503 -msgid "A session has an *instructor*; the value of that field is a record of the built-in model ``res.partner``." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:505 -msgid "A session is related to a *course*; the value of that field is a record of the model ``openacademy.course`` and is required." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:507 -msgid "Adapt the views." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:509 -msgid "Inverse one2many relations" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:511 -msgid "Using the inverse relational field one2many, modify the models to reflect the relation between courses and sessions." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:514 -msgid "Multiple many2many relations" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:516 -msgid "Using the relational field many2many, modify the *Session* model to relate every session to a set of *attendees*. Attendees will be represented by partner records, so we will relate to the built-in model ``res.partner``. Adapt the views accordingly." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:522 -#: ../../content/developer/reference/javascript_reference.rst:411 -#: ../../content/developer/reference/views.rst:184 -msgid "Inheritance" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:525 -msgid "Model inheritance" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:527 -msgid "Odoo provides two *inheritance* mechanisms to extend an existing model in a modular way." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:530 -msgid "The first inheritance mechanism allows a module to modify the behavior of a model defined in another module:" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:533 -msgid "add fields to a model," -msgstr "" - -#: ../../content/developer/howtos/backend.rst:534 -msgid "override the definition of fields on a model," -msgstr "" - -#: ../../content/developer/howtos/backend.rst:535 -msgid "add constraints to a model," -msgstr "" - -#: ../../content/developer/howtos/backend.rst:536 -msgid "add methods to a model," -msgstr "" - -#: ../../content/developer/howtos/backend.rst:537 -msgid "override existing methods on a model." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:539 -msgid "The second inheritance mechanism (delegation) allows to link every record of a model to a record in a parent model, and provides transparent access to the fields of the parent record." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:548 -msgid ":attr:`~odoo.models.Model._inherit`" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:549 -msgid ":attr:`~odoo.models.Model._inherits`" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:552 -msgid "View inheritance" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:554 -msgid "Instead of modifying existing views in place (by overwriting them), Odoo provides view inheritance where children \"extension\" views are applied on top of root views, and can add or remove content from their parent." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:558 -msgid "An extension view references its parent using the ``inherit_id`` field, and instead of a single view its ``arch`` field is composed of any number of ``xpath`` elements selecting and altering the content of their parent view:" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:579 -msgid "``expr``" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:579 -msgid "An XPath_ expression selecting a single element in the parent view. Raises an error if it matches no element or more than one" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:595 -msgid "``position``" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:582 -msgid "Operation to apply to the matched element:" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:584 -msgid "``inside``" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:585 -msgid "appends ``xpath``'s body at the end of the matched element" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:587 -#: ../../content/developer/reference/qweb.rst:528 -#: ../../content/developer/reference/views.rst:282 -msgid "``replace``" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:587 -msgid "replaces the matched element with the ``xpath``'s body, replacing any ``$0`` node occurrence in the new body with the original element" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:589 -#: ../../content/developer/reference/qweb.rst:522 -#: ../../content/developer/reference/views.rst:288 -msgid "``before``" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:590 -msgid "inserts the ``xpath``'s body as a sibling before the matched element" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:591 -#: ../../content/developer/reference/qweb.rst:524 -#: ../../content/developer/reference/views.rst:285 -msgid "``after``" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:592 -msgid "inserts the ``xpaths``'s body as a sibling after the matched element" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:595 -#: ../../content/developer/reference/qweb.rst:533 -#: ../../content/developer/reference/views.rst:308 -msgid "``attributes``" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:594 -msgid "alters the attributes of the matched element using special ``attribute`` elements in the ``xpath``'s body" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:599 -msgid "When matching a single element, the ``position`` attribute can be set directly on the element to be found. Both inheritances below will give the same result." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:613 -msgid "Alter existing content" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:615 -msgid "Using model inheritance, modify the existing *Partner* model to add an ``instructor`` boolean field, and a many2many field that corresponds to the session-partner relation" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:618 -msgid "Using view inheritance, display this fields in the partner form view" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:621 -msgid "Domains" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:623 -msgid "In Odoo, :ref:`reference/orm/domains` are values that encode conditions on records. A domain is a list of criteria used to select a subset of a model's records. Each criteria is a triple with a field name, an operator and a value." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:627 -msgid "For instance, when used on the *Product* model the following domain selects all *services* with a unit price over *1000*::" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:632 -msgid "By default criteria are combined with an implicit AND. The logical operators ``&`` (AND), ``|`` (OR) and ``!`` (NOT) can be used to explicitly combine criteria. They are used in prefix position (the operator is inserted before its arguments rather than between). For instance to select products \"which are services *OR* have a unit price which is *NOT* between 1000 and 2000\"::" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:644 -msgid "A ``domain`` parameter can be added to relational fields to limit valid records for the relation when trying to select records in the client interface." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:647 -msgid "Domains on relational fields" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:649 -msgid "When selecting the instructor for a *Session*, only instructors (partners with ``instructor`` set to ``True``) should be visible." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:652 -msgid "More complex domains" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:654 -msgid "Create new partner categories *Teacher / Level 1* and *Teacher / Level 2*. The instructor for a session can be either an instructor or a teacher (of any level)." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:659 -msgid "Computed fields and default values" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:661 -msgid "So far fields have been stored directly in and retrieved directly from the database. Fields can also be *computed*. In that case, the field's value is not retrieved from the database but computed on-the-fly by calling a method of the model." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:666 -msgid "To create a computed field, create a field and set its attribute :attr:`~odoo.fields.Field.compute` to the name of a method. The computation method should simply set the value of the field to compute on every record in ``self``." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:671 -msgid "``self`` is a collection" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:674 -msgid "The object ``self`` is a *recordset*, i.e., an ordered collection of records. It supports the standard Python operations on collections, like ``len(self)`` and ``iter(self)``, plus extra set operations like ``recs1 + recs2``." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:679 -msgid "Iterating over ``self`` gives the records one by one, where each record is itself a collection of size 1. You can access/assign fields on single records by using the dot notation, like ``record.name``." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:699 -msgid "Dependencies" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:701 -msgid "The value of a computed field usually depends on the values of other fields on the computed record. The ORM expects the developer to specify those dependencies on the compute method with the decorator :func:`~odoo.api.depends`. The given dependencies are used by the ORM to trigger the recomputation of the field whenever some of its dependencies have been modified::" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:720 -msgid "Computed fields" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:722 -msgid "Add the percentage of taken seats to the *Session* model" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:723 -msgid "Display that field in the tree and form views" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:724 -msgid "Display the field as a progress bar" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:727 -msgid "Default values" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:729 -msgid "Any field can be given a default value. In the field definition, add the option ``default=X`` where ``X`` is either a Python literal value (boolean, integer, float, string), or a function taking a recordset and returning a value::" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:738 -msgid "The object ``self.env`` gives access to request parameters and other useful things:" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:741 -msgid "``self.env.cr`` or ``self._cr`` is the database *cursor* object; it is used for querying the database" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:743 -msgid "``self.env.uid`` or ``self._uid`` is the current user's database id" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:744 -msgid "``self.env.user`` is the current user's record" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:745 -msgid "``self.env.context`` or ``self._context`` is the context dictionary" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:746 -msgid "``self.env.ref(xml_id)`` returns the record corresponding to an XML id" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:747 -msgid "``self.env[model_name]`` returns an instance of the given model" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:749 -msgid "Active objects – Default values" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:751 -msgid "Define the start_date default value as today (see :class:`~odoo.fields.Date`)." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:753 -msgid "Add a field ``active`` in the class Session, and set sessions as active by default." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:757 -msgid "Onchange" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:759 -msgid "The \"onchange\" mechanism provides a way for the client interface to update a form whenever the user has filled in a value in a field, without saving anything to the database." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:763 -msgid "For instance, suppose a model has three fields ``amount``, ``unit_price`` and ``price``, and you want to update the price on the form when any of the other fields is modified. To achieve this, define a method where ``self`` represents the record in the form view, and decorate it with :func:`~odoo.api.onchange` to specify on which field it has to be triggered. Any change you make on ``self`` will be reflected on the form." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:792 -msgid "For computed fields, valued ``onchange`` behavior is built-in as can be seen by playing with the *Session* form: change the number of seats or participants, and the ``taken_seats`` progressbar is automatically updated." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:796 -msgid "Warning" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:798 -msgid "Add an explicit onchange to warn about invalid values, like a negative number of seats, or more participants than seats." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:802 -msgid "Model constraints" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:804 -msgid "Odoo provides two ways to set up automatically verified invariants: :func:`Python constraints ` and :attr:`SQL constraints `." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:808 -msgid "A Python constraint is defined as a method decorated with :func:`~odoo.api.constrains`, and invoked on a recordset. The decorator specifies which fields are involved in the constraint, so that the constraint is automatically evaluated when one of them is modified. The method is expected to raise an exception if its invariant is not satisfied::" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:823 -msgid "Add Python constraints" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:825 -msgid "Add a constraint that checks that the instructor is not present in the attendees of his/her own session." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:828 -msgid "SQL constraints are defined through the model attribute :attr:`~odoo.models.Model._sql_constraints`. The latter is assigned to a list of triples of strings ``(name, sql_definition, message)``, where ``name`` is a valid SQL constraint name, ``sql_definition`` is a table_constraint_ expression, and ``message`` is the error message." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:834 -msgid "Add SQL constraints" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:836 -msgid "With the help of `PostgreSQL's documentation`_ , add the following constraints:" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:839 -msgid "CHECK that the course description and the course title are different" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:840 -msgid "Make the Course's name UNIQUE" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:842 -msgid "Exercise 6 - Add a duplicate option" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:844 -msgid "Since we added a constraint for the Course name uniqueness, it is not possible to use the \"duplicate\" function anymore (:menuselection:`Form --> Duplicate`)." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:848 -msgid "Re-implement your own \"copy\" method which allows to duplicate the Course object, changing the original name into \"Copy of [original name]\"." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:852 -msgid "Advanced Views" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:857 -msgid "Tree views can take supplementary attributes to further customize their behavior:" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:885 -#: ../../content/developer/reference/views.rst:978 -#: ../../content/developer/reference/views.rst:1411 -#: ../../content/developer/reference/views.rst:1532 -msgid "``decoration-{$name}``" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:861 -#: ../../content/developer/reference/views.rst:965 -#: ../../content/developer/reference/views.rst:1407 -msgid "allow changing the style of a row's text based on the corresponding record's attributes." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:864 -#: ../../content/developer/reference/views.rst:104 -#: ../../content/developer/reference/views.rst:968 -msgid "Values are Python expressions. For each record, the expression is evaluated with the record's attributes as context values and if ``true``, the corresponding style is applied to the row. Here are some of the other values available in the context:" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:869 -#: ../../content/developer/reference/views.rst:109 -#: ../../content/developer/reference/views.rst:973 -msgid "``uid``: the id of the current user," -msgstr "" - -#: ../../content/developer/howtos/backend.rst:870 -#: ../../content/developer/reference/views.rst:110 -#: ../../content/developer/reference/views.rst:974 -msgid "``today``: the current local date as a string of the form ``YYYY-MM-DD``," -msgstr "" - -#: ../../content/developer/howtos/backend.rst:871 -#: ../../content/developer/reference/views.rst:111 -#: ../../content/developer/reference/views.rst:975 -msgid "``now``: same as ``today`` with the addition of the current time. This value is formatted as ``YYYY-MM-DD hh:mm:ss``." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:874 -msgid "``{$name}`` can be ``bf`` (``font-weight: bold``), ``it`` (``font-style: italic``), or any `bootstrap contextual color `_ (``danger``, ``info``, ``muted``, ``primary``, ``success`` or ``warning``)." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:890 -#: ../../content/developer/reference/views.rst:1391 -msgid "``editable``" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:888 -msgid "Either ``\"top\"`` or ``\"bottom\"``. Makes the tree view editable in-place (rather than having to go through the form view), the value is the position where new rows appear." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:892 -msgid "List coloring" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:894 -msgid "Modify the Session tree view in such a way that sessions lasting less than 5 days are colored blue, and the ones lasting more than 15 days are colored red." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:899 -msgid "Calendars" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:901 -msgid "Displays records as calendar events. Their root element is ```` and their most common attributes are:" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:907 -#: ../../content/developer/reference/views.rst:410 -#: ../../content/developer/reference/views.rst:962 -#: ../../content/developer/reference/views.rst:1342 -msgid "``color``" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:905 -msgid "The name of the field used for *color segmentation*. Colors are automatically distributed to events, but events in the same color segment (records which have the same value for their ``@color`` field) will be given the same color." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:909 -msgid "``date_start``" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:910 -msgid "record's field holding the start date/time for the event" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:911 -msgid "``date_stop`` (optional)" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:912 -msgid "record's field holding the end date/time for the event" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:914 -#: ../../content/developer/reference/views.rst:897 -#: ../../content/developer/reference/views.rst:1017 -#: ../../content/developer/reference/views.rst:1435 -#: ../../content/developer/reference/views.rst:1493 -#: ../../content/developer/reference/views.rst:1682 -#: ../../content/developer/reference/views.rst:1727 -#: ../../content/developer/reference/views.rst:1843 -msgid "``string``" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:914 -msgid "record's field to define the label for each calendar event" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:922 -msgid "Calendar view" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:924 -msgid "Add a Calendar view to the *Session* model enabling the user to view the events associated to the Open Academy." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:930 -msgid "Search view ```` elements can have a ``@filter_domain`` that overrides the domain generated for searching on the given field. In the given domain, ``self`` represents the value entered by the user. In the example below, it is used to search on both fields ``name`` and ``description``." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:935 -msgid "Search views can also contain ```` elements, which act as toggles for predefined searches. Filters must have one of the following attributes:" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:938 -#: ../../content/developer/reference/views.rst:850 -#: ../../content/developer/reference/views.rst:1801 -#: ../../content/developer/reference/views.rst:1878 -msgid "``domain``" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:939 -msgid "add the given domain to the current search" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:942 -#: ../../content/developer/howtos/web.rst:1707 -#: ../../content/developer/reference/data.rst:72 -#: ../../content/developer/reference/views.rst:852 -#: ../../content/developer/reference/views.rst:1273 -#: ../../content/developer/reference/views.rst:1481 -#: ../../content/developer/reference/views.rst:1606 -#: ../../content/developer/reference/views.rst:1803 -#: ../../content/developer/reference/views.rst:1871 -#: ../../content/developer/reference/views.rst:1973 -msgid "``context``" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:941 -msgid "add some context to the current search; use the key ``group_by`` to group results on the given field name" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:961 -msgid "To use a non-default search view in an action, it should be linked using the ``search_view_id`` field of the action record." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:964 -msgid "The action can also set default values for search fields through its ``context`` field: context keys of the form :samp:`search_default_{field_name}` will initialize *field_name* with the provided value. Search filters must have an optional ``@name`` to have a default and behave as booleans (they can only be enabled by default)." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:972 -msgid "Add a button to filter the courses for which the current user is the responsible in the course search view. Make it selected by default." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:974 -msgid "Add a button to group courses by responsible user." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:977 -#: ../../content/developer/reference/views.rst:945 -msgid "Gantt" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:981 -msgid "The gantt view requires the web_gantt module which is present in :ref:`the enterprise edition ` version." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:984 -msgid "Horizontal bar charts typically used to show project planning and advancement, their root element is ````." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:995 -msgid "Gantt charts" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:997 -msgid "Add a Gantt Chart enabling the user to view the sessions scheduling linked to the Open Academy module. The sessions should be grouped by instructor." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1001 -msgid "Graph views" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1003 -msgid "Graph views allow aggregated overview and analysis of models, their root element is ````." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1007 -msgid "Pivot views (element ````) a multidimensional table, allows the selection of filers and dimensions to get the right aggregated dataset before moving to a more graphical overview. The pivot view shares the same content definition as graph views." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1012 -msgid "Graph views have 4 display modes, the default mode is selected using the ``@type`` attribute." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1019 -msgid "Bar (default)" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1016 -msgid "a bar chart, the first dimension is used to define groups on the horizontal axis, other dimensions define aggregated bars within each group." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1019 -msgid "By default bars are side-by-side, they can be stacked by using ``@stacked=\"True\"`` on the ````" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1021 -msgid "Line" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1022 -msgid "2-dimensional line chart" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1024 -msgid "Pie" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1024 -msgid "2-dimensional pie" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1026 -msgid "Graph views contain ```` with a mandatory ``@type`` attribute taking the values:" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1029 -#: ../../content/developer/reference/views.rst:1151 -#: ../../content/developer/reference/views.rst:1733 -msgid "``row`` (default)" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1030 -msgid "the field should be aggregated by default" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1032 -#: ../../content/developer/reference/views.rst:1156 -#: ../../content/developer/reference/views.rst:1737 -msgid "``measure``" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1032 -msgid "the field should be aggregated rather than grouped on" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1043 -msgid "Graph views perform aggregations on database values, they do not work with non-stored computed fields." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1046 -msgid "Graph view" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1048 -msgid "Add a Graph view in the Session object that displays, for each course, the number of attendees under the form of a bar chart." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1052 -#: ../../content/developer/reference/views.rst:1175 -msgid "Kanban" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1054 -msgid "Used to organize tasks, production processes, etc… their root element is ````." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1057 -msgid "A kanban view shows a set of cards possibly grouped in columns. Each card represents a record, and each column the values of an aggregation field." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1060 -msgid "For instance, project tasks may be organized by stage (each column is a stage), or by responsible (each column is a user), and so on." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1063 -msgid "Kanban views define the structure of each card as a mix of form elements (including basic HTML) and :ref:`reference/qweb`." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1066 -msgid "Kanban view" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1068 -msgid "Add a Kanban view that displays sessions grouped by course (columns are thus courses)." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1072 -msgid "Security" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1074 -msgid "Access control mechanisms must be configured to achieve a coherent security policy." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1078 -msgid "Group-based access control mechanisms" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1080 -msgid "Groups are created as normal records on the model ``res.groups``, and granted menu access via menu definitions. However even without a menu, objects may still be accessible indirectly, so actual object-level permissions (read, write, create, unlink) must be defined for groups. They are usually inserted via CSV files inside modules. It is also possible to restrict access to specific fields on a view or object using the field's groups attribute." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1088 -msgid "Access rights" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1090 -msgid "Access rights are defined as records of the model ``ir.model.access``. Each access right is associated to a model, a group (or no group for global access), and a set of permissions: read, write, create, unlink. Such access rights are usually created by a CSV file named after its model: ``ir.model.access.csv``." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1102 -msgid "Add access control through the Odoo interface" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1104 -msgid "Create a new user \"John Smith\". Then create a group \"OpenAcademy / Session Read\" with read access to the *Session* model." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1107 -msgid "Add access control through data files in your module" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1109 -msgid "Using data files," -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1111 -msgid "Create a group *OpenAcademy / Manager* with full access to all OpenAcademy models" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1113 -msgid "Make *Session* and *Course* readable by all users" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1116 -msgid "Record rules" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1118 -msgid "A record rule restricts the access rights to a subset of records of the given model. A rule is a record of the model ``ir.rule``, and is associated to a model, a number of groups (many2many field), permissions to which the restriction applies, and a domain. The domain specifies to which records the access rights are limited." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1124 -msgid "Here is an example of a rule that prevents the deletion of leads that are not in state ``cancel``. Notice that the value of the field ``groups`` must follow the same convention as the method :meth:`~odoo.models.Model.write` of the ORM." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1141 -msgid "Record rule" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1143 -msgid "Add a record rule for the model Course and the group \"OpenAcademy / Manager\", that restricts ``write`` and ``unlink`` accesses to the responsible of a course. If a course has no responsible, all users of the group must be able to modify it." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1151 -msgid "Wizards" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1153 -msgid "Wizards describe interactive sessions with the user (or dialog boxes) through dynamic forms. A wizard is simply a model that extends the class :class:`~odoo.models.TransientModel` instead of :class:`~odoo.models.Model`. The class :class:`~odoo.models.TransientModel` extends :class:`~odoo.models.Model` and reuse all its existing mechanisms, with the following particularities:" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1160 -msgid "Wizard records are not meant to be persistent; they are automatically deleted from the database after a certain time. This is why they are called *transient*." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1163 -msgid "Wizard records may refer to regular records or wizard records through relational fields(many2one or many2many), but regular records *cannot* refer to wizard records through a many2one field." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1167 -msgid "We want to create a wizard that allow users to create attendees for a particular session, or for a list of sessions at once." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1170 -msgid "Define the wizard" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1172 -msgid "Create a wizard model with a many2one relationship with the *Session* model and a many2many relationship with the *Partner* model." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1176 -msgid "Launching wizards" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1178 -msgid "Wizards are simply :ref:`window actions ` with a ``target`` field set to the value ``new``, which opens the view (usually :ref:`a form `) in a separate dialog. The action may be triggered via a menu item, but is more generally triggered by a button." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1184 -msgid "An other way to launch wizards is through the :menuselection:`Action` menu of a tree or form view. This is done through the ``binding_model_id`` field of the action. Setting this field will make the action appear on the views of the model the action is \"bound\" to." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1201 -msgid "While wizards use regular views and buttons, normally clicking any button in a form would first save the form then close the dialog. Because this is often undesirable in wizards, a special attribute ``special=\"cancel\"`` is available which immediately closes the wizard without saving the form." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1206 -msgid "Launch the wizard" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1208 -msgid "Define a form view for the wizard." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1209 -msgid "Add the action to launch it in the context of the *Session* model." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1210 -msgid "Define a default value for the session field in the wizard; use the context parameter ``self._context`` to retrieve the current session." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1213 -msgid "Register attendees" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1215 -msgid "Add buttons to the wizard, and implement the corresponding method for adding the attendees to the given session." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1218 -msgid "Register attendees to multiple sessions" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1220 -msgid "Modify the wizard model so that attendees can be registered to multiple sessions." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1224 -msgid "Internationalization" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1226 -msgid "Each module can provide its own translations within the i18n directory, by having files named LANG.po where LANG is the locale code for the language, or the language and country combination when they differ (e.g. pt.po or pt_BR.po). Translations will be loaded automatically by Odoo for all enabled languages. Developers always use English when creating a module, then export the module terms using Odoo's gettext POT export feature (:menuselection:`Settings --> Translations --> Import/Export --> Export Translation` without specifying a language), to create the module template POT file, and then derive the translated PO files. Many IDE's have plugins or modes for editing and merging PO/POT files." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1237 -msgid "The Portable Object files generated by Odoo are published on `Transifex `__, making it easy to translate the software." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1252 -msgid "By default Odoo's POT export only extracts labels inside XML files or inside field definitions in Python code, but any Python string can be translated this way by surrounding it with the function :func:`odoo._` (e.g. ``_(\"Label\")``)" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1257 -msgid "Translate a module" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1259 -msgid "Choose a second language for your Odoo installation. Translate your module using the facilities provided by Odoo." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1263 -msgid "Reporting" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1266 -msgid "Printed reports" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1268 -msgid "Odoo uses a report engine based on :ref:`reference/qweb`, `Twitter Bootstrap`_ and Wkhtmltopdf_." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1271 -msgid "A report is a combination two elements:" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1273 -msgid "an ``ir.actions.report`` which configures various basic parameters for the report (default type, whether the report should be saved to the database after generation,…)" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1294 -msgid "Because it largerly a standard action, as with :ref:`howto/module/wizard` it is generally useful to add the report as a *contextual item* on the tree and / or form views of the model being reported on via the ``binding_model_id`` field." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1299 -msgid "Here we are also using ``binding_type`` in order for the report to be in the *report* contextual menu rather than the *action* one. There is no technical difference but putting elements in the right place helps users." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1303 -msgid "A standard :ref:`QWeb view ` for the actual report:" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1317 -msgid "the standard rendering context provides a number of elements, the most important being:" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1320 -#: ../../content/developer/reference/reports.rst:70 -msgid "``docs``" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1321 -msgid "the records for which the report is printed" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1323 -#: ../../content/developer/reference/reports.rst:31 -msgid "``user``" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1323 -msgid "the user printing the report" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1325 -msgid "Because reports are standard web pages, they are available through a URL and output parameters can be manipulated through this URL, for instance the HTML version of the *Invoice* report is available through http://localhost:8069/report/html/account.report_invoice/1 (if ``account`` is installed) and the PDF version through http://localhost:8069/report/pdf/account.report_invoice/1." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1336 -msgid "If it appears that your PDF report is missing the styles (i.e. the text appears but the style/layout is different from the html version), probably your wkhtmltopdf_ process cannot reach your web server to download them." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1340 -msgid "If you check your server logs and see that the CSS styles are not being downloaded when generating a PDF report, most surely this is the problem." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1343 -msgid "The wkhtmltopdf_ process will use the ``web.base.url`` system parameter as the *root path* to all linked files, but this parameter is automatically updated each time the Administrator is logged in. If your server resides behind some kind of proxy, that could not be reachable. You can fix this by adding one of these system parameters:" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1349 -msgid "``report.url``, pointing to an URL reachable from your server (probably ``http://localhost:8069`` or something similar). It will be used for this particular purpose only." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1353 -msgid "``web.base.url.freeze``, when set to ``True``, will stop the automatic updates to ``web.base.url``." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1356 -msgid "Create a report for the Session model" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1358 -msgid "For each session, it should display session's name, its start and end, and list the session's attendees." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1362 -msgid "Dashboards" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1364 -msgid "Define a Dashboard" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1366 -msgid "Define a dashboard containing the graph view you created, the sessions calendar view and a list view of the courses (switchable to a form view). This dashboard should be available through a menuitem in the menu, and automatically displayed in the web client when the OpenAcademy main menu is selected." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1373 -msgid "WebServices" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1375 -msgid "The web-service module offer a common interface for all web-services :" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1377 -msgid "XML-RPC" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1378 -msgid "JSON-RPC" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1380 -msgid "Business objects can also be accessed via the distributed object mechanism. They can all be modified via the client interface with contextual views." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1384 -msgid "Odoo is accessible through XML-RPC/JSON-RPC interfaces, for which libraries exist in many languages." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1388 -msgid "XML-RPC Library" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1390 -msgid "The following example is a Python 3 program that interacts with an Odoo server with the library ``xmlrpc.client``::" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1409 -msgid "Add a new service to the client" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1411 -msgid "Write a Python program able to send XML-RPC requests to a PC running Odoo (yours, or your instructor's). This program should display all the sessions, and their corresponding number of seats. It should also create a new session for one of the courses." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1447 -msgid "Instead of using a hard-coded course id, the code can look up a course by name::" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1458 -msgid "JSON-RPC Library" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1460 -msgid "The following example is a Python 3 program that interacts with an Odoo server with the standard Python libraries ``urllib.request`` and ``json``. This example assumes the **Productivity** app (``note``) is installed::" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1504 -msgid "Examples can be easily adapted from XML-RPC to JSON-RPC." -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1508 -msgid "There are a number of high-level APIs in various languages to access Odoo systems without *explicitly* going through XML-RPC or JSON-RPC, such as:" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1511 -msgid "https://github.com/akretion/ooor" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1512 -msgid "https://github.com/OCA/odoorpc" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1513 -msgid "https://github.com/nicolas-van/openerp-client-lib" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1514 -msgid "http://pythonhosted.org/OdooRPC" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1515 -msgid "https://github.com/abhishek-jaiswal/php-openerp-lib" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1517 -msgid "it is possible to :ref:`disable the automatic creation of some fields `" -msgstr "" - -#: ../../content/developer/howtos/backend.rst:1519 -msgid "writing raw SQL queries is possible, but requires care as it bypasses all Odoo authentication and security mechanisms." +#: ../../content/developer/howtos/accounting_localization.rst:386 +msgid "`parent_id field in l10n_be_reports (v15) `_" msgstr "" #: ../../content/developer/howtos/company.rst:6 @@ -1797,8 +507,8 @@ msgid "When the field `company_id` is made required on a model, a good practice msgstr "" #: ../../content/developer/howtos/company.rst:168 -#: ../../content/developer/reference/javascript_reference.rst:1421 -#: ../../content/developer/reference/views.rst:6 +#: ../../content/developer/reference/backend/views.rst:6 +#: ../../content/developer/reference/frontend/javascript_reference.rst:1200 msgid "Views" msgstr "" @@ -1819,39 +529,38 @@ msgid "This is achieved with security rules based on `company_ids`, which contai msgstr "" #: ../../content/developer/howtos/company.rst:229 -#: ../../content/developer/howtos/web.rst:134 -#: ../../content/developer/howtos/web.rst:1875 -#: ../../content/developer/howtos/website.rst:490 -#: ../../content/developer/reference/actions.rst:176 -#: ../../content/developer/reference/orm.rst:605 -#: ../../content/developer/reference/orm.rst:607 -#: ../../content/developer/reference/orm.rst:722 -#: ../../content/developer/reference/orm.rst:879 -#: ../../content/developer/reference/qweb.rst:340 -#: ../../content/developer/reference/qweb.rst:421 -#: ../../content/developer/reference/security.rst:91 -#: ../../content/developer/reference/translations.rst:21 -#: ../../content/developer/reference/views.rst:13 -#: ../../content/developer/reference/views.rst:70 -#: ../../content/developer/reference/views.rst:81 -#: ../../content/developer/reference/views.rst:179 -#: ../../content/developer/reference/views.rst:241 -#: ../../content/developer/reference/views.rst:818 -#: ../../content/developer/reference/views.rst:938 -#: ../../content/developer/reference/views.rst:940 -#: ../../content/developer/reference/views.rst:1221 -#: ../../content/developer/reference/views.rst:1300 -#: ../../content/developer/reference/views.rst:1316 -#: ../../content/developer/reference/views.rst:1483 -#: ../../content/developer/reference/views.rst:2125 -#: ../../content/developer/webservices/iap.rst:121 -#: ../../content/developer/webservices/iap.rst:225 -#: ../../content/developer/webservices/iap.rst:407 -#: ../../content/developer/webservices/iap.rst:409 -#: ../../content/developer/webservices/iap.rst:510 -#: ../../content/developer/webservices/odoo.rst:400 -#: ../../content/developer/webservices/odoo.rst:996 -#: ../../content/developer/webservices/odoo.rst:1187 +#: ../../content/developer/howtos/provide_iap_services.rst:118 +#: ../../content/developer/howtos/provide_iap_services.rst:222 +#: ../../content/developer/howtos/provide_iap_services.rst:406 +#: ../../content/developer/howtos/provide_iap_services.rst:408 +#: ../../content/developer/howtos/provide_iap_services.rst:511 +#: ../../content/developer/howtos/translations.rst:19 +#: ../../content/developer/reference/backend/actions.rst:176 +#: ../../content/developer/reference/backend/orm.rst:630 +#: ../../content/developer/reference/backend/orm.rst:632 +#: ../../content/developer/reference/backend/orm.rst:747 +#: ../../content/developer/reference/backend/orm.rst:904 +#: ../../content/developer/reference/backend/security.rst:28 +#: ../../content/developer/reference/backend/security.rst:186 +#: ../../content/developer/reference/backend/views.rst:13 +#: ../../content/developer/reference/backend/views.rst:70 +#: ../../content/developer/reference/backend/views.rst:81 +#: ../../content/developer/reference/backend/views.rst:179 +#: ../../content/developer/reference/backend/views.rst:241 +#: ../../content/developer/reference/backend/views.rst:869 +#: ../../content/developer/reference/backend/views.rst:993 +#: ../../content/developer/reference/backend/views.rst:995 +#: ../../content/developer/reference/backend/views.rst:1551 +#: ../../content/developer/reference/backend/views.rst:1646 +#: ../../content/developer/reference/backend/views.rst:1664 +#: ../../content/developer/reference/backend/views.rst:1793 +#: ../../content/developer/reference/frontend/qweb.rst:412 +#: ../../content/developer/reference/frontend/qweb.rst:413 +#: ../../content/developer/reference/frontend/qweb.rst:475 +#: ../../content/developer/reference/frontend/qweb.rst:560 +#: ../../content/developer/tutorials/web.rst:134 +#: ../../content/developer/tutorials/web.rst:1872 +#: ../../content/developer/tutorials/website.rst:495 msgid "Todo" msgstr "" @@ -1859,18062 +568,28669 @@ msgstr "" msgid "check_company on company_dependent fields." msgstr "" -#: ../../content/developer/howtos/profilecode.rst:3 -msgid "Profiling Odoo code" +#: ../../content/developer/howtos/connect_device.rst:3 +msgid "Connect with a device" msgstr "" -#: ../../content/developer/howtos/profilecode.rst:7 -msgid "This tutorial requires :ref:`having installed Odoo ` and :doc:`writing Odoo code `" +#: ../../content/developer/howtos/connect_device.rst:5 +msgid "IoT Drivers allow any Odoo module to communicate in real-time with any device connected to the IoT Box. Communication with the IoT Box goes both ways, so the Odoo client can send commands to and receive information from any of the supported devices." msgstr "" -#: ../../content/developer/howtos/profilecode.rst:11 -msgid "Graph a method" +#: ../../content/developer/howtos/connect_device.rst:10 +msgid "To add support for a device, all we need is:" msgstr "" -#: ../../content/developer/howtos/profilecode.rst:13 -msgid "Odoo embeds a profiler of code. This embedded profiler output can be used to generate a graph of calls triggered by the method, number of queries, percentage of time taken in the method itself as well as the time that the method took and its sub-called methods." +#: ../../content/developer/howtos/connect_device.rst:12 +msgid "an `Interface`, to detect connected devices of a specific type" msgstr "" -#: ../../content/developer/howtos/profilecode.rst:25 -msgid "This produces a file called /temp/prof.profile" +#: ../../content/developer/howtos/connect_device.rst:13 +msgid "a `Driver`, to communicate with an individual device" msgstr "" -#: ../../content/developer/howtos/profilecode.rst:27 -msgid "A tool called *gprof2dot* will produce a graph with this result:" +#: ../../content/developer/howtos/connect_device.rst:15 +msgid "At each boot, the IoT Box will load all of the Interfaces and Drivers that can be located on the connected Odoo instance. Each module can contain an `iot_handlers` directory that will be copied to the IoT Box. The structure of this directory is the following" msgstr "" -#: ../../content/developer/howtos/profilecode.rst:33 -msgid "A tool called *xdot* will display the resulting graph:" +#: ../../content/developer/howtos/connect_device.rst:34 +msgid "Detect Devices" msgstr "" -#: ../../content/developer/howtos/profilecode.rst:40 -msgid "Log a method" +#: ../../content/developer/howtos/connect_device.rst:36 +msgid "Devices connected to the IoT Box are detected through `Interfaces`. There is an Interface for each supported connection type (USB, Bluetooth, Video, Printers, Serial, etc.). The interface maintains a list of detected devices and associates them with the right Driver." msgstr "" -#: ../../content/developer/howtos/profilecode.rst:42 -msgid "Another profiler can be used to log statistics on a method:" +#: ../../content/developer/howtos/connect_device.rst:41 +msgid "Supported devices will appear both on the IoT Box Homepage that you can access through its IP address and in the IoT module of the connected Odoo instance." msgstr "" -#: ../../content/developer/howtos/profilecode.rst:52 -msgid "The statistics will be displayed into the logs once the method to be analysed is completely reviewed." +#: ../../content/developer/howtos/connect_device.rst:45 +msgid "Interface" msgstr "" -#: ../../content/developer/howtos/profilecode.rst:83 -msgid "Dump stack" +#: ../../content/developer/howtos/connect_device.rst:47 +msgid "The role of the Interface is to maintain a list of devices connected through a determined connection type. Creating a new interface requires" msgstr "" -#: ../../content/developer/howtos/profilecode.rst:85 -msgid "Sending the SIGQUIT signal to an Odoo process (only available on POSIX) makes this process output the current stack trace to log, with info level. When an odoo process seems stucked, sending this signal to the process permit to know what the process is doing, and letting the process continue his job." +#: ../../content/developer/howtos/connect_device.rst:50 +msgid "Extending the `Interface` class" msgstr "" -#: ../../content/developer/howtos/profilecode.rst:91 -msgid "Tracing code execution" +#: ../../content/developer/howtos/connect_device.rst:51 +msgid "Setting the `connection_type` class attribute" msgstr "" -#: ../../content/developer/howtos/profilecode.rst:93 -msgid "Instead of sending the SIGQUIT signal to an Odoo process often enough, to check where the processes are performing worse than expected, we can use the `py-spy`_ tool to do it for us." +#: ../../content/developer/howtos/connect_device.rst:52 +msgid "Implementing the `get_devices` method, that should return a dictionary containing data about each detected device. This data will be given as argument to the constructors and `supported` method of the Drivers." msgstr "" -#: ../../content/developer/howtos/profilecode.rst:98 -msgid "Install py-spy" +#: ../../content/developer/howtos/connect_device.rst:57 +msgid "Setting the `_loop_delay` attribute will modify the interval between calls to `get_devices`. By default, this interval is set to 3 seconds." msgstr "" -#: ../../content/developer/howtos/profilecode.rst:105 -msgid "Record executed code" +#: ../../content/developer/howtos/connect_device.rst:74 +msgid "Driver" msgstr "" -#: ../../content/developer/howtos/profilecode.rst:107 -msgid "As py-spy is installed, we now record the executed code lines. This tool will record, multiple times a second, the stacktrace of the process." +#: ../../content/developer/howtos/connect_device.rst:76 +msgid "Once the interface has retrieved the list of detected devices, it will loop through all of the Drivers that have the same `connection_type` attribute and test their respective `supported` method on all detected devices. If the supported method of a Driver returns `True`, an instance of this Driver will be created for the corresponding device." msgstr "" -#: ../../content/developer/howtos/profilecode.rst:118 -msgid "where is the process ID of the odoo process you want to graph." +#: ../../content/developer/howtos/connect_device.rst:83 +msgid "`supported` methods of drivers are given a priority order. The `supported` method of a child class will always be tested before the one of its parent. This priority can be adjusted by modifying the `priority` attribute of the Driver." msgstr "" -#: ../../content/developer/howtos/profilecode.rst:120 -msgid "To open profile.json you can use online tool `speedscope.app`_." +#: ../../content/developer/howtos/connect_device.rst:88 +msgid "Creating a new Driver requires:" msgstr "" -#: ../../content/developer/howtos/profilecode.rst:122 -msgid "To open profile.svg you should use browser, because other viewer may not support interactive part." +#: ../../content/developer/howtos/connect_device.rst:90 +msgid "Extending `Driver`" msgstr "" -#: ../../content/developer/howtos/themes.rst:4 +#: ../../content/developer/howtos/connect_device.rst:91 +msgid "Setting the `connection_type` class attribute." +msgstr "" + +#: ../../content/developer/howtos/connect_device.rst:92 +msgid "Setting the `device_type`, `device_connection` and `device_name` attributes." +msgstr "" + +#: ../../content/developer/howtos/connect_device.rst:93 +msgid "Defining the `supported` method" +msgstr "" + +#: ../../content/developer/howtos/connect_device.rst:113 +msgid "Communicate With Devices" +msgstr "" + +#: ../../content/developer/howtos/connect_device.rst:115 +msgid "Once your new device is detected and appears in the IoT module, the next step is to communicate with it. Since the box only has a local IP address, it can only be reached from the same local network. Communication, therefore, needs to happen on the browser-side, in JavaScript." +msgstr "" + +#: ../../content/developer/howtos/connect_device.rst:120 +msgid "The process depends on the direction of the communication: - From the browser to the box, through `Actions`_ - From the box to the browser, through `Longpolling`_" +msgstr "" + +#: ../../content/developer/howtos/connect_device.rst:124 +msgid "Both channels are accessed from the same JS object, the `DeviceProxy`, which is instantiated using the IP of the IoT Box and the device identifier." +msgstr "" + +#: ../../content/developer/howtos/connect_device.rst:137 +#: ../../content/developer/reference/backend/actions.rst:6 +#: ../../content/developer/tutorials/getting_started/06_firstui.rst:47 +msgid "Actions" +msgstr "" + +#: ../../content/developer/howtos/connect_device.rst:139 +msgid "Actions are used to tell a selected device to execute a specific action, such as taking a picture, printing a receipt, etc." +msgstr "" + +#: ../../content/developer/howtos/connect_device.rst:143 +msgid "It must be noted that no “answer” will be sent by the box on this route, only the request status. The answer to the action, if any, has to be retrieved via the longpolling." +msgstr "" + +#: ../../content/developer/howtos/connect_device.rst:147 +msgid "An action can be performed on the DeviceProxy Object." +msgstr "" + +#: ../../content/developer/howtos/connect_device.rst:153 +msgid "In your driver, define an `action` method that will be executed when called from an Odoo module. It takes the data given during the call as argument." +msgstr "" + +#: ../../content/developer/howtos/connect_device.rst:162 +msgid "Longpolling" +msgstr "" + +#: ../../content/developer/howtos/connect_device.rst:164 +msgid "When any module in Odoo wants to read data from a specific device, it creates a listener identified by the IP/domain of the box and the device identifier and passes it a callback function to be called every time the device status changes. The callback is called with the new data as argument." +msgstr "" + +#: ../../content/developer/howtos/connect_device.rst:177 +msgid "In the Driver, an event is released by calling the `device_changed` function from the `event_manager`. All callbacks set on the listener will then be called with `self.data` as argument." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:3 +msgid "Provide IAP services" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:5 +msgid "In-App Purchase (IAP) allows providers of ongoing services through Odoo apps to be compensated for ongoing service use rather than — and possibly instead of — a sole initial purchase." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:9 +msgid "In that context, Odoo acts mostly as a *broker* between a client and an Odoo App Developer:" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:12 +msgid "Users purchase service tokens from Odoo." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:13 +msgid "Service providers draw tokens from the user's Odoo account when service is requested." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:18 +msgid "This document is intended for *service providers* and presents the latter, which can be done either via direct JSON-RPC2_ or if you are using Odoo using the convenience helpers it provides." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:23 +#: ../../content/developer/reference/frontend/javascript_reference.rst:17 +#: ../../content/developer/reference/frontend/services.rst:144 +#: ../../content/developer/reference/frontend/services.rst:182 +#: ../../content/developer/reference/frontend/services.rst:362 +#: ../../content/developer/reference/frontend/services.rst:408 +#: ../../content/developer/reference/frontend/services.rst:522 +#: ../../content/developer/reference/frontend/services.rst:612 +#: ../../content/developer/reference/frontend/services.rst:708 +#: ../../content/developer/reference/frontend/services.rst:759 +#: ../../content/developer/reference/frontend/services.rst:834 +msgid "Overview" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:28 +msgid "The Players" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:30 +msgid "The Service Provider is (probably) you the reader, you will be providing value to the client in the form of a service paid per-use." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:32 +msgid "The Client installed your Odoo App, and from there will request services." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:33 +msgid "Odoo brokers crediting, the Client adds credit to their account, and you can draw credits from there to provide services." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:35 +msgid "The External Service is an optional player: *you* can either provide a service directly, or you can delegate the actual service acting as a bridge/translator between an Odoo system and the actual service." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:43 +msgid "The Credits" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:45 +msgid "The credits went from integer to float value starting **October 2018**. Integer values are still supported." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:48 +msgid "Every service provided through the IAP platform can be used by the clients with tokens or *credits*. The credits are an float unit and their monetary value depends on the service and is decided by the provider. This could be:" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:53 +msgid "for an sms service: 1 credit = 1 sms;" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:54 +msgid "for an ad service: 1 credit = 1 ad; or" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:55 +msgid "for a postage service: 1 credit = 1 post stamp." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:57 +msgid "A credit can also simply be associated with a fixed amount of money to palliate the variations of price (e.g. the prices of sms and stamps may vary following the countries)." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:61 +msgid "The value of the credits is fixed with the help of prepaid credit packs that the clients can buy on https://iap.odoo.com (see :ref:`Packs `)." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:64 +msgid "In the following explanations we will ignore the External Service, they are just a detail of the service you provide." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:70 +msgid "'Normal' service flow" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:72 +msgid "If everything goes well, the normal flow is the following:" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:74 +msgid "The Client requests a service of some sort." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:75 +msgid "The Service Provider asks Odoo if there are enough credits for the service in the Client's account, and creates a transaction over that amount." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:78 +msgid "The Service Provider provides the service (either on their own or calling to External Services)." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:80 +msgid "The Service Provider goes back to Odoo to capture (if the service could be provided) or cancel (if the service could not be provided) the transaction created at step 2." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:83 +msgid "Finally, the Service Provider notifies the Client that the service has been rendered, possibly (depending on the service) displaying or storing its results in the client's system." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:90 +msgid "Insufficient credits" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:92 +msgid "However, if the Client's account lacks credits for the service, the flow will be as follows:" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:94 +msgid "The Client requests a service as previously." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:95 +msgid "The Service Provider asks Odoo if there are enough credits on the Client's account and gets a negative reply." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:97 +msgid "This is signaled back to the Client." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:98 +msgid "Who is redirected to their Odoo account to credit it and re-try." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:102 +msgid "Building your service" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:104 +msgid "For this example, the service we will provide is ~~mining dogecoins~~ burning 10 seconds of CPU for a credit. For your own services, you could, for example:" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:107 +msgid "provide an online service yourself (e.g. convert quotations to faxes for business in Japan);" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:109 +msgid "provide an *offline* service yourself (e.g. provide accountancy service); or" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:110 +msgid "act as intermediary to an other service provider (e.g. bridge to an MMS gateway)." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:116 +msgid "Register the service on Odoo" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:118 +msgid "complete this part with screenshots" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:120 +msgid "The first step is to register your service on the IAP endpoint (production and/or test) before you can actually query user accounts. To create a service, go to your *Portal Account* on the IAP endpoint (https://iap.odoo.com for production, https://iap-sandbox.odoo.com for testing, the endpoints are *independent* and *not synchronized*). Alternatively, you can go to your portal on Odoo (https://iap.odoo.com/my/home) and select *In-App Services*." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:129 +msgid "On production, there is a manual validation step before the service can be used to manage real transactions. This step is automatically passed when on sandbox to ease the tests." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:133 +msgid "Log in then go to :menuselection:`My Account --> Your In-App Services`, click Create and provide the information of your service." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:137 +msgid "The service has *seven* important fields:" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:139 +msgid ":samp:`name` - :class:`ServiceName`: This is the string you will need to provide inside the client's :ref:`app ` when requesting a transaction from Odoo. (e.g. :class:`self.env['iap.account].get(name)`). As good practice, this should match the technical name of your app." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:144 +msgid ":samp:`label` - :class:`Label`: The name displayed on the shopping portal for the client." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:149 +msgid "Both the :class:`ServiceName` and :class:`Label` are unique. As good practice, the :class:`ServiceName` should usually match the name of your Odoo Client App." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:152 +msgid ":samp:`icon` - :class:`Icon`: A generic icon that will serve as default for your :ref:`packs `." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:155 +msgid ":samp:`key` - :class:`ServiceKey`: The developer key that identifies you in IAP (see :ref:`your service `) and allows to draw credits from the client's account. It will be shown only once upon creation of the service and can be regenerated at will." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:161 +msgid "Your :class:`ServiceKey` *is a secret*, leaking your service key allows other application developers to draw credits bought for your service(s)." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:165 +msgid ":samp:`trial credits` - :class:`Float`: This corresponds to the credits you are ready to offer upon first use to your app users. Note that such service will only be available to clients that have an active enterprise contract." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:169 +msgid ":samp:`privacy policy` - :class:`PrivacyPolicy`: This is an url to the privacy policy of your service. This should explicitly mention the **information you collect**, how you **use it, its relevance** to make your service work and inform the client on how they can **access, update or delete their personal information**." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:186 +msgid "You can then create *credit packs* which clients can purchase in order to use your service." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:192 +msgid "Packs" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:194 +msgid "A credit pack is essentially a product with five characteristics:" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:196 +msgid "Name: name of the pack," +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:197 +msgid "Icon: specific icon for the pack (if not provided, it will fallback on the service icon)," +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:198 +msgid "Description: details on the pack that will appear on the shop page as well as the invoice," +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:200 +msgid "Amount: amount of credits the client is entitled to when buying the pack," +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:201 +msgid "Price: price in EUR (for the time being, USD support is planned)." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:205 +msgid "Odoo takes a 25% commission on all pack sales. Adjust your selling price accordingly." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:210 +msgid "Depending on the strategy, the price per credit may vary from one pack to another." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:220 +msgid "Odoo App" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:222 +msgid "does this actually require apps?" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:224 +msgid "The second step is to develop an `Odoo App`_ which clients can install in their Odoo instance and through which they can *request* the services you provide. Our app will just add a button to the Partners form which lets a user request burning some CPU time on the server." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:229 +msgid "First, we will create an *odoo module* depending on ``iap``. IAP is a standard V11 module and the dependency ensures a local account is properly set up and we will have access to some necessary views and useful helpers." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:233 +#: ../../content/developer/howtos/provide_iap_services.rst:248 +msgid "`coalroller/__manifest__.py`" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:243 +msgid "Second, the \"local\" side of the integration. Here we will only be adding an action button to the partners view, but you can of course provide significant local value via your application and additional parts via a remote service." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:261 +msgid "`coalroller/views/res_partner_views.xml`" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:286 +msgid "We can now implement the action method/callback. This will *call our own server*." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:289 +msgid "There are no requirements when it comes to the server or the communication protocol between the app and our server, but ``iap`` provides a :func:`~odoo.addons.iap.tools.iap_tools.iap_jsonrpc` helper to call a JSON-RPC2_ endpoint on an other Odoo instance and transparently re-raise relevant Odoo exceptions (:class:`~odoo.addons.iap.tools.iap_tools.InsufficientCreditError`, :class:`odoo.exceptions.AccessError` and :class:`odoo.exceptions.UserError`)." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:296 +msgid "In that call, we will need to provide:" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:298 +msgid "any relevant client parameter (none here)," +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:299 +msgid "the :class:`token ` of the current client that is provided by the ``iap.account`` model's ``account_token`` field. You can retrieve the account for your service by calling :samp:`env['iap.account'].get({service_name})` where :class:`service_name ` is the name of the service registered on IAP endpoint." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:305 +msgid "`coalroller/models/res_partner.py`" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:333 +msgid "``iap`` automatically handles :class:`~odoo.addons.iap.tools.iap_tools.InsufficientCreditError` coming from the action and prompts the user to add credits to their account." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:337 +msgid ":func:`~odoo.addons.iap.tools.iap_tools.iap_jsonrpc` takes care of re-raising :class:`~odoo.addons.iap.models.iap.InsufficientCreditError` for you." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:342 +msgid "If you are not using :func:`~odoo.addons.iap.tools.iap_tools.iap_jsonrpc` you *must* be careful to re-raise :class:`~odoo.addons.iap.tools.iap_tools.InsufficientCreditError` in your handler otherwise the user will not be prompted to credit their account, and the next call will fail the same way." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:351 +#: ../../content/developer/reference/frontend/javascript_reference.rst:876 +msgid "Service" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:353 +msgid "Though that is not *required*, since ``iap`` provides both a client helper for JSON-RPC2_ calls (:func:`~odoo.addons.iap.tools.iap_tools.iap_jsonrpc`) and a service helper for transactions (:class:`~odoo.addons.iap.tools.iap_tools.iap_charge`) we will also be implementing the service side as an Odoo module:" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:358 +#: ../../content/developer/howtos/provide_iap_services.rst:448 +msgid "`coalroller_service/__manifest__.py`" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:368 +msgid "Since the query from the client comes as JSON-RPC2_ we will need the corresponding controller which can call :class:`~odoo.addons.iap.tools.iap_tools.iap_charge` and perform the service within:" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:372 +#: ../../content/developer/howtos/provide_iap_services.rst:461 +msgid "`coalroller_service/controllers/main.py`" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:406 +msgid "for the actual IAP will the \"portal\" page be on odoo.com or iap.odoo.com?" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:408 +msgid "\"My Account\" > \"Your InApp Services\"?" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:411 +msgid "The :class:`~odoo.addons.iap.tools.iap_tools.iap_charge` helper will:" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:413 +msgid "authorize (create) a transaction with the specified number of credits, if the account does not have enough credits it will raise the relevant error" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:416 +msgid "execute the body of the ``with`` statement" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:417 +msgid "if the body of the ``with`` executes successfully, update the price of the transaction if needed" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:419 +msgid "capture (confirm) the transaction" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:420 +msgid "otherwise, if an error is raised from the body of the ``with``, cancel the transaction (and release the hold on the credits)" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:425 +msgid "By default, :class:`~odoo.addons.iap.tools.iap_tools.iap_charge` contacts the *production* IAP endpoint, https://iap.odoo.com. While developing and testing your service you may want to point it towards the *development* IAP endpoint https://iap-sandbox.odoo.com." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:430 +msgid "To do so, set the ``iap.endpoint`` config parameter in your service Odoo: in debug/developer mode, :menuselection:`Setting --> Technical --> Parameters --> System Parameters`, just define an entry for the key ``iap.endpoint`` if none already exists)." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:435 +msgid "The :class:`~odoo.addons.iap.tools.iap_tools.iap_charge` helper has two additional optional parameters we can use to make things clearer to the end-user." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:440 +#: ../../content/developer/reference/backend/reports.rst:198 +msgid "``description``" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:439 +msgid "is a message which will be associated with the transaction and will be displayed in the user's dashboard, it is useful to remind the user why the charge exists." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:446 +msgid "``credit_template``" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:443 +msgid "is the name of a :ref:`reference/qweb` template which will be rendered and shown to the user if their account has less credit available than the service provider is requesting, its purpose is to tell your users why they should be interested in your IAP offers." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:488 +msgid "`coalroller_service/views/no-credit.xml`" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:511 +msgid "how do you test your service?" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:514 +msgid "JSON-RPC2_ Transaction API" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:519 +msgid "The IAP transaction API does not require using Odoo when implementing your server gateway, calls are standard JSON-RPC2_." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:521 +msgid "Calls use different *endpoints* but the same *method* on all endpoints (``call``)." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:523 +msgid "Exceptions are returned as JSON-RPC2_ errors, the formal exception name is available on ``data.name`` for programmatic manipulation." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:526 +msgid "`iap.odoo.com documentation`_ for additional information." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:529 +#: ../../content/developer/howtos/provide_iap_services.rst:775 +msgid "Authorize" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:533 +msgid "Verifies that the user's account has at least as ``credit`` available *and creates a hold (pending transaction) on that amount*." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:536 +msgid "Any amount currently on hold by a pending transaction is considered unavailable to further authorize calls." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:539 +msgid "Returns a :class:`TransactionToken` identifying the pending transaction which can be used to capture (confirm) or cancel said transaction (`iap.odoo.com documentation`_)." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:0 +#: ../../content/developer/howtos/provide_iap_services.rst:0 +#: ../../content/developer/howtos/provide_iap_services.rst:0 +#: ../../content/developer/howtos/provide_iap_services.rst:0 +#: ../../content/developer/howtos/provide_iap_services.rst:0 +#: ../../content/developer/howtos/provide_iap_services.rst:0 +#: ../../content/developer/howtos/provide_iap_services.rst:0 +#: ../../content/developer/reference/backend/mixins.rst:0 +#: ../../content/developer/reference/backend/mixins.rst:0 +#: ../../content/developer/reference/backend/mixins.rst:0 +#: ../../content/developer/reference/backend/mixins.rst:0 +#: ../../content/developer/reference/backend/mixins.rst:0 +#: ../../content/developer/reference/backend/mixins.rst:0 +#: ../../content/developer/reference/backend/mixins.rst:0 +#: ../../content/developer/reference/backend/mixins.rst:0 +#: ../../content/developer/reference/backend/mixins.rst:0 +#: ../../content/developer/reference/backend/mixins.rst:0 +#: ../../content/developer/reference/backend/mixins.rst:0 +#: ../../content/developer/reference/backend/mixins.rst:0 +#: ../../content/developer/reference/frontend/framework_overview.rst:0 +#: ../../content/developer/reference/frontend/framework_overview.rst:0 +#: ../../content/developer/reference/frontend/framework_overview.rst:0 +#: ../../content/developer/reference/frontend/framework_overview.rst:0 +#: ../../content/developer/reference/frontend/qweb.rst:0 +msgid "Parameters" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:545 +msgid "optional, helps users identify the reason for charges on their account" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:547 +msgid "optional, allows the user to benefit from trial credits if his database is eligible (see :ref:`Service registration `)" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:549 +msgid "optional, transaction time to live in hours. If the credit are not captured when the transaction expires, the transaction is cancelled. The default value is set to 4320 hours (= 180 days)." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:0 +#: ../../content/developer/reference/backend/mixins.rst:0 +#: ../../content/developer/reference/backend/mixins.rst:0 +#: ../../content/developer/reference/backend/mixins.rst:0 +#: ../../content/developer/reference/backend/mixins.rst:0 +#: ../../content/developer/reference/backend/mixins.rst:0 +#: ../../content/developer/reference/backend/mixins.rst:0 +#: ../../content/developer/reference/backend/mixins.rst:0 +#: ../../content/developer/reference/backend/mixins.rst:0 +#: ../../content/developer/reference/backend/mixins.rst:0 +#: ../../content/developer/reference/backend/mixins.rst:0 +#: ../../content/developer/reference/backend/mixins.rst:0 +#: ../../content/developer/reference/frontend/assets.rst:0 +#: ../../content/developer/reference/frontend/framework_overview.rst:0 +#: ../../content/developer/reference/frontend/framework_overview.rst:0 +#: ../../content/developer/reference/frontend/framework_overview.rst:0 +#: ../../content/developer/reference/frontend/framework_overview.rst:0 +#: ../../content/developer/reference/frontend/framework_overview.rst:0 +#: ../../content/developer/reference/frontend/framework_overview.rst:0 +#: ../../content/developer/reference/frontend/framework_overview.rst:0 +#: ../../content/developer/reference/frontend/framework_overview.rst:0 +#: ../../content/developer/reference/frontend/framework_overview.rst:0 +#: ../../content/developer/reference/frontend/framework_overview.rst:0 +#: ../../content/developer/reference/frontend/framework_overview.rst:0 +#: ../../content/developer/reference/frontend/framework_overview.rst:0 +#: ../../content/developer/reference/frontend/javascript_reference.rst:0 +#: ../../content/developer/reference/frontend/javascript_reference.rst:0 +#: ../../content/developer/reference/frontend/javascript_reference.rst:0 +#: ../../content/developer/reference/frontend/mobile.rst:0 +#: ../../content/developer/reference/frontend/mobile.rst:0 +#: ../../content/developer/reference/frontend/qweb.rst:0 +#: ../../content/developer/reference/frontend/registries.rst:0 +#: ../../content/developer/reference/frontend/registries.rst:0 +#: ../../content/developer/reference/frontend/registries.rst:0 +#: ../../content/developer/reference/frontend/registries.rst:0 +#: ../../content/developer/reference/frontend/registries.rst:0 +#: ../../content/developer/reference/frontend/registries.rst:0 +#: ../../content/developer/reference/frontend/services.rst:0 +#: ../../content/developer/reference/frontend/services.rst:0 +#: ../../content/developer/reference/frontend/services.rst:0 +#: ../../content/developer/reference/frontend/services.rst:0 +#: ../../content/developer/reference/frontend/services.rst:0 +#: ../../content/developer/reference/frontend/services.rst:0 +#: ../../content/developer/reference/frontend/services.rst:0 +msgid "Returns" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:551 +msgid ":class:`TransactionToken` if the authorization succeeded" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:0 +#: ../../content/developer/howtos/provide_iap_services.rst:0 +#: ../../content/developer/howtos/provide_iap_services.rst:0 +#: ../../content/developer/howtos/provide_iap_services.rst:0 +#: ../../content/developer/howtos/provide_iap_services.rst:0 +msgid "raises" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:552 +msgid ":class:`~odoo.exceptions.AccessError` if the service token is invalid" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:553 +msgid ":class:`~odoo.addons.iap.models.iap.InsufficientCreditError` if the account does not have enough credits" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:554 +msgid "``TypeError`` if the ``credit`` value is not an integer or a float" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:577 +#: ../../content/developer/howtos/provide_iap_services.rst:855 +msgid "Capture" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:581 +msgid "Confirms the specified transaction, transferring the reserved credits from the user's account to the service provider's." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:584 +msgid "Capture calls are idempotent: performing capture calls on an already captured transaction has no further effect." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:589 +msgid "optional parameter to capture a smaller amount of credits than authorized" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:590 +#: ../../content/developer/howtos/provide_iap_services.rst:622 +msgid ":class:`~odoo.exceptions.AccessError`" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:610 +#: ../../content/developer/howtos/provide_iap_services.rst:817 +msgid "Cancel" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:614 +msgid "Cancels the specified transaction, releasing the hold on the user's credits." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:617 +msgid "Cancel calls are idempotent: performing capture calls on an already cancelled transaction has no further effect." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:640 +#: ../../content/developer/tutorials/getting_started/04_basicmodel.rst:127 +msgid "Types" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:642 +msgid "Exceptions aside, these are *abstract types* used for clarity, you should not care how they are implemented." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:647 +msgid "String identifying your service on https://iap.odoo.com (production) as well as the account related to your service in the client's database." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:652 +msgid "Identifier generated for the provider's service. Each key (and service) matches a token of a fixed value, as generated by the service provide." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:655 +msgid "Multiple types of tokens correspond to multiple services. As an exampe, SMS and MMS could either be the same service (with an MMS being 'worth' multiple SMS) or could be separate services at separate price points." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:659 +msgid "Your service key *is a secret*, leaking your service key allows other application developers to draw credits bought for your service(s)." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:665 +msgid "Identifier for a user account." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:669 +msgid "Transaction identifier, returned by the authorization process and consumed by either capturing or cancelling the transaction." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:674 +msgid "Raised during transaction authorization if the credits requested are not currently available on the account (either not enough credits or too many pending transactions/existing holds)." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:681 +msgid "Raised by:" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:683 +msgid "any operation to which a service token is required, if the service token is invalid; or" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:684 +msgid "any failure in an inter-server call. (typically, in :func:`~odoo.addons.iap.tools.iap_tools.iap_jsonrpc`)." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:689 +msgid "Raised by any unexpected behaviour at the discretion of the App developer (*you*)." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:693 +msgid "Test the API" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:695 +msgid "In order to test the developed app, we propose a sandbox platform that allows you to:" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:697 +msgid "Test the whole flow from the client's point of view - Actual services and transactions that can be consulted. (again this requires to change the endpoint, see the danger note in :ref:`Service `)." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:700 +msgid "Test the API." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:702 +msgid "The latter consists in specific tokens that will work on **IAP-Sandbox only**." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:704 +msgid "Token ``000000``: Represents a non-existing account. Returns an :class:`~odoo.addons.iap.tools.iap_tools.InsufficientCreditError` on authorize attempt." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:706 +msgid "Token ``000111``: Represents an account without sufficient credits to perform any service. Returns an :class:`~odoo.addons.iap.tools.iap_tools.InsufficientCreditError` on authorize attempt." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:708 +msgid "Token ``111111``: Represents an account with enough credits to perform any service. An authorize attempt will return a dummy transaction token that is processed by the capture and cancel routes." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:714 +msgid "Those tokens are only active on the IAP-Sanbox server." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:715 +msgid "The service key is completely ignored with this flow, If you want to run a robust test of your service, you should ignore these tokens." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:719 +msgid "Odoo Helpers" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:721 +msgid "For convenience, if you are implementing your service using Odoo the ``iap`` module provides a few helpers to make IAP flow even simpler." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:727 +msgid "Charging" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:731 +msgid "A *context manager* for authorizing and automatically capturing or cancelling transactions for use in the backend/proxy." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:734 +msgid "Works much like e.g. a cursor context manager:" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:736 +msgid "immediately authorizes a transaction with the specified parameters;" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:737 +msgid "executes the ``with`` body;" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:738 +msgid "if the body executes in full without error, captures the transaction;" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:739 +msgid "otherwise cancels it." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:741 +#: ../../content/developer/howtos/provide_iap_services.rst:781 +#: ../../content/developer/howtos/provide_iap_services.rst:823 +#: ../../content/developer/howtos/provide_iap_services.rst:861 +msgid "used to retrieve the ``iap.endpoint`` configuration key" +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:779 +msgid "Will authorize everything." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:821 +msgid "Will cancel an authorized transaction." +msgstr "" + +#: ../../content/developer/howtos/provide_iap_services.rst:859 +msgid "Will capture the amount ``credit`` on the given transaction." +msgstr "" + +#: ../../content/developer/howtos/themes.rst:5 msgid "Theme Tutorial" msgstr "" -#: ../../content/developer/howtos/themes.rst:8 -msgid "This tutorial provides a great overview of what you can do creating an Odoo theme. It is however incomplete. We are currently working on a new detailed theme tutorial, come back here soon to unleash the true power of Odoo themes!" +#: ../../content/developer/howtos/themes.rst:9 +msgid "This tutorial is outdated and won't work out of the box." msgstr "" -#: ../../content/developer/howtos/themes.rst:15 +#: ../../content/developer/howtos/themes.rst:13 msgid "Odoo celebrates freedom. Freedom for the designer to go further and freedom for the user to customize everything according to their needs." msgstr "" -#: ../../content/developer/howtos/themes.rst:18 +#: ../../content/developer/howtos/themes.rst:16 msgid "Ready to create your own theme? Great. Here are some things you should know before you begin. This tutorial is a guide to creating an Odoo theme." msgstr "" -#: ../../content/developer/howtos/themes.rst:24 +#: ../../content/developer/howtos/themes.rst:22 msgid "An introduction for web designers" msgstr "" -#: ../../content/developer/howtos/themes.rst:26 +#: ../../content/developer/howtos/themes.rst:24 msgid "If you are a web designer using Odoo for the first time, you are in the right place. This introduction will outline the basics of Odoo theme creation. Odoo’s team has created a framework that’s powerful and easy to use." msgstr "" -#: ../../content/developer/howtos/themes.rst:30 +#: ../../content/developer/howtos/themes.rst:28 msgid "From common CMS to Odoo" msgstr "" -#: ../../content/developer/howtos/themes.rst:34 +#: ../../content/developer/howtos/themes.rst:31 msgid "If you always think and work in the same way, you’ll probably get the same results. If you want something completely new, then try something different." msgstr "" -#: ../../content/developer/howtos/themes.rst:38 -msgid "Where is my header.php file?" +#: ../../content/developer/howtos/themes.rst:33 +msgid "**Where is my header.php file?**" msgstr "" -#: ../../content/developer/howtos/themes.rst:40 +#: ../../content/developer/howtos/themes.rst:35 msgid "This is usually the first question from a web designer used to working with Wordpress or Joomla and coming to Odoo for the first time." msgstr "" -#: ../../content/developer/howtos/themes.rst:50 +#: ../../content/developer/howtos/themes.rst:45 msgid "Indeed, when using common CMSs, you have to code several files (like header.php, page.php, post.php, etc.) in order to create a basic structure for your website. With those systems, this base structure acts as a design foundation that you have to update over time to ensure compatibility within your CMS. So, even after you have spent hours coding the files, you have not even started on the design yet." msgstr "" -#: ../../content/developer/howtos/themes.rst:52 +#: ../../content/developer/howtos/themes.rst:47 msgid "This **does not** apply to creating Odoo themes." msgstr "" -#: ../../content/developer/howtos/themes.rst:56 +#: ../../content/developer/howtos/themes.rst:51 msgid "We think that theme design should be simple (and powerful). When we created our Website Builder, we decided to start from scratch instead of relying on what already existed. This approach gave us the freedom to focus on the things that are really important for designers: styles, content and the logic behind them. No more struggling with technical stuff." msgstr "" -#: ../../content/developer/howtos/themes.rst:59 +#: ../../content/developer/howtos/themes.rst:54 msgid "Odoo default theme structure" msgstr "" -#: ../../content/developer/howtos/themes.rst:65 +#: ../../content/developer/howtos/themes.rst:60 msgid "Odoo comes with a default website structure. It is a very basic “theme” that provides minimal structure and layout. When you create a new theme, you are actually **extending** this. Indeed it’s always enabled in your setup and it acts exactly like the CMS’s base structure we mentioned above, except that you don’t have to create or maintain it. It will upgrade automatically within your Odoo installation and, since it is included in the Website Builder module, everything is smoothly integrated by default." msgstr "" -#: ../../content/developer/howtos/themes.rst:70 +#: ../../content/developer/howtos/themes.rst:65 msgid "As a result, you are totally free to focus on design while this structure does the job of providing integrations and functionality." msgstr "" -#: ../../content/developer/howtos/themes.rst:80 +#: ../../content/developer/howtos/themes.rst:75 msgid "**Main features:**" msgstr "" -#: ../../content/developer/howtos/themes.rst:82 +#: ../../content/developer/howtos/themes.rst:77 msgid "Basic layouts for pages, blog, eCommerce and much more" msgstr "" -#: ../../content/developer/howtos/themes.rst:83 +#: ../../content/developer/howtos/themes.rst:78 msgid "Website Builder integration" msgstr "" -#: ../../content/developer/howtos/themes.rst:84 +#: ../../content/developer/howtos/themes.rst:79 msgid "Basic Snippets" msgstr "" -#: ../../content/developer/howtos/themes.rst:85 +#: ../../content/developer/howtos/themes.rst:80 msgid "Automatic Sass compiling" msgstr "" -#: ../../content/developer/howtos/themes.rst:86 +#: ../../content/developer/howtos/themes.rst:81 msgid "Automatic Js and CSS minification and combination" msgstr "" -#: ../../content/developer/howtos/themes.rst:90 +#: ../../content/developer/howtos/themes.rst:85 msgid "**Main technologies:**" msgstr "" -#: ../../content/developer/howtos/themes.rst:92 +#: ../../content/developer/howtos/themes.rst:87 msgid "Twitter Bootstrap" msgstr "" -#: ../../content/developer/howtos/themes.rst:93 +#: ../../content/developer/howtos/themes.rst:88 msgid "jQuery" msgstr "" -#: ../../content/developer/howtos/themes.rst:94 +#: ../../content/developer/howtos/themes.rst:89 msgid "jQuery UI" msgstr "" -#: ../../content/developer/howtos/themes.rst:95 +#: ../../content/developer/howtos/themes.rst:90 msgid "underscore.js" msgstr "" -#: ../../content/developer/howtos/themes.rst:98 +#: ../../content/developer/howtos/themes.rst:93 msgid "Thinking \"modular\"" msgstr "" -#: ../../content/developer/howtos/themes.rst:100 +#: ../../content/developer/howtos/themes.rst:95 msgid "An Odoo theme is not a folder containing HTML or PHP files, it’s a modular framework written in XML. Never worked with XML files before? Don’t worry, after following the tutorial, you’ll be able to create your first theme with only basic knowledge of HTML." msgstr "" -#: ../../content/developer/howtos/themes.rst:102 +#: ../../content/developer/howtos/themes.rst:97 msgid "Using classical web design workflows, you usually code the layout of the entire page. The result of this is a “static” web page. You can update the content, of course, but your client will need you to work on making even basic changes." msgstr "" -#: ../../content/developer/howtos/themes.rst:104 +#: ../../content/developer/howtos/themes.rst:99 msgid "Creating themes for Odoo is a total change of perspective. Instead of defining the complete layout for a page, you can create blocks (snippets) and let the user choose where to “drag&drop” them, creating the page layout on their own. We call this modular design." msgstr "" -#: ../../content/developer/howtos/themes.rst:107 +#: ../../content/developer/howtos/themes.rst:102 msgid "Imagine an Odoo theme as a “list” of elements and options that you have to create or extend. As a designer, your goal is to style these elements in order to achieve a wonderful result, regardless of where the end user chooses to place them." msgstr "" -#: ../../content/developer/howtos/themes.rst:110 +#: ../../content/developer/howtos/themes.rst:105 msgid "Let’s take a tour of our “list” elements:" msgstr "" -#: ../../content/developer/howtos/themes.rst:117 +#: ../../content/developer/howtos/themes.rst:112 msgid "Snippets (or building-blocks)" msgstr "" -#: ../../content/developer/howtos/themes.rst:119 +#: ../../content/developer/howtos/themes.rst:114 msgid "A piece of HTML code. The user will drag&drop, modify and combine them using our built-in Website Builder interface. You can define sets of options and styles for each snippet. The user will choose from them according to their needs." msgstr "" -#: ../../content/developer/howtos/themes.rst:124 +#: ../../content/developer/howtos/themes.rst:119 msgid "Pages" msgstr "" -#: ../../content/developer/howtos/themes.rst:126 +#: ../../content/developer/howtos/themes.rst:121 msgid "These are normal web pages, except that they will be editable by the final user and that you can define an empty area that the user can “fill” by dragging snippets into it." msgstr "" -#: ../../content/developer/howtos/themes.rst:137 +#: ../../content/developer/howtos/themes.rst:132 msgid "Styles" msgstr "" -#: ../../content/developer/howtos/themes.rst:139 +#: ../../content/developer/howtos/themes.rst:134 msgid "Styles are defined using SCSS files (or you can use standard CSS files). You can define a style as **default** or **optional**. The default styles are always active in your theme, the optional styles can be enabled or disabled by the user." msgstr "" -#: ../../content/developer/howtos/themes.rst:144 +#: ../../content/developer/howtos/themes.rst:139 msgid "Functionalities" msgstr "" -#: ../../content/developer/howtos/themes.rst:146 +#: ../../content/developer/howtos/themes.rst:141 msgid "Thanks to Odoo’s modularity, everything can be personalized even more. This means there are endless possibilities for your creativity. Adding functionalities is easy and it’s simple to provide the end user with customizable options." msgstr "" -#: ../../content/developer/howtos/themes.rst:150 +#: ../../content/developer/howtos/themes.rst:145 msgid "Odoo's XML files, an overview" msgstr "" -#: ../../content/developer/howtos/themes.rst:152 +#: ../../content/developer/howtos/themes.rst:147 msgid "Any Odoo XML file starts with encoding specifications. After that, you have to write your code inside a ```` tag." msgstr "" -#: ../../content/developer/howtos/themes.rst:165 +#: ../../content/developer/howtos/themes.rst:160 msgid "Almost every element and option that you create has to be placed inside a ``