KanBo MyBoard synchronization with Outlook Calendar and Tasks (KanBo 2.7)

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:

1. KanBo in version 2.7

2. Having Exchange administrator rights (both in Office 365 and On Premise scenarios),

3. Having administrative rights over KanBo Azure Site (in cloud installation scenario) or KanBo IIS site (in Hybrid or On Premise scenario),

4. Preparing an Office 365 account which will have ApplicationImpersonation rights in Exchange Online. This account must have at least Exchange license.

5. Dowloading Exchange Integration plugin (KanBo.ExchangeCalendarPlugin.dll). Ask at  support@kanbozone.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

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


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

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



  • On Premise and Hybrid scenario

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.

 

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.


Login into Powershell and apply the following command. 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".


In Office 365 scenario, you can also go to Admin page, select Admin Center - Exchange. 



Go to Permissions -> Admin Roles and click on + (add) button. 







Add a name ApplicationImpersonation.

In Roles choose ApplicationImpersonation.

In members select your user which will be the administrator.



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


  • In Cloud scenario - Azure

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

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


  • On Premise and Hybrid scenario 

Navigate to IIS on your server. Select the KanBo site and select Explore. Now you have entered KanBo website package. 

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

 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.


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

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.

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" />




Use KanBo Exchange Integration

1. Go to MyBoard. Select Settings and choose Settings.


2. Choose Outlook Sync Targets. You can choose that Cards added to MyBoard will be added as Tasks or Appointments to Outlook.


When a date changes in KanBo Card , date will be changed too in the Outlook Task. 




  • Adding Card as an Outlook Task.
Cards will be added as Tasks to Outlook Tasks once you select this option in Settings of MyBoard.

Now add any KanBo Card to MyBoard.



Go to your Outlook Tasks. You can see here a new Task added - representing a title and due date of your Card.


  • Adding Card as Outlook Appointment 
Cards will be added as Appointments to Outlook Calendar once you choose this option in MyBoard settings.

Add Card to MyBoard.


Now go to your Outlook Calendar. Now you will see an appointment represented with your Card's title as well as a Start Date and Due date coming from a Card.


 When a date changes in KanBo Card , date will be changed too in the Outlook Appointment.


  • Once you get an item (a new Calendar event) to the Calendar, you will see it indicated in a Timeline of your MyBoard.

Add a new event on your Calendar.



Enter your KanBo MyBoard. You will see this event indicated on the Timeline with a special Outlook event icon.


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



Click on get encrypted data button and get your results.

 




4. 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/EWS/Exchange.asmx" />




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



Known issues

In a scenario when you set a Due date (which is set earlier than a Start date) and Start date to an Outlook Task/event or a KanBo Card, Outlook and KanBo will behave in a special way. 


  • In case you add an Event in Outlook Calendar where Due Date is an earlier term than Start date, this event will be transferred as an Outlook event on MyBoard's Timeline. KanBo will import only a later date to a Timeline and in Outook you will see your dates rebalanced (the term will be shown as one starting from a later date to the later date).

Example: 

You set an Outlook appointment to take time from 15PM (Start date) to 11AM (due date) on 12/11/2017. 

In Outlook, the Appoitment will look as it takes time from 15PM to 15PM. The freshly imported Outlook event on MyBoard's Timeline will be set to 15PM. 


  • In case you add a Due date (earlier than Start date) and Start date to a KanBo Card and add this Card to MyBoard, this will be imported to Outlook as an Appoitment with a Card's title. In the appoitment, Outlook will only transfer only the earlier Due date, not a later Start date from a Card.

Example:
You set dates on KanBo Card. The Start date is 11AM 11/12/2017 and Due date is 10AM 11/12/2017.
Once you set MyBoard Settings to transfer KanBo Cards as Outlook Appointments and add the mentioned Card to MyBoard, 
the date of newly created Outlook Appointment will take time from 10AM 11/12/2017 to 10AM 11/12/2017.


Is this article helpful for you?