Calendar to Exchange Integration¶
The Alfresco Calendar to Exchange Integration module enables users to synchronise their folders from an Alfresco Share Calendar to a user's personal Exchange Calendar.
Features¶
- Allows users to Subscribe to Calendars from Alfresco Share
- This will synchronise to their main user calendar, so it is accessible via Outlook everywhere
Changelog¶
The change log for Exchange can be found here
Installation¶
The Exchange Integration comes with both a Share and Repo amp. Please follow our Installation guide on how to install this module.
Usage¶
Once you've followed the configuration steps below, you can subscribe from Alfresco Share:
- Navigate to a site you are interested in subscribing to and open the calendar page.
- Click the Subscribe button on the toolbar. You are now subscribed!
- It may take a small amount of time for all events to show up in your calendar.
- To Unsubscribe, click Unsubscribe on the toolbar. This will delete all events on your calendar for that site.
Configuring Alfresco¶
Setting properties¶
You will need to include the following 3 properties within your alfresco-global.properties file:
- exchange.admin.username: The SMTP address of the user with correct calendar permissions
- exchange.admin.password: The password of that user
- exchange.admin.serviceURL: The Service URL for the EWS API.
Example properties¶
This is for a user with the email address user@example.com using Office 365:
exchange.admin.username=user@example.com exchange.admin.password=password exchange.admin.serviceURL=https://outlook.office365.com/EWS/Exchange.asmx
Service URL¶
You can find the Service URL from within any connected Outlook client, under Accounts - Advanced.
For Office 365, the URL is: https://outlook.office365.com/EWS/Exchange.asmx
Alternatively you can use this AutodiscoverTest program to discover it.
Adding Delegate Access¶
You will need to setup delegate access to each mailbox to give a user the ability to update calendars. You can do this via PowerShell.
This example script is an example with Office 365, but should work fine with Later versions of exchange.
Connecting to Office 365¶
You can connect to Exchange Online using a remote powershell window.
Allow remotely signed execution¶
You will get an error on import if you don't enable remote execution
Set-ExecutionPolicy remotesigned
Select Y at the prompt.
Set Your Credentials¶
You will receive a dialog box with this command
$UserCredential = Get-Credential
Enter in an admin username/password for Exchange. This is someone who has the ability to change permissions of User's mailboxes.
Import the Session¶
Specify the configuration you need for this power shell session.
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection
Execute the import
Import-PSSession $Session
Enabling Delegate Access on all Calendars¶
Run the script below to iterate through and set permissions per Calendar.
$allmailbox=get-mailbox -ResultSize Unlimited
Foreach ($item in $allmailbox){Add-MailboxFolderPermission –identity ($item.alias+’:\Calendar’) –user admin@example.com –Accessrights Editor}
Making sure to change admin@example.com to the smtp address of the user you've configured in Alfresco.