#764 MS Exchange plugin

Parent Category:
DPCalendar
Category:
Calendar plugins
Last Updated:
Allon Moritz (laoneo), Monday, 22 July 2019 11:44 (4 weeks ago.)
Created:
Thursday, 01 May 2014 18:03 (Thursday, 01 May 2014)
Hits:
9003

Introduction

The Microsoft Exchange calendar plugin integrates events from your corporate Exchange server or the Office 365 cloud service into Joomla. It uses the Exchange Web Service (EWS) API to access the events. Please check the requirements list below if DPCalendar can work on your infrastructure.

Requirements

There are some requirements which must be fulfilled to make the exchange integration work:

EWS Activated

On the Exchange server the EWS service must be activated. This service enables API access to the MS Exchange server.

To test if the Exchange API is enabled you can open the following url in your browser https://{{my-host}}/EWS/Exchange.asmx (replace {{my-host}} with your server address).

Curl version

Curl must be installed with a version higher than 7.23.0. As NTLM is only available since that version. Otherwise 401 errors will thrown. On the Joomla server run the following command to find out which curl version do you have installed:

php -i | grep "cURL Information"

You should see then an output like:

cURL Information => 7.28.1

Curl NTLM

The NTLM option must be activated in the curl setup. On the Joomla server run the following command to find out if NTLM is activated:

php -i | grep "NTLM"

You should see then an output like:

NTLM => yes

Open HTTPS connection

The MS Exchange server must be reachable from the Joomla server on port 443 with https connections. The same url must accessible by the Joomla server. A common command to test the url is with wget:

wget https://{{my-host}}/EWS/Exchange.asmx --no-check-certificate

You should see then an output like:

--2018-06-20 06:15:29--  https://{{my-host}}/EWS/Exchange.asmx
Connecting to {{my-host}}:443... connected.
WARNING: cannot verify {{my-host}}'s certificate, issued by `/CN=Foo':
  Unable to locally verify the issuer's authority.
    WARNING: certificate common name `Foo' doesn't match requested host name `{{my-host}}'.
HTTP request sent, awaiting response... 401 Unauthorized
Authorization failed.

The important part is that wget could establish a connection to the Exchange server as shown on line number 2. The authentication warnings can be ignored.

Office 365

If you are an office 365 user then please use the following settings in the DPCalendar Exchange plugin:

  • Host: outlook.office365.com
  • Username: Office 365 username
  • Password: Office 365 password

Attachment support

The plugin supports inline attachments of your Exchange events. These attachments are extracted out of the event description and stored in a cache folder in /cache/plg_dpcalendar_exchange/attachments. There are no file permissions set as the server should set the correct permissions. If the folders do have the wrong permissions, please double check if the folder is in the open_basedir list. Be careful with this setting as it can lead to security issues if defined wrongly.

Calendar Options

These settings are the same for every calendar configured in the plugin.

Host [Type: Text]
The host of the Exchange server.
Username [Type: Text]
The Exchange username.
Password [Type: Password]
The Exchange password.
Calendar Name [Type: Text]
The name of the Exchange calendar, if empty, the default calendar will be used.
Server Version [Type: List] [Default: Default]
The server version.
The following options are available:
  1. Default
  2. 2007
  3. 2010

Plugin Options

Caching [Type: List] [Default: Joomla]
Select whether to cache the calendar data.
The following options are available:
  1. Joomla
  2. Database
  3. Never
Cache Time [Type: Text] [Default: 900]
The time for the cache in sec.
Sync Start [Type: Text] [Default: -3 year]
The relative start date to sync from.
Sync End [Type: Text] [Default: +3 year]
The relative end date to sync from.
Sync Steps [Type: Text] [Default: 1 year]
The sync steps.

Comments (0)

Cookies make it easier for us to provide you with our services. With the usage of our services you permit us to use cookies.
More information Ok Decline