[IMP] Calendar: Outlook sync warning
If committed, this will add a more elaborate warning on what users must do before syncing Odoo Calendar and Outlook Calendar. It also removes mentions of the import/export process and archiving events, as these methods will not prevent email spam from Outlook. closes odoo/documentation#2925 Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
@ -1,103 +1,139 @@
|
|||||||
=======================================
|
======================================
|
||||||
Synchronization with Outlook's Calendar
|
Synchronize Outlook Calendar with Odoo
|
||||||
=======================================
|
======================================
|
||||||
|
|
||||||
Synchronizing your **main** Outlook Calendar with Odoo is useful to keep track of your tasks and
|
Synchronizing a user's Outlook Calendar with Odoo is useful for keeping track of their tasks and
|
||||||
appointments, and across all related applications.
|
appointments across all related applications.
|
||||||
|
|
||||||
Register your application with the Microsoft identity platform
|
Register the application with Microsoft Azure
|
||||||
==============================================================
|
=============================================
|
||||||
|
|
||||||
| In order to be able to sync your Outlook Calendar with Odoo's Calendar, a Microsoft Azure account
|
To sync the Outlook Calendar with Odoo's Calendar, a Microsoft Azure account is needed. Creating an
|
||||||
is needed. The creation of an account is free for users that have never tried or paid for Azure.
|
account is free for users who have never tried or paid for Azure. For more information, `click here
|
||||||
For more information, `click here <https://azure.microsoft.com/en-us/free/?WT.mc_id=A261C142F>`_.
|
<https://azure.microsoft.com/en-us/free/?WT.mc_id=A261C142F>`_.
|
||||||
| Following, `Set up an Azure AD Tenant <https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-create-new-tenant>`_,
|
|
||||||
also called environment, which is a representation of an organization, to manage and register apps.
|
|
||||||
| Ultimately, `Register an Application <https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-register-app>`_,
|
|
||||||
choosing the appropriate supported account type.
|
|
||||||
|
|
||||||
.. note::
|
Refer to `Microsoft's documentation <https://docs.microsoft.com/en-us/azure/active-directory/
|
||||||
When configuring your platform settings, choose *Web*.
|
develop/quickstart-create-new-tenant>`_ on how to set up an Azure AD Tenant (also called an
|
||||||
|
*environment*), which is a representation of an organization to manage and register apps.
|
||||||
|
|
||||||
.. image:: outlook_calendar/platform_configurations.png
|
Then, `Register an Application <https://docs.microsoft.com/en-us/azure/active-directory/develop/
|
||||||
:align: center
|
quickstart-register-app>`_, choosing the appropriate :guilabel:`Supported account type`. Users who
|
||||||
:alt: Adding a platform in Microsoft Azure for Outlook calendar sync in Odoo
|
wish to connect their Outlook calendar to Odoo should select the :guilabel:`Accounts in any
|
||||||
|
organizational directory (Any Azure AD directory - Multitenant) and personal Microsoft accounts
|
||||||
|
(e.g. Skype, Xbox)` option for :guilabel:`Supported account types`.
|
||||||
|
|
||||||
.. important::
|
When configuring the :guilabel:`Redirect URI`, choose :guilabel:`Web` and copy the Odoo database
|
||||||
| For the **Redirect URI restrictions**, copy your Odoo database URI followed by
|
URI (URL) followed by `/microsoft_account/authentication`.
|
||||||
``/microsoft_account/authentication``. Example:
|
|
||||||
|
|
||||||
.. image:: outlook_calendar/redirect_URIs.png
|
.. example::
|
||||||
:align: center
|
Enter `https://www.companyname.odoo.com/microsoft_account/authentication` for the
|
||||||
:alt: Odoo's database URI that is accepted when microsoft returns authentication
|
:guilabel:`Redirect URI`.
|
||||||
|
|
||||||
| For more information on the restrictions and limitations of URIs, `check this page <https://docs.microsoft.com/en-us/azure/active-directory/develop/reply-url>`_.
|
.. image:: outlook_calendar/azure-register-application.png
|
||||||
|
:align: center
|
||||||
|
:alt: The "Supported account type" and "Redirect URI" settings in the Microsoft Azure AD portal.
|
||||||
|
|
||||||
.. note::
|
For more information on the restrictions and limitations of URIs, `check this page <https://docs.
|
||||||
Regarding credentials, you *must* **Add a client secret**, called *Client Secret* in Odoo, which
|
microsoft.com/en-us/azure/active-directory/develop/reply-url>`_.
|
||||||
allows Odoo to authenticate itself, requiring no interaction from your side. *Certificates* are
|
|
||||||
optional.
|
Regarding the application credentials, the user *must* add a client secret, which allows Odoo to
|
||||||
|
authenticate itself, requiring no interaction from the user's side. :guilabel:`Certificates` are
|
||||||
|
optional.
|
||||||
|
|
||||||
|
To do add a client secret, click :guilabel:`Add a certificate or secret` and then click
|
||||||
|
:guilabel:`New client secret`. Next, type a :guilabel:`Description` and select when the client
|
||||||
|
secret :guilabel:`Expires`.
|
||||||
|
|
||||||
|
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.
|
||||||
|
Finally, click :guilabel:`Add` to generate the client secret (:guilabel:`Secret ID`).
|
||||||
|
|
||||||
Configuration in Odoo
|
Configuration in Odoo
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
Go to general *Settings* and activate the *Outlook Calendar* feature.
|
In the Odoo database, go to :menuselection:`Settings --> General Settings --> Integrations` and
|
||||||
|
activate the :guilabel:`Outlook Calendar` setting.
|
||||||
|
|
||||||
.. image:: outlook_calendar/outlook_calendar.png
|
.. image:: outlook_calendar/outlook-calendar-setting.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: Outlook Calendar feature activated in Odoo
|
:alt: The "Outlook Calendar" setting activated in Odoo.
|
||||||
|
|
||||||
From your Azure portal, under *Overview*, copy your *Application (client) ID*, and paste it to
|
From the Microsoft Azure portal, under the :guilabel:`Overview` section of the application, copy
|
||||||
*Client ID* in Odoo.
|
the :guilabel:`Application (Client) ID`, and paste it into the :guilabel:`Client ID` field in Odoo.
|
||||||
|
|
||||||
.. image:: outlook_calendar/application_client_ID.png
|
.. image:: outlook_calendar/client-id.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: Client ID token to be copied from Microsoft to Odoo
|
:alt: The "Client ID" in the Microsoft Azure portal.
|
||||||
|
|
||||||
Going back to your Azure portal, now under *Certificates & secrets*, copy your *Client Secret Value*
|
In the Microsoft Azure portal, under the :guilabel:`Certificates & secrets` section, copy the
|
||||||
and paste it to *Client Secret* in Odoo.
|
:guilabel:`Client Secret Value` and paste it into the :guilabel:`Client Secret` field in Odoo.
|
||||||
|
|
||||||
.. image:: outlook_calendar/client_secrets.png
|
.. image:: outlook_calendar/client-secret-value.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: Client Secret token to be copied from Microsoft to Odoo
|
:alt: The "Client Secret" token to be copied from Microsoft to Odoo.
|
||||||
|
|
||||||
|
Finally, on the Odoo :menuselection:`Settings --> General Settings` page, click :guilabel:`Save`.
|
||||||
|
|
||||||
.. _outlook_calendar/sync_with_outlook:
|
.. _outlook_calendar/sync_with_outlook:
|
||||||
|
|
||||||
Sync with Outlook
|
Sync with Outlook
|
||||||
=================
|
=================
|
||||||
|
|
||||||
.. important::
|
.. warning::
|
||||||
| Odoo Calendar sends a confirmation email at the creation of an event to its attendees. But, on
|
|
||||||
the **first** sync, Outlook will also send confirmation emails of all scheduled events
|
|
||||||
(including past ones).
|
|
||||||
| To avoid this situation, we recommend *archiving all past events, and removing yourself from
|
|
||||||
future ones in Odoo Calendar before the first sync*. This will prevent events from being
|
|
||||||
created in Outlook, and therefore, no redundant emails will be sent during the first
|
|
||||||
synchronization. After the sync, events will only send one confirmation email.
|
|
||||||
|
|
||||||
.. image:: outlook_calendar/archive_odoocalendar.png
|
Odoo highly recommends testing the Outlook calendar synchronization on a test database and a
|
||||||
:align: center
|
test email address (that is not used for any other purpose) before attempting to sync the
|
||||||
:alt: Archive events in Odoo Calendar
|
desired Outlook Calendar with the user's production database.
|
||||||
|
|
||||||
Go to the *Calendar* application and *Sync with Outlook*. You are asked to log in to
|
If the user has any past, present, or future events on their Odoo calendar before syncing their
|
||||||
your account, if you are not already, and grant the required permissions.
|
Outlook calendar, Outlook will treat the events pulled from Odoo's calendar during the sync as
|
||||||
|
new events, causing an email notification to be sent from Outlook to all the event attendees.
|
||||||
|
|
||||||
.. image:: outlook_calendar/sync_with_outlook.png
|
To avoid unwanted emails being sent to all past, present, and future event attendees, the user
|
||||||
|
must add the events from the Odoo calendar to the Outlook calendar before the first ever sync,
|
||||||
|
delete the events from Odoo, and then start the sync.
|
||||||
|
|
||||||
|
Even after synchronizing the Odoo Calendar with the Outlook calendar, Outlook will still send a
|
||||||
|
notification to all event participants every time an event is edited (created, deleted,
|
||||||
|
unarchived, or event date/time changed), with no exceptions. This is a limitation that cannot be
|
||||||
|
fixed from Odoo's side.
|
||||||
|
|
||||||
|
After one user syncs their Outlook calendar to the Odoo database, unwanted email notifications
|
||||||
|
are unavoidable because the first synchronized user's events will be in the Odoo Calendar. If
|
||||||
|
the Odoo database is shared amongst multiple users, and another user wants to sync their Outlook
|
||||||
|
calendar with Odoo Calendar, Outlook will again pull the existing Odoo Calendar events during
|
||||||
|
the sync and treat them as new events, causing Outlook to send email invitations to all event
|
||||||
|
attendees.
|
||||||
|
|
||||||
|
In summary, once a user synchronizes their Outlook calendar with the Odoo calendar:
|
||||||
|
|
||||||
|
- Creating an event in Odoo causes Outlook to send an invitation to all event attendees.
|
||||||
|
- Deleting an event in Odoo causes Outlook to send a cancellation to all event attendees.
|
||||||
|
- Unarchiving an event in Odoo causes Outlook to send an invitation to all event attendees.
|
||||||
|
- Archiving an event in Odoo causes Outlook to send a cancellation to all event attendees.
|
||||||
|
- Adding a contact to an event causes Outlook to send an invitation to all event attendees.
|
||||||
|
- Removing a contact from an event causes Outlook to send a cancellation to all event attendees.
|
||||||
|
|
||||||
|
Sync Odoo Calendar and Outlook
|
||||||
|
------------------------------
|
||||||
|
|
||||||
|
In the Odoo database, go to the :guilabel:`Calendar` module and click the :guilabel:`Outlook` sync
|
||||||
|
button. The page will redirect to a Microsoft login page, and the user is asked to log in to
|
||||||
|
their account, if they are not already, and grant the required permissions.
|
||||||
|
|
||||||
|
.. image:: outlook_calendar/outlook-sync-button.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: Calendar view and the button Sync with Outlook 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).
|
||||||
|
|
||||||
.. image:: outlook_calendar/synched_with_outlook.png
|
|
||||||
:align: center
|
|
||||||
:alt: View of Odoo's Calendar synched with Outlook's Calendar
|
|
||||||
|
|
||||||
.. 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_calendar/sync_with_outlook>`. The configuration of Microsoft's Azure account
|
Outlook <outlook_calendar/sync_with_outlook>`. The configuration of Microsoft's Azure account
|
||||||
is only done once, as Azure AD tenants' are unique, and represent an organization that helps you
|
is only done once, as Azure AD tenants' Client IDs and Client Secrets are unique, and represent
|
||||||
to manage a specific instance of Microsoft cloud services for your internal and external users.
|
an organization that helps the user to manage a specific instance of Microsoft cloud services
|
||||||
|
for their internal and external users.
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
- :doc:`../../../productivity/mail_plugins/outlook`
|
- :doc:`../../../productivity/mail_plugins/outlook`
|
||||||
|
Before Width: | Height: | Size: 59 KiB |
Before Width: | Height: | Size: 47 KiB |
After Width: | Height: | Size: 41 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 5.5 KiB |
After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 13 KiB |
After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 94 KiB |
Before Width: | Height: | Size: 33 KiB |