Configuration
⚠️Please note that this manual only applies to the legacy Exchange connector. The installation of the Azure-based Exchange connector can be done using the installer.
Add connector
In order to configure the Exchange connector:
Open the "CB Administration Tool".
Select the machine where the Connect Bridge service was installed (this normally is "localhost").
Log in with the following credentials:
- User: Administrator
- Password: 1234
You will be prompted to change the password. If you do so, please remember this for the rest of the process.
⚠️ Refrain from using "special" characters (e.g. !'?"&#, …) for the time being due to possible log in issues afterwards (known issue).
Select the menu "Accounts" in the "Manage" section.
Hit the "New" button and enter a name for the connector.
ℹ️ We recommend to use the name "ACCOUNT_EXCHANGE_2010". If another name is used please remember it for the rest of the process.
Select "MGEXPlugin2010" in the "Connector" field.
Configure connector
Microsoft has deprecated legacy authentication, which implies that OAuth2 authentication is recommended. Basic authentication (i.e. user name and password) therefore will no longer be sufficient to authenticate to resources such as Exchange.
If your organization uses OAuth2, follow the instructions of the following section, the 'Basic authentication' section can be skipped. The opposite is true for those who prefer to use the old approach.
OAuth2 authentication
ℹ️ Reminder: this section is only applicable when OAuth2 authentication is enabled.
The following fields need to be completed:
Plugin Properties | |
---|---|
UserName | The user name used to log in to the Exchange server web service. In case of Exchange Online (Office365) this is the same as the e-mail address. |
ServerUrl | The URL to the Exchange server web service (EWS) endpoint. In case of Exchange Online (Office365) just insert "Office365" as server url. |
EmailAddress | The e-mail address of the user used to log in to the Exchange server web service. |
AllowDeleteWithNoConditions | Enter the value "0" here. |
DeletedToDeletedItems | Enter value "1" in case items need to be deleted to the recycle bin. Else enter value "0". |
RequestServerVersion | Version of the Exchange server (e.g. Exchange2010SP1, Exchange2013,etc.). |
NoAddressResolution | Enter the value "0" here |
UseUtc | Enter the value "1" here |
After this, click the Authentication Wizard:
If you don't have any specific requirements regarding app permissions, you can simply click "Next": [1]
Sign in with the e-mail address of the user used to log in to the Exchange server web service:
If all went well, you should see the following window:
Finally, test the connection:
In the details, a few extra fields will have been populated: ClientId, ClientSecret, Uniqueidentifier, RefreshToken. The end result should look something like this:
- Now the new account needs to be added to the administrator group. To do this, select the menu "Groups" in the "Manage" section and edit the "group_administrator".
- Add the new account to the group by using the arrow buttons and save.
Basic authentication
ℹ️ Reminder: this section is only applicable when basic authentication is used. Microsoft will retire this in the second half of 2021. To avoid any service disruptions, we recommend you switch over to OAuth2 authentication.
The following fields need to be completed:
Plugin Properties | |
---|---|
Password | The password of the user account that will be used to log in on the Exchange server web service. |
UserName | The user name used to log in to the Exchange server web service. In case of Exchange Online (Office365) this is the same as the e-mail address. |
ServerUrl | The URL to the Exchange server web service (EWS) endpoint. In case of Exchange Online (Office365) just insert "Office365" as server url. |
EmailAddress | The e-mail address of the user used to log in to the Exchange server web service. |
AllowDeleteWithNoConditions | Enter the value "0" here. |
DeletedToDeletedItems | Enter value "1" in case items need to be deleted to the recycle bin. Else enter value "0". |
RequestServerVersion | Version of the Exchange server (e.g. Exchange2010SP1, Exchange2013,etc.). |
NoAddressResolution | Enter the value "0" here |
UseUtc | Enter the value "1" here |
- Hit the "Test Connection" button to check if everything was inserted successfully and then save the account.
- Now the new account needs to be added to the administrator group. To do this, select the menu "Groups" in the "Manage" section and edit the "group_administrator".
- Add the new account to the group by using the arrow buttons and save.
The end result should look something like this:
SQL Server
To communicate with the ConnectBridge service, a linked server will be used on SQL server. The linked server can be installed and configured by executing the following stored procedures. Make sure to execute them in the order in which they appear in this document.
ℹ️ If SQL server is installed on a different machine than the one where ConnectBridge was installed, a minor installation will also be needed on the SQL server.
setup_excCreateLinkedServer
This stored procedure will create the linked server.
Parameters | Required | Description |
---|---|---|
DsServiceAccount | ✔️ | The user name (including domain) of the user running the SQL Server Agent (e.g. DOMAIN\User) |
ConnectBridgeHost | ❌ | Server name of the machine hosting the Connect Bridge service. If SQL server is installed on the same machine as the service tier the value "localhost" can also be used. |
ConnectBridgePort | ❌ | The port where Connect Bridge is hosted. Only provide a value if the default was changed during installation time. When empty the standard value 8087 is used. |
ConnectBridgeAccount | ❌ | The account name. Only provide a value if the default was changed during installation time. When empty the standard value "ACCOUNT_EXCHANGE_2010" is used. |
ConnectBridgeUser | ❌ | The user. Only provide a value if the default was changed during installation time. When empty the standard value "Administrator" is used. |
ConnectBridgePassword | ❌ | The password. Only provide a value if the default was changed during installation time. When empty the standard value "1234" is used. |
setup_excCreateDSFields
This stored procedure will add new fields to the Connect Bridge gateway in order to store the Dime.Scheduler Appointment and Resource ID's.
setup_excAddResourcesToExchangeSharedUsers
This stored procedure will refresh the Microsoft Exchange permissions of every resource where integration is enabled.
exc_SyncAppointmentQueue
This stored procedure executes the actual synchronization of the appointments.
Job Scheduling
In order to automate the synchronization process the stored procedures setup_excAddResourcesToExchangeSharedUsers
and exc_SyncAppointmentQueue
as mentioned above can be scheduled for execution. The scheduling time frame can be chosen by the customer, depending on the business needs.
Typically a Microsoft SQL Server Agent is used for job scheduling. The agent - at scheduled intervals - runs a T-SQL script that looks like this: EXEC dbo.exc_SyncAppointmentQueue
.
Scheduling jobs on Microsoft SQL Server Express
If Dime.Scheduler is installed on an Express edition of Microsoft SQL server, a workaround is required as the Express edition does not contain a scheduling agent. The workaround we propose consist of the following steps:
Create a batch (.bat) file with the following line of code:
sqlcmd -S servername -U username -P password -i path of sqljob.sql
Create a SQL script file (e.g. sqljob.sql) that will be executed by the batch:
USE [databasename] EXEC dbo.exc_SyncAppointmentQueue GO
Schedule the execution of the batch file with the Windows Task Scheduler. Make sure to use the "Start In"-option in the task trigger in order to avoid issues with the task.
Client
To start tracking appointment changes for the Exchange synchronization, the following parameters should be activated in the Dime.Scheduler client:
Administration – Application – Tab: General
Settings – Resources – Exchange Integration Enabled & E-mail
Both parameters (Exchange integration enabled and e-mail address) will normally be sent from the back office application when synchronizing the resources. Please make sure the back office application doesn't undo these parameters when you insert them directly in the client.
You can register an application on Azure Active Directory. The only required permissions are "EWS.AccessAsUser.All", "email" and "User.Read". ↩