MyBoard and Outlook calendar synchronization
Last modified:
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.6 or higher (update your KanBo using this guide),
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. 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 Profiles Database.
Expand the database folders, select Tables and then,dbo.DetailedProfiles. Right click on dbo.DetailedProfiles 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. After changing the database content, please restart KanBo Web Site on Azure (Cloud installation) or KanBo Site 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. Adding a plugin in your KanBo site
- In Cloud scenario - Azure
Navigate to your Azure website folder via FTP or KUDU service,then select Debug console -> PowerShell.
Go to the Extensions folder and upload the KanBo.ExchangeCalendarPlugin.dll.
- 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 add KanBo.ExchangeCalendarPlugin.dll.
6. Adding a plugin 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.
Add the following value in <plugins> section.
<plugin alias="calendar-source.exchange" login="exchangeimpersonator@developer.local" password="MyComplicatedPassword"></plugin>
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="MyComplicatedPassword" 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.
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
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.