[IMP] productivity: microsoft calendar rewrite
closes odoo/documentation#8780 Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
This commit is contained in:
parent
c98b6a8717
commit
065f242993
@ -2,76 +2,142 @@
|
|||||||
Outlook Calendar synchronization
|
Outlook Calendar synchronization
|
||||||
================================
|
================================
|
||||||
|
|
||||||
Synchronizing a user's Outlook Calendar with Odoo is useful for keeping track of their tasks and
|
Synchronizing a user's *Outlook Calendar* with Odoo is useful for keeping track of tasks and
|
||||||
appointments across all related applications.
|
appointments across all related applications.
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
- :doc:`/applications/general/users/azure`
|
- :doc:`../../general/users/azure`
|
||||||
- :doc:`/applications/general/email_communication/azure_oauth`
|
- :doc:`../../general/email_communication/azure_oauth`
|
||||||
|
|
||||||
Register the application with Microsoft Azure
|
Microsoft Azure setup
|
||||||
=============================================
|
=====================
|
||||||
|
|
||||||
To sync the Outlook Calendar with Odoo's Calendar, a Microsoft Azure account is needed. Creating an
|
To sync the *Outlook Calendar* with Odoo's *Calendar*, a Microsoft *Azure* account is required.
|
||||||
account is free for users who have never tried or paid for Azure. For more information, `click here
|
Creating an account is free for users who have never tried, or paid for, *Azure*. For more
|
||||||
|
information, view the account options on the `Azure website
|
||||||
<https://azure.microsoft.com/en-us/free/?WT.mc_id=A261C142F>`_.
|
<https://azure.microsoft.com/en-us/free/?WT.mc_id=A261C142F>`_.
|
||||||
|
|
||||||
Refer to `Microsoft's documentation <https://docs.microsoft.com/en-us/azure/active-directory/
|
Refer to `Microsoft's documentation <https://docs.microsoft.com/en-us/azure/active-directory/
|
||||||
develop/quickstart-create-new-tenant>`_ on how to set up an Microsoft Entra ID (formally called
|
develop/quickstart-create-new-tenant>`_ on how to set up a Microsoft *Entra ID* (formally called
|
||||||
*Microsoft Azure Active Directory (Azure AD)*), which is a representation of an organization to
|
Microsoft *Azure Active Directory (Azure AD)*). This is an API console to manage and register
|
||||||
manage and register apps.
|
Microsoft applications.
|
||||||
|
|
||||||
Then, `Register an Application <https://docs.microsoft.com/en-us/azure/active-directory/develop/
|
Existing Microsoft *Entra ID* users should log in at the `Microsoft Azure developer portal
|
||||||
quickstart-register-app>`_, choosing the appropriate :guilabel:`Supported account type`. Users who
|
<https://portal.azure.com/#home>`_. Next, select :guilabel:`View` under the section labeled
|
||||||
wish to connect their Outlook calendar to Odoo should select the :guilabel:`Accounts in any
|
:guilabel:`Manage Microsoft Entra ID`.
|
||||||
organizational directory (Any Microsoft Entra ID directory - Multitenant) and personal Microsoft
|
|
||||||
accounts (e.g. Skype, Xbox)` option for :guilabel:`Supported account types`.
|
|
||||||
|
|
||||||
When configuring the :guilabel:`Redirect URI`, choose :guilabel:`Web` and copy the Odoo database
|
Register application
|
||||||
URI (URL) followed by `/microsoft_account/authentication`.
|
--------------------
|
||||||
|
|
||||||
|
After logging in with the Microsoft *Entra ID*, `register an application
|
||||||
|
<https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-register-app>`_.
|
||||||
|
|
||||||
|
To create an application, click :guilabel:`+ Add` in the top menu. From the resulting drop-down
|
||||||
|
menu, select :guilabel:`App Registration`.
|
||||||
|
|
||||||
|
.. image:: outlook/app-register.png
|
||||||
|
:align: center
|
||||||
|
:alt: Microsoft Azure management page with + Add and App Registration menu highlighted.
|
||||||
|
|
||||||
|
Enter a unique :guilabel:`Name` for the connected application.
|
||||||
|
|
||||||
|
Choosing the appropriate :guilabel:`Supported account type` is essential, or else the connected
|
||||||
|
application will not work. Users who wish to connect their *Outlook Calendar* to Odoo should select
|
||||||
|
the :guilabel:`Accounts in any organizational directory (Any Microsoft Entra ID directory -
|
||||||
|
Multitenant) and personal Microsoft accounts (e.g. Skype, Xbox)` option for :guilabel:`Supported
|
||||||
|
account types`.
|
||||||
|
|
||||||
|
When configuring the :guilabel:`Redirect URI`, choose the :guilabel:`Web` option from the first
|
||||||
|
drop-down menu. Then, enter the Odoo database URI (URL) followed by
|
||||||
|
`/microsoft_account/authentication`.
|
||||||
|
|
||||||
.. example::
|
.. example::
|
||||||
Enter `https://www.companyname.odoo.com/microsoft_account/authentication` for the
|
Enter `https://yourdbname.odoo.com/microsoft_account/authentication` for the :guilabel:`Redirect
|
||||||
:guilabel:`Redirect URI`.
|
URI`. Replace `yourdbname.odoo.com` with the :abbr:`URL (Uniform Resource Locator)`.
|
||||||
|
|
||||||
|
.. tip::
|
||||||
|
Ensure the database's :abbr:`URL (Uniform Resource Locator)` (domain) used in the URI is the
|
||||||
|
exact same domain as the one configured on the `web.base.url` system parameter.
|
||||||
|
|
||||||
|
Access the `web.base.url` by activating :ref:`developer mode <developer-mode>`, and navigating to
|
||||||
|
:menuselection:`Settings app --> Technical header menu --> Parameters section --> System
|
||||||
|
Parameters`. Then, select it from the :guilabel:`Key` list on the :guilabel:`System Parameters`
|
||||||
|
page.
|
||||||
|
|
||||||
.. image:: outlook/azure-register-application.png
|
.. image:: outlook/azure-register-application.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: The "Supported account type" and "Redirect URI" settings in the Microsoft Entra ID portal.
|
:alt: The "Supported account type" and "Redirect URI" settings in the Microsoft Entra ID portal.
|
||||||
|
|
||||||
For more information on the restrictions and limitations of URIs, `check this page <https://docs.
|
For more information on the restrictions and limitations of URIs, check Microsoft's `Redirect URI
|
||||||
microsoft.com/en-us/azure/active-directory/develop/reply-url>`_.
|
(reply URL) restrictions and limitations
|
||||||
|
<https://docs.microsoft.com/en-us/azure/active-directory/develop/reply-url>`_ page.
|
||||||
|
|
||||||
Regarding the application credentials, the user *must* add a client secret, which allows Odoo to
|
Finally, on the application registration page, click :guilabel:`Register` button to complete the
|
||||||
authenticate itself, requiring no interaction from the user's side. :guilabel:`Certificates` are
|
application registration. The :guilabel:`Application (client) ID` is produced. Copy this value, as
|
||||||
optional.
|
it is needed later, in the :ref:`outlook_calendar/odoo_setup`.
|
||||||
|
|
||||||
To do add a client secret, click :guilabel:`Add a certificate or secret` and then click
|
.. image:: outlook/app-client-id.png
|
||||||
:guilabel:`New client secret`. Next, type a :guilabel:`Description` and select when the client
|
:align: center
|
||||||
secret :guilabel:`Expires`.
|
:alt: Application client ID highlighted in the essentials section of the newly created
|
||||||
|
application.
|
||||||
|
|
||||||
|
Create client secret
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
The second credential needed to complete the synchronization of the Microsoft *Outlook Calendar* is
|
||||||
|
the *Client Secret*. The user **must** add a client secret, as this allows Odoo to authenticate
|
||||||
|
itself, requiring no interaction from the user's side. *Certificates* are optional.
|
||||||
|
|
||||||
|
To add a client secret, click :menuselection:`Certificates & secrets` in the left menu. Then click
|
||||||
|
:guilabel:`+ New client secret` to create the client secret.
|
||||||
|
|
||||||
|
.. image:: outlook/client-secret.png
|
||||||
|
:align: center
|
||||||
|
:alt: New client secret page with certificates and secrets menu and new client secret option
|
||||||
|
highlighted.
|
||||||
|
|
||||||
|
Next, type a :guilabel:`Description`, and select when the client secret :guilabel:`Expires`.
|
||||||
|
Available options include: :guilabel:`90 days (3 months)`, :guilabel:`365 days (12 months)`,
|
||||||
|
:guilabel:`545 days (18 months)`, :guilabel:`730 days (24 months)` or :guilabel:`Custom`. The
|
||||||
|
:guilabel:`Custom` option allows the administrator to set a :guilabel:`Start` and :guilabel:`End`
|
||||||
|
date.
|
||||||
|
|
||||||
|
Finally, click :guilabel:`Add` to :guilabel:`Add a client secret`.
|
||||||
|
|
||||||
|
.. tip::
|
||||||
Since resetting the synchronization can be tricky, Odoo recommends setting the maximum allowed
|
Since resetting the synchronization can be tricky, Odoo recommends setting the maximum allowed
|
||||||
expiration date for the client secret (24 months), so there is no need to re-synchronize soon.
|
expiration date for the client secret (24 months or custom), so there is no need to
|
||||||
Finally, click :guilabel:`Add` to generate the client secret (:guilabel:`Secret ID`).
|
re-synchronize soon.
|
||||||
|
|
||||||
|
Copy the :guilabel:`Value` for use in the next section.
|
||||||
|
|
||||||
|
.. warning::
|
||||||
|
Client secret values cannot be viewed, except immediately after creation. Be sure to save the
|
||||||
|
secret when created *before* leaving the page.
|
||||||
|
|
||||||
|
.. _outlook_calendar/odoo_setup:
|
||||||
|
|
||||||
Configuration in Odoo
|
Configuration in Odoo
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
In the Odoo database, go to :menuselection:`Settings --> General Settings --> Integrations` and
|
In the Odoo database, go to :menuselection:`Settings app --> Integrations section`, and tick the
|
||||||
activate the :guilabel:`Outlook Calendar` setting.
|
checkbox beside the :guilabel:`Outlook Calendar` setting. Remember to click :guilabel:`Save` to
|
||||||
|
implement the changes.
|
||||||
|
|
||||||
.. image:: outlook/outlook-calendar-setting.png
|
.. image:: outlook/outlook-calendar-setting.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: The "Outlook Calendar" setting activated in Odoo.
|
:alt: The "Outlook Calendar" setting activated in Odoo.
|
||||||
|
|
||||||
From the Microsoft Azure portal, under the :guilabel:`Overview` section of the application, copy
|
From the Microsoft *Azure* portal, under the :guilabel:`Overview` section of the application, copy
|
||||||
the :guilabel:`Application (Client) ID`, and paste it into the :guilabel:`Client ID` field in Odoo.
|
the :guilabel:`Application (Client) ID`, if it has not already been copied, and paste it into the
|
||||||
|
:guilabel:`Client ID` field in Odoo.
|
||||||
|
|
||||||
.. image:: outlook/client-id.png
|
.. image:: outlook/client-id.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: The "Client ID" in the Microsoft Azure portal.
|
:alt: The "Client ID" in the Microsoft Azure portal.
|
||||||
|
|
||||||
In the Microsoft Azure portal, under the :guilabel:`Certificates & secrets` section, copy the
|
Copy the previously-acquired :guilabel:`Value` (Client Secret Value), and paste it into the
|
||||||
:guilabel:`Client Secret Value` and paste it into the :guilabel:`Client Secret` field in Odoo.
|
:guilabel:`Client Secret` field in Odoo.
|
||||||
|
|
||||||
.. image:: outlook/client-secret-value.png
|
.. image:: outlook/client-secret-value.png
|
||||||
:align: center
|
:align: center
|
||||||
@ -115,26 +181,30 @@ Sync with Outlook
|
|||||||
Sync Odoo Calendar and Outlook
|
Sync Odoo Calendar and Outlook
|
||||||
------------------------------
|
------------------------------
|
||||||
|
|
||||||
In the Odoo database, go to the :guilabel:`Calendar` module and click the :guilabel:`Outlook` sync
|
In the Odoo database, open to the *Calendar* module, and click the :guilabel:`Outlook` sync button
|
||||||
button. The page will redirect to a Microsoft login page, and the user is asked to log in to their
|
on the right-side of the page, beneath the monthly calendar.
|
||||||
account, if they are not already, and grant the required permissions.
|
|
||||||
|
|
||||||
.. image:: outlook/outlook-sync-button.png
|
.. image:: outlook/outlook-sync-button.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: The "Outlook" sync button in Odoo Calendar.
|
:alt: The "Outlook" sync button in Odoo Calendar.
|
||||||
|
|
||||||
The synchronization is a two-way process, meaning that events are reconciled in both accounts
|
The synchronization is a two-way process, meaning that events are reconciled in both accounts
|
||||||
(Outlook and Odoo).
|
(*Outlook* and Odoo). The page redirects to a Microsoft login page, and the user is asked to log in
|
||||||
|
to their account, if they are not already. Finally, grant the required permissions by clicking
|
||||||
|
:guilabel:`Accept`.
|
||||||
|
|
||||||
|
.. image:: outlook/accept-terms.png
|
||||||
|
:align: center
|
||||||
|
:alt: Authentication process on Microsoft Outlook OAuth page.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
All users that want to use the synchronization simply need to :ref:`sync their calendar with
|
All users that want to use the synchronization simply need to :ref:`sync their calendar with
|
||||||
Outlook <outlook/sync>`. The configuration of Microsoft's Azure account is only done once, as
|
Outlook <outlook/sync>`. The configuration of Microsoft's *Azure* account is only done once, as
|
||||||
Microsoft Entra ID tenants' Client IDs and Client Secrets are unique, and represent an
|
Microsoft *Entra ID* tenants' client IDs and client secrets are unique, and help the user manage
|
||||||
organization that helps the user to manage a specific instance of Microsoft cloud services for
|
a specific instance of Microsoft cloud services for internal and external users.
|
||||||
their internal and external users.
|
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
- :doc:`/applications/general/integrations/mail_plugins/outlook`
|
- :doc:`../../general/integrations/mail_plugins/outlook`
|
||||||
- :doc:`google`
|
- :doc:`google`
|
||||||
|
|
||||||
Troubleshoot sync
|
Troubleshoot sync
|
||||||
|
Binary file not shown.
After Width: | Height: | Size: 28 KiB |
Binary file not shown.
After Width: | Height: | Size: 14 KiB |
Binary file not shown.
After Width: | Height: | Size: 16 KiB |
Binary file not shown.
After Width: | Height: | Size: 30 KiB |
Binary file not shown.
Before Width: | Height: | Size: 14 KiB |
Loading…
Reference in New Issue
Block a user