Installation of KanBo MyBoard Synchronization with Outlook Calendar and Outlook Tasks

Table of Contents

KanBo Exchange plugin will allow you to integrate all cards added to MyBoard into Outlook Tasks or Appointments. It works for both KanBo installation scenarios: Cloud and On Premise.

Now you can integrate all cards added to MyBoard as Outlook Tasks or Appontments in Outlook Calendar. You can also add new Appointments from Calendar to KanBo MyBoards as points on the Timeline.

Prerequisites:

  • KanBo in version 2.7 or higher.
  • Having Exchange administrator rights (both in Office 365 and On Premise scenarios),
  • Having administrative rights over KanBo Azure Site (in cloud installation scenario) or KanBo IIS site (in Hybrid
    or On Premise scenario),
  • Preparing an account which will have ApplicationImpersonation rights in Exchange. This account must have an
    Exchange license.
  • Dowloading Exchange Integration plugin (KanBo.ExchangeCalendarPlugin.dll). Ask at  support@kanboapp.com for the file.

Configuration

1. Make sure that all KanBo users who would like to use this functionality, have their emails added in their
profiles. To check it, enter KanBo Content Database in SQL Server Management Studio.

Expand the database folders, select Tables and then,dbo.UserProfiles. Right click on dbo.UserProfiles and choose
Select 1000 Top Rows. Now you can see which users have added their emails to profile and other information from
their profiles.

You can start editing the database to add emails to users if they’re empty (use option Edit Top 200 rows or use SQL
query). After changing the database content, please restart KanBo Web Site on Azure (Cloud installation) or KanBo
Site App Pool on IIs (On Premise)

2. You MUST maintain emails in users profiles manually (disable the option for users to modify this). Otherwise the user can set his email to other user's email and access other accounts.

  • In Cloud scenario - Azure

  • 1. Navigate to your Azure website folder via FTP or KUDU service (add .scm just before azurewebsites.net e.g https://kanbo-online.scm.azure..., then select Debug console -> PowerShell). Go the the wwwroot folder and select web.config. Start editing it.

    2. Change the value from true to false and save the web.config.

<add key="KanBoUserCanEditProfile" value="false"></add>

  • On Premise and Hybrid scenario

  • 1. Navigate to IIS on your server. Select the KanBo site and select Explore. Now you have entered KanBo website package. Click on web.config and start editing it.

    2. Change the value from true to false and save the web.config.

<add key="KanBoUserCanEditProfile" value="false"></add>

3. First, you must have a service account with permissions to access all mailboxes.

You can do this with the following snippet in Exchange Powershell.

  • Cloud
  • 1. Login into Powershell and apply the following command.

    2. Change admin@KanBoTest.onmicrosoft.com to your user's login which will be ApplicationImpresonation administrator.

New-ManagementRoleAssignment -Name kanbo_exchange_impersonator -Role ApplicationImpersonation -User "admin@KanBoTest.onmicrosoft.com".

  • On-premise
  • 1. Follow this guide.

    2. The Powershell command will be:

New-ManagementRoleAssignment -name:impersonationAssignmentName -Role:ApplicationImpersonation -User:serviceAccount


5. Make sure you have the  ExchangeCalendarPlugin in your KanBo package

  • In Cloud scenario - Azure
  • 1. Navigate to your Azure website folder via FTP or KUDU service,then select Debug console -> PowerShell. Then select Site folder -> wwwroot. 

    2. Go to the Extensions folder and see if the KanBo.ExchangeCalendarPlugin.dll is here. 

  • On Premise and Hybrid scenario 
  • 1. Navigate to IIS on your server. Select the KanBo site and select Explore. Now you have entered KanBo website package. 

    2. Go to the Extensions folder and see if the KanBo.ExchangeCalendarPlugin.dll is here. 


6. Adding a plugin line in your web.config

  • In Cloud scenario - Azure
  • 1. Navigate to your Azure website folder via FTP or KUDU service, then select Debug console -> PowerShell. Go the the wwwroot folder and select web.config. Start editing it.

    2. Add the following value in <plugins> section. Make sure to change your userlogin, domain and password information to the user which you made administrator.

<plugin alias="calendar-source.exchange" login="{userlogin}@{domain}" password="{password}" endpoint="https://outlook.office365.com/EWS/Exchange.asmx"></plugin>

  • On Premise and Hybrid scenario
  • 1. Navigate to IIS on your server. Select the KanBo site and select Explore. Now you have entered KanBo website package. Click on web.config and start editing it.

    2. Additionally, you might want to consider providing exchange endpoint parameter, which should look like this:

<plugin
   alias="calendar-source.exchange"
   login="exchangeimpersonator@developer.local"
   password="MyPassword"
   endpoint="https://exchange.example.org/EWS/Exchange.asmx" />


Additional security concerns

In case you need your login and password secured, you might want to use
machine key for data encryption. To encrypt the data, you will need to follow these steps:

1. Go to the App pool of your KanBo Site. Select Advanced Settings and set Load User Profile as True,

2. Add a plugin for data encryption into your web.config. You can do it both on Azure (when your KanBo is installed in Cloud scenario ) and on KanBo package installed on IIs.

  <plugin alias="exchange.data-protector-helper" /> 

3. The tool will be accessible on the hosted site (change kanbo.example.org to the used domain). Use your credentials and click submit.

https://kanbo.example.org/plugins/exchange-helper

4. Click on get encrypted data button and get your results.

5. Insert the secure data instead of login/password into your section of plugin in the web.config.

<plugin
   alias="calendar-source.exchange"
   secure-data="{your secure data in base64 string with no line breaks}"
   endpoint="https://outlook.office365.com/..." />

5. After generating encrypted data with the tool, you should disable it.

Was this article helpful?

Please, contact us if you have any additional questions.