[MOV] documentation structure reorganization

This commit aims to improve the documentation's navigability by
redefining some categories' purposes and titles.

There is a redirection rule for each documentation page moved.
This ensures that users won't have a 404 error message.

task-3217827

closes odoo/documentation#8064

Signed-off-by: Jonathan Castillo (jcs) <jcs@odoo.com>
This commit is contained in:
Jonathan Castillo (jcs)
2024-03-04 12:02:08 +01:00
parent dbe0300b84
commit 0249d9d0a6
563 changed files with 644 additions and 643 deletions
+11
View File
@@ -0,0 +1,11 @@
===============
Odoo essentials
===============
.. toctree::
essentials/activities
essentials/reporting
essentials/search
essentials/export_import_data
essentials/in_app_purchase
@@ -40,8 +40,7 @@ Lastly, click one of the following buttons:
opens a new activity window.
- :guilabel:`Discard`: discards any changes made on the pop-up window.
.. image:: plan_activities/schedule-pop-up.png
:align: center
.. image:: activities/schedule-pop-up.png
:alt: View of CRM leads and the option to schedule an activity.
.. note::
@@ -50,8 +49,7 @@ Lastly, click one of the following buttons:
Scheduled activities are added to the chatter for the record under :guilabel:`Planned activities`.
.. image:: plan_activities/chatter-activities.png
:align: center
.. image:: activities/chatter-activities.png
:alt: View of CRM leads and the option to schedule an activity.
Activities can also be scheduled from the kanban, list, or activities view of an application.
@@ -63,9 +61,8 @@ Activities can also be scheduled from the kanban, list, or activities view of an
Select a record on which to schedule an activity. Click on the :guilabel:`🕘 (clock)` icon,
then :guilabel:`Schedule An Activity`, and proceed to fill out the pop-up form.
.. image:: plan_activities/schedule-kanban-activity.png
:align: center
:alt: Kanban view of the CRM pipeline and the option to schedule an activity.
.. image:: activities/schedule-kanban-activity.png
:alt: Kanban view of the CRM pipeline and the option to schedule an activity.
.. tab:: List view
@@ -73,9 +70,8 @@ Activities can also be scheduled from the kanban, list, or activities view of an
then :guilabel:`Schedule An Activity`. If the record already has an activity scheduled, the
clock icon may be replaced by a :guilabel:`📞 (phone)` or an :guilabel:`✉️ (envelope)` icon.
.. image:: plan_activities/schedule-list-activity.png
:align: center
:alt: List view of the CRM pipeline and the option to schedule an activity.
.. image:: activities/schedule-list-activity.png
:alt: List view of the CRM pipeline and the option to schedule an activity.
.. tab:: Activity view
@@ -83,16 +79,14 @@ Activities can also be scheduled from the kanban, list, or activities view of an
menu bar anywhere in the database. Select any application from the drop-down menu, and click
the :guilabel:`🕘 (clock)` icon for the desired app.
.. image:: plan_activities/schedule-activity-view-menu.png
:align: center
:alt: Activity menu drop down with focus on where to open activity view for CRM.
.. image:: activities/schedule-activity-view-menu.png
:alt: Activity menu drop down with focus on where to open activity view for CRM.
Select a record on which to schedule an activity. Move across the row to find the desired
activity type, then click the :guilabel:` (plus sign)`.
.. image:: plan_activities/schedule-activity-view.png
:align: center
:alt: Activity view of the CRM pipeline and the option to schedule an activity.
.. image:: activities/schedule-activity-view.png
:alt: Activity view of the CRM pipeline and the option to schedule an activity.
.. note::
Activity colors, and their relation to an activity's due date, is consistent throughout Odoo,
@@ -122,8 +116,7 @@ specific application in a drop-down menu.
The possibility to :guilabel:`Add new note` and :guilabel:`Request a Document` appear at the bottom
of this drop-down menu, when the :guilabel:`🕘 (clock)` icon on the header menu is clicked.
.. image:: plan_activities/activities-menu.png
:align: center
.. image:: activities/activities-menu.png
:alt: View of CRM leads page emphasizing the activities menu.
Configure activity types
@@ -132,8 +125,7 @@ Configure activity types
To configure the types of activities in the database, go to :menuselection:`Settings app --> Discuss
--> Activities --> Activity Types`.
.. image:: plan_activities/settings-activities-types.png
:align: center
.. image:: activities/settings-activities-types.png
:alt: View of the settings page emphasizing the menu activity types.
Doing so reveals the :guilabel:`Activity Types` page, where the existing activity types are found.
@@ -144,8 +136,7 @@ new activity type, click :guilabel:`Create`.
At the top of a blank activity type form, start by choosing a :guilabel:`Name` for the new activity
type.
.. image:: plan_activities/new-activity-type.png
:align: center
.. image:: activities/new-activity-type.png
:alt: New activity type form.
Activity settings
@@ -208,8 +199,7 @@ This :guilabel:`Schedule` field information can be altered before the activity i
When all configurations are complete, click :guilabel:`Save`.
.. image:: plan_activities/schedule-recommended-activity.png
:align: center
.. image:: activities/schedule-recommended-activity.png
:alt: Schedule activity popup with emphasis on recommended activities.
.. note::
@@ -236,8 +226,7 @@ This :guilabel:`Schedule` field information can be altered before the activity i
When all configurations are complete, click :guilabel:`Save`.
.. image:: plan_activities/triggered-activities.png
:align: center
.. image:: activities/triggered-activities.png
:alt: Schedule new activity popup with emphasis on Done and launch next button.
.. note::
@@ -246,5 +235,5 @@ When all configurations are complete, click :guilabel:`Save`.
:guilabel:`Trigger` field.
.. seealso::
- :doc:`get_started`
- :doc:`team_communication`
- :doc:`/applications/productivity/discuss`
- :doc:`/applications/productivity/discuss/team_communication`

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Before

Width:  |  Height:  |  Size: 1.6 MiB

After

Width:  |  Height:  |  Size: 1.6 MiB

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Before

Width:  |  Height:  |  Size: 8.2 KiB

After

Width:  |  Height:  |  Size: 8.2 KiB

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Before

Width:  |  Height:  |  Size: 8.7 KiB

After

Width:  |  Height:  |  Size: 8.7 KiB

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 35 KiB

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

Before

Width:  |  Height:  |  Size: 57 KiB

After

Width:  |  Height:  |  Size: 57 KiB

Before

Width:  |  Height:  |  Size: 9.1 KiB

After

Width:  |  Height:  |  Size: 9.1 KiB

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Before

Width:  |  Height:  |  Size: 9.3 KiB

After

Width:  |  Height:  |  Size: 9.3 KiB

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Before

Width:  |  Height:  |  Size: 8.0 KiB

After

Width:  |  Height:  |  Size: 8.0 KiB

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 46 KiB

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

-3
View File
@@ -8,8 +8,5 @@ Finance
finance/accounting
finance/expenses
finance/documents
finance/sign
finance/spreadsheet
finance/payment_providers
finance/fiscal_localizations
@@ -39,7 +39,7 @@ After setting the necessary formatting options and mapping the file columns with
fields, you can run a :guilabel:`Test` and :guilabel:`Import` your bank transactions.
.. seealso::
:doc:`/applications/general/export_import_data`
:doc:`/applications/essentials/export_import_data`
.. _transactions/register:
@@ -34,6 +34,6 @@ email, as usual, but the invoice is sent to the email of the address set as the
.. note::
- Reports, such as the delivery slip and invoice report, can be :doc:`customized using Studio
</applications/productivity/studio/pdf_reports>`.
</applications/studio/pdf_reports>`.
- If :doc:`Send by Post <snailmail>` is checked when you click :guilabel:`Send & Print`, the
invoice will be mailed to the invoice address.
@@ -44,7 +44,7 @@ your customers address is set correctly, including the country, before sendin
Pricing
=======
Snailmail is an :doc:`/applications/general/in_app_purchase` service that requires prepaid stamps
Snailmail is an :doc:`/applications/essentials/in_app_purchase` service that requires prepaid stamps
(=credits) to work. Sending one document consumes one stamp.
To buy stamps, go to :menuselection:`Accounting --> Configuration --> Settings --> Customer
@@ -90,6 +90,6 @@ select all the reports you would like to process, click on the :guilabel:`Action
select :guilabel:`Process follow-ups`.
.. seealso::
- :doc:`../../../general/in_app_purchase`
- :doc:`../../../marketing/sms_marketing/pricing/pricing_and_faq`
- :doc:`/applications/essentials/in_app_purchase`
- :doc:`/applications/marketing/sms_marketing/pricing/pricing_and_faq`
- :doc:`../customer_invoices/snailmail`
@@ -26,8 +26,8 @@ If you use Odoo on Odoo.com or Odoo.sh platform, your code is already up-to-date
to the next step.
If you use Odoo with an on-premise setup or through a partner, you must update your installation as
detailed in :doc:`this documentation page </administration/maintain/update>`, or by contacting your
integrating partner.
detailed in :doc:`this documentation page </administration/on_premise/update>`, or by contacting
your integrating partner.
Update the list of available modules
====================================
@@ -52,8 +52,9 @@ The email alias is now available in the :guilabel:`Advanced Settings` tab of the
sent to this address will be converted automatically into new invoices or bills.
.. note::
If you use the :doc:`Documents <../../documents>` app, you can automatically send your scanned
invoices to the :guilabel:`Finance` workspace (e.g., `inbox-financial@example.odoo.com`).
If you use the :doc:`Documents </applications/productivity/documents>` app, you can automatically
send your scanned invoices to the :guilabel:`Finance` workspace (e.g.,
`inbox-financial@example.odoo.com`).
The default email aliases `vendor-bills@` and `customer-invoices@` followed by the
:guilabel:`Alias Domain` you set are automatically created for the :guilabel:`Vendor Bills` and
@@ -96,4 +97,4 @@ and click on :guilabel:`Buy credits`, or go to :menuselection:`Settings --> Odoo
.. seealso::
- `Our Privacy Policy <https://iap.odoo.com/privacy#header_6>`_
- :doc:`/applications/general/in_app_purchase`
- :doc:`/applications/essentials/in_app_purchase`
+5 -5
View File
@@ -216,9 +216,9 @@ Configuration --> Settings`. Ensure :guilabel:`Incoming Emails` is enabled.
.. note::
If the domain alias needs to be set up, :guilabel:`Setup your domain alias` will appear beneath
the incoming emails check box instead of the email address field. Refer to this documentation for
setup instructions and more information: :doc:`/administration/maintain/domain_names`. Once the
domain alias is configured, the email address field will be visible beneath the incoming emails
section.
setup instructions and more information:
:doc:`/applications/websites/website/configuration/domain_names`. Once the domain alias is
configured, the email address field will be visible beneath the incoming emails section.
Next, enter the email address to be used in the email field, and then click :guilabel:`Save`. Now
that the email address has been entered, emails can be sent to that alias to create new expenses
@@ -391,8 +391,8 @@ To see who has rights to approve, go to the main :menuselection:`Settings` app a
the *Settings* app.
- :guilabel:`Settings`: The user has access to the entire *Settings* app with no restrictions.
Please refer to :doc:`this document </applications/general/users/manage_users>` to learn more
about managing users and their access rights.
Please refer to :doc:`this document </applications/general/users>` to learn more about managing
users and their access rights.
Click on an individual to view their card, which displays the :guilabel:`Access Rights` tab in the
default view. Scroll down to the :guilabel:`Human Resources` section. Under :guilabel:`Expenses`,
@@ -474,7 +474,7 @@ The Odoo POS system is certified for the major versions of databases hosted on *
- Not certified
.. seealso::
:doc:`/administration/maintain/supported_versions`
:doc:`/administration/supported_versions`
A `certified POS system <https://www.systemedecaisseenregistreuse.be/systemes-certifies>`_ must
adhere to rigorous government regulations, which means it operates differently from a non-certified
@@ -575,7 +575,7 @@ provide the following information:
- your company's name, address, and legal structure; and
- the Mac address of your IoT Box.
Once your IoT box is certified, :doc:`connect <../../productivity/iot/config/connect>` it to your
Once your IoT box is certified, :doc:`connect <../../general/iot/config/connect>` it to your
database. To verify that the IoT Box recognizes the FDM, go to the IoT homepage and scroll down the
:guilabel:`IOT Device` section, which should display the FDM.
@@ -87,7 +87,7 @@ to automatically compute taxes by taking into account the company, contact (cust
transaction information to retrieve the correct tax to be used and process the e-invoice afterward
with the government.
Using this integration requires :doc:`In-App-Purchases (IAPs) <../../general/in_app_purchase>` to
Using this integration requires :doc:`In-App-Purchases (IAPs) <../../essentials/in_app_purchase>` to
compute the taxes and to send the electronic invoices. Whenever you compute taxes, an |API| call is
made using credits from your |IAP| credits balance.
@@ -220,7 +220,7 @@ Proxy. Copy the token and save it in a safe place for later use.
.. seealso::
- `Odoo: Download Odoo <https://www.odoo.com/page/download>`_
- :doc:`../../../administration/install`
- :doc:`../../../administration/on_premise`
.. _egypt/e-invoicing-usb-configuration:
@@ -368,7 +368,7 @@ of conformity testifying that your software complies with the anti-fraud
legislation. This certificate is granted by Odoo SA to Odoo Enterprise users
`here <https://www.odoo.com/my/contract/french-certification/>`_.
If you use Odoo Community, you should :doc:`upgrade to Odoo Enterprise
</administration/maintain/enterprise>` or contact your Odoo service provider.
</administration/on_premise/community_to_enterprise>` or contact your Odoo service provider.
In case of non-conformity, your company risks a fine of €7,500.
@@ -73,7 +73,7 @@ agreement. On the next page, select the :guilabel:`type of install: Odoo IoT`. T
:guilabel:`Next` and :guilabel:`Install`. Once completed, click :guilabel:`Next`. Check the
:guilabel:`Start Odoo` box to be redirected to Odoo automatically, and then click :guilabel:`Finish`.
A new page opens, confirming your :doc:`IoT Box <../../productivity/iot/config/connect>` is up and
A new page opens, confirming your :doc:`IoT Box <../../general/iot/config/connect>` is up and
running. Connect your physical device **Tremol G03 Control Unit (type C)** to your laptop via USB.
In the :guilabel:`IoT Device` section, check that your Tremol G03 Control Unit (type C) appears,
confirming the connection between the device and your computer.
@@ -87,7 +87,7 @@ confirming the connection between the device and your computer.
in the top right corner.
.. seealso::
:doc:`Connect an IoT box to your database <../../productivity/iot/config/connect>`
:doc:`Connect an IoT box to your database <../../general/iot/config/connect>`
Sending the data to KRA using the Tremol G03 Control Unit
---------------------------------------------------------
@@ -253,7 +253,7 @@ Products
To configure products, go to :menuselection:`Accounting --> Customers --> Products`, then select a
product to configure, or :guilabel:`Create` a new one. In the :guilabel:`Accounting` tab, and in the
:guilabel:`UNSPSC Product Category` field, select the category that represents the product. The
process can be done manually, or through :doc:`a bulk import <../../general/export_import_data>`.
process can be done manually, or through :doc:`a bulk import <../../essentials/export_import_data>`.
.. note::
All products need to have an |SAT| code associated with them in order to prevent validation
+7 -12
View File
@@ -1,18 +1,13 @@
=============
Miscellaneous
=============
================
General settings
================
.. toctree::
general/users
general/auth
general/apps_modules
general/export_import_data
general/search
general/reporting
general/users
general/companies
general/iot
general/email_communication
general/voip
general/geolocation
general/digest_emails
general/in_app_purchase
general/integrations
general/developer_mode
@@ -45,8 +45,7 @@ Upgrade apps and modules
========================
On some occasions, new improvements or app features are added to :doc:`supported versions of Odoo
</administration/maintain/supported_versions>`. To be able to use them, you must **upgrade** your
app.
</administration/supported_versions>`. To be able to use them, you must **upgrade** your app.
Go to :menuselection:`Apps`, click on the *dropdown menu* of the app you want to upgrade, then on
*Upgrade*.
-13
View File
@@ -1,13 +0,0 @@
:nosearch:
==============
Authentication
==============
.. toctree::
:titlesonly:
auth/google
auth/azure
auth/ldap
auth/2fa
@@ -1,3 +1,5 @@
:show-content:
=========
Companies
=========
@@ -52,7 +54,7 @@ company only. To do so, on their forms, choose between:
Employees' access
=================
Once companies are created, manage your employees' :doc:`Access Rights <access_rights>`
Once companies are created, manage your employees' :doc:`Access Rights <users/access_rights>`
for *Multi Companies*.
.. image:: companies/access_rights_multi_companies.png
@@ -86,12 +88,12 @@ Inter-Company Transactions
First, make sure each one of your companies is properly set in relation to:
- :doc:`Chart of Accounts <../../finance/accounting/get_started/chart_of_accounts>`
- :doc:`Taxes <../../finance/accounting/taxes>`
- :doc:`Fiscal Positions <../../finance/accounting/taxes/fiscal_positions>`
- :doc:`Journals <../../finance/accounting/bank>`
- :doc:`Fiscal Localizations <../../finance/fiscal_localizations>`
- :doc:`Pricelists <../../sales/sales/products_prices/prices/pricing>`
- :doc:`Chart of Accounts <../finance/accounting/get_started/chart_of_accounts>`
- :doc:`Taxes <../finance/accounting/taxes>`
- :doc:`Fiscal Positions <../finance/accounting/taxes/fiscal_positions>`
- :doc:`Journals <../finance/accounting/bank>`
- :doc:`Fiscal Localizations <../finance/fiscal_localizations>`
- :doc:`Pricelists <../sales/sales/products_prices/prices/pricing>`
Now, activate the *Inter-Company Transactions* option under *Settings*. With the respective company
*activated* and *selected*, choose if you would like operations between companies to be synchronized
@@ -131,4 +133,10 @@ at an invoice/bills level or at a sales/purchase orders level.
.. seealso::
- :doc:`Multi-company Guidelines </developer/howtos/company>`
- :doc:`../../finance/accounting/get_started/multi_currency`
- :doc:`../finance/accounting/get_started/multi_currency`
.. toctree::
:titlesonly:
companies/digest_emails
companies/email_template

Before

Width:  |  Height:  |  Size: 62 KiB

After

Width:  |  Height:  |  Size: 62 KiB

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 23 KiB

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 36 KiB

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 42 KiB

@@ -255,7 +255,7 @@ parameter used to generate all the links.
This is a known limitation.
For more information about how to configure domains, check out the :doc:`domain name documentation
</administration/maintain/domain_names>`.
</applications/websites/website/configuration/domain_names>`.
Updating translations within email templates
--------------------------------------------

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before

Width:  |  Height:  |  Size: 45 KiB

After

Width:  |  Height:  |  Size: 45 KiB

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 44 KiB

Before

Width:  |  Height:  |  Size: 68 KiB

After

Width:  |  Height:  |  Size: 68 KiB

@@ -1,7 +1,7 @@
:nosearch:
===================
Email Communication
Email communication
===================
.. toctree::
@@ -9,5 +9,7 @@ Email Communication
email_communication/email_servers
email_communication/email_domain
email_communication/email_template
email_communication/azure_oauth
email_communication/google_oauth
email_communication/mailjet_api
email_communication/faq
@@ -0,0 +1,293 @@
=======================================================
Connect Microsoft Outlook 365 to Odoo using Azure OAuth
=======================================================
Odoo is compatible with Microsoft's Azure OAuth for Microsoft 365. In order to send and receive
secure emails from a custom domain, all that is required is to configure a few settings on the
Azure platform and on the back end of the Odoo database. This configuration works with either a
personal email address or an address created by a custom domain.
.. seealso::
`Microsoft Learn: Register an application with the Microsoft identity platform
<https://learn.microsoft.com/azure/active-directory/develop/quickstart-register-app>`_
.. seealso::
- :doc:`/applications/general/users/azure`
- :doc:`/applications/productivity/calendar/outlook`
Setup in Microsoft Azure Portal
===============================
Create a new application
------------------------
To get started, go to `Microsoft's Azure Portal <https://portal.azure.com/>`_. Log in with the
:guilabel:`Microsoft Outlook Office 365` account if there is one, otherwise log in with the
personal :guilabel:`Microsoft account`. A user with administrative access to the Azure Settings
will need to connect and perform the following configuration. Next, navigate to the section
labeled :guilabel:`Manage Microsoft Entra ID` (formally *Azure Active Directory*).
Now, click on :guilabel:`Add (+)`, located in the top menu, and then select :guilabel:`App
registration`. On the :guilabel:`Register an application` screen, rename the :guilabel:`Name` to
`Odoo` or something recognizable. Under the :guilabel:`Supported account types` section select
:guilabel:`Accounts in any organizational directory (Any Microsoft Entra ID directory - Multitenant)
and personal Microsoft accounts (e.g. Skype, Xbox)`.
Under the :guilabel:`Redirect URL` section, select :guilabel:`Web` as the platform, and then input
`https://<odoo base url>/microsoft_outlook/confirm` in the :guilabel:`URL` field. The Odoo base URL
is the canonical domain at which your Odoo instance can be reached in the URL field.
.. example::
*mydatabase.odoo.com*, where *mydatabase* is the actual prefix of the database's subdomain,
assuming it's hosted on Odoo.com
After the URL has been added to the field, :guilabel:`Register` the application so it is created.
API permissions
---------------
The :guilabel:`API permissions` should be set next. Odoo will need specific API permissions to be
able to read (IMAP) and send (SMTP) emails in the Microsoft 365 setup. First, click the
:guilabel:`API permissions` link, located in the left menu bar. Next, click on the :guilabel:`(+)
Add a Permission` button and select :guilabel:`Microsoft Graph` under :guilabel:`Commonly Used
Microsoft APIs`. After, select the :guilabel:`Delegated Permissions` option.
In the search bar, search for the following :guilabel:`Delegated permissions` and click
:guilabel:`Add permissions` for each one:
- :guilabel:`SMTP.Send`
- :guilabel:`IMAP.AccessAsUser.All`
.. note::
The :guilabel:`User.Read` permission will be added by default.
.. image:: azure_oauth/permissions.png
:align: center
:alt: API permissions needed for Odoo integration are listed under the Microsoft Graph.
Assign users and groups
=======================
After adding the API permissions, navigate back to the :guilabel:`Overview` of the
:guilabel:`Application` in the top of the left sidebar menu.
Now, add users to this application. Under the :guilabel:`Essentials` overview table, click on the
link labeled :guilabel:`Managed Application in Local Directory`, or the last option on the bottom
right-hand side of the table.
.. image:: azure_oauth/managed-application.png
:align: center
:alt: Add users/groups by clicking the Managed application in local directory link for the
created application.
In the left sidebar menu, select :guilabel:`Users and Groups`. Next, click on :guilabel:`(+) Add
User/Group`. Depending on the account, either a :guilabel:`Group` and a :guilabel:`User` can be
added, or only :guilabel:`Users`. Personal accounts will only allow for :guilabel:`Users` to be
added.
Under :guilabel:`Users` or :guilabel:`Groups`, click on :guilabel:`None Selected` and add the users
or group of users that will be sending emails from the :guilabel:`Microsoft account` in Odoo.
:guilabel:`Add` the users/groups, click :guilabel:`Select`, and then :guilabel:`Assign` them to the
application.
Create credentials
------------------
Now that the Microsoft Azure app is set up, credentials need to be created for the Odoo setup.
These include the :guilabel:`Client ID` and :guilabel:`Client Secret`. To start, the
:guilabel:`Client ID` can be copied from the :guilabel:`Overview` page of the app. The
:guilabel:`Client ID` or :guilabel:`Application ID` is located under the :guilabel:`Display Name`
in the :guilabel:`Essentials` overview of the app.
.. image:: azure_oauth/application-id.png
:align: center
:alt: Application/Client ID located in the Overview of the app.
Next, the :guilabel:`Client Secret Value` needs to be retrieved. To get this value, click on
:guilabel:`Certificates & Secrets` in the left sidebar menu. Then, a :guilabel:`Client Secret`
needs to be produced. In order to do this, click on the :guilabel:`(+) New Client Secret` button.
A window on the right will populate with a button labeled :guilabel:`Add a client secret`. Under
:guilabel:`Description`, type in `Odoo Fetchmail` or something recognizable, and then set the
:guilabel:`expiration date`.
.. important::
A new :guilabel:`Client Secret` will need to be produced and configured if the first one
expires. In this event, there could be an interruption of service, so the expiration date should
be noted and set to the furthest possible date.
Next, click on :guilabel:`Add` when these two values are entered. A :guilabel:`Client Secret Value`
and :guilabel:`Secret ID` will be created. It is important to copy the :guilabel:`Value` or
:guilabel:`Client Secret Value` into a notepad as it will become encrypted after leaving this page.
The :guilabel:`Secret ID` is not needed.
.. image:: azure_oauth/secretvalue.png
:align: center
:alt: Client Secret Value or Value in the app's credentials.
After these steps, the following items should be ready to be set up in Odoo:
- A client ID (:guilabel:`Client ID` or :guilabel:`Application ID`)
- A client secret (:guilabel:`Value` or :guilabel:`Client Secret Value`)
This completes the setup on the :guilabel:`Microsoft Azure Portal` side.
Setup in Odoo
=============
Enter Microsoft Outlook credentials
-----------------------------------
First, open the Odoo database and navigate to the :guilabel:`Apps` module. Then, remove the
:guilabel:`Apps` filter from the search bar and type in `Outlook`. After that, install the module
called :guilabel:`Microsoft Outlook`.
Next, navigate to :menuselection:`Settings --> General Settings`, and under the :guilabel:`Discuss`
section, ensure that the checkbox for :guilabel:`Custom Email Servers` is checked. This populates
a new option for :guilabel:`Outlook Credentials`.
:guilabel:`Save` the progress.
Then, copy and paste the :guilabel:`Client ID` (Application ID) and :guilabel:`Client Secret
(Client Secret Value)` into the respective fields and :guilabel:`Save` the settings.
.. image:: azure_oauth/outlookcreds.png
:align: center
:alt: Outlook Credentials in Odoo General Settings.
Configure outgoing email server
-------------------------------
On the :guilabel:`General Settings` page, under the :guilabel:`Custom Email Servers` setting,
click the :guilabel:`Outgoing Email Servers` link to configure the Microsoft account.
Then, create a new email server and check the box for :guilabel:`Outlook`. Next, fill in the
:guilabel:`Name` (it can be anything) and the Microsoft Outlook email :guilabel:`Username`.
If the :guilabel:`From Filter` field is empty, enter either a :ref:`domain or email address
<email_communication/default>`.
Then, click on :guilabel:`Connect your Outlook account`.
A new window from Microsoft opens to complete the :guilabel:`authorization process`. Select the
appropriate email address that is being configured in Odoo.
.. image:: azure_oauth/verify-outlook.png
:align: center
:alt: Permission page to grant access between newly created app and Odoo.
Then, allow Odoo to access the Microsoft account by clicking on :guilabel:`Yes`. After this, the
page will navigate back to the newly configured :guilabel:`Outgoing Mail Server` in Odoo. The
configuration automatically loads the :guilabel:`token` in Odoo, and a tag stating
:guilabel:`Outlook Token Valid` appears in green.
.. image:: azure_oauth/outlook-token.png
:align: center
:alt: Valid Outlook Token indicator.
Finally, click :guilabel:`Test Connection`. A confirmation message should appear. The Odoo database
can now send safe, secure emails through Microsoft Outlook using OAuth authentication.
.. _azure_oauth/notifications:
Configuration with a single outgoing mail server
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Configuring a single outgoing server is the simplest configuration available for Microsoft Azure
and it doesn't require extensive access rights for the users in the database.
A generic email address would be used to send emails for all users within the database. For example
it could be structured with a `notifications` alias (`notifications@example.com`) or `contact` alias
(`contact@example.com`). This address must be set as the :guilabel:`FROM Filtering` on the server.
This address must also match the `{mail.default.from}@{mail.catchall.domain}` key combination in the
system parameters.
.. seealso::
For more information on the from filter visit: :ref:`email_communication/default`.
.. note::
The :guilabel:`System Parameters` can be accessed by activating :ref:`developer-mode` in the
:menuselection:`Settings --> Technical --> Parameters --> System Parameters` menu.
When using this configuration, every email that is sent from the database will use the address of
the configured `notification` mailbox. However it should be noted that the name of the sender will
appear but their email address will change:
.. image:: azure_oauth/from-name-remain.png
:align: center
:alt: Name from real sender with static email.
.. example::
Single outgoing mail server configuration:
- Outgoing mail server **username** (login) = `notifications@example.com`
- Outgoing mail server :guilabel:`FROM Filtering` = `notifications@example.com`
- `mail.catchall.domain` in system parameters = `example.com`
- `mail.default.from` in system parameters = `notifications`
User-specific (multiple user) configuration
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In addition to a generic email server, individual email servers can be set up for users in a
database. These email addresses must be set as the :guilabel:`FROM Filtering` on each individual
server for this configuration to work.
This configuration is the more difficult of the two Microsoft Azure configurations, in that it
requires all users configured with email servers to have access rights to settings in order to
establish a connection to the email server.
Setup
*****
Each user should have a separate email server set up. The :guilabel:`FROM Filtering` 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 Filtering` is able to use this server.
.. seealso::
For more information on the from filter visit: :ref:`email_communication/default`.
A :ref:`fallback server <azure_oauth/notifications>` must be setup to allow for the sending of
:guilabel:`notifications`. The :guilabel:`FROM Filtering` for this server should have the value of
the `{mail.default.from}@{mail.catchall.domain}`.
.. note::
The :guilabel:`System Parameters` can be accessed by activating :ref:`developer-mode` in the
:menuselection:`Settings --> Technical --> Parameters --> System Parameters` menu.
.. important::
The configuration for this transactional email server can work alongside an outgoing mass-mailing
email server. The :guilabel:`FROM Filtering` for the mass-mailing email server can remain empty,
but it's require to be added in the settings of the *Email Marketing* application.
.. seealso::
For more information on setting the mass-mailing email server visit
:ref:`email_communication/mass_mails`.
.. example::
Multiple user outgoing mail server configuration:
- User #1 mailbox
- Outgoing mail server #1 **username** (login) = `john@example.com`
- Outgoing mail server #1 :guilabel:`FROM Filtering` = `john@example.com`
- User #2 mailbox
- Outgoing mail server #2 **username** (login) = `jane@example.com`
- Outgoing mail server #2 :guilabel:`FROM Filtering` = `jane@example.com`
- Notifications mailbox
- Outgoing mail server #3 **username** (login) = `notifications@example.com`
- Outgoing mail server #3 :guilabel:`FROM Filtering` = `notifications@example.com`
- System Parameters
- `mail.catchall.domain` in system parameters = `example.com`
- `mail.default.from` in system parameters = `notifications`
Configure incoming email server
-------------------------------
The incoming account should be configured in a similar way to the outgoing email account. Navigate
to the :guilabel:`Incoming Mail Servers` in the :guilabel:`Technical Menu` and :guilabel:`Create` a
new configuration. Check or Select the button next to :guilabel:`Outlook Oauth Authentication` and
enter the :guilabel:`Microsoft Outlook username`. Click on :guilabel:`Connect your Outlook
account`. Odoo will state: :guilabel:`Outlook Token Valid` Now :guilabel:`Test and Confirm` the
account. The account should be ready to receive email to the Odoo database.
.. seealso::
:doc:`email_servers`
Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

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