How can we help you today?

Go ahead and ask us anything.

See the KanBo newest version.

KanBo installation on Office 365 and Azure

Last modified:

Azure databases groups KanBo o365 Office365 SharePoint

Purpose

Installing KanBo as Office 365 Groups Extension lets you integrate KanBo deeper with Microsoft Teams (Groups), Outlook (Groups) and Yammer (Groups). KanBo will use the same Documents as the Group and vice versa and KanBo will inherit the User Management from the Office Group the KanBo Board is attached to.

Prerequisites

  1. KanBo installation package and KanBo.ConsoleJobHostRunner package
  2. Microsoft 365 Business Basic environment (or a higher version) and administrator access to it.
  3. Administrator access to the Azure portal.
  4. One SQL Database
  5. Having a custom domain and SSL certificate for your KanBo Web App.

(Important information - KanBo database will be created automatically and charged on Azure during the final steps of the installation process, however, you can change KanBo Content database pricing tier to recommended version for a certain number of KanBo users. See the details about recommended pricing tiers for databases in Configuring KanBo Content Database on Azure part of the installation.


Creating the hosting site

Creating a Web App

First of all, we need to start with creating a new Web App on your Azure. It will be used to host the application.

Go to your Azure management page, click on +New and search for Web App.

Full KanBo installation on Office 365 SharePoint Azure Microsoft



Choose a Web App.

Full KanBo installation on Office 365 SharePoint Azure Microsoft



Click on "Create button".

Full KanBo installation on Office 365 SharePoint Azure Microsoft



Provide the name URL of your site, in our case, it will be "kanboinstallation".

Choose your Subscription, Resource Group (create new and name it "Kanbo") and choose the App Service plan/location. Select OS as Windows.

Configuring a Custom Domain and SSL certificate for Web App 

For this integration, you must have a custom domain attached to your KanBo. It's not possible to run it on default *.azurewebsites.net address.

To attach a custom domain:
Map an existing custom DNS name to Azure Web App
Bind an existing custom SSL certificate to Azure Web Apps

Follow the Microsoft Technet manuals above to set a custom domain and a SSL certificate to the Web App.


Configuring the new Web App

After the page has been created, we need to change some settings. Click on 

 Web Apps icon on the left pane and search for your application. Click on your page to navigate to its options.





After the page has loaded, scroll the menu down and click on the "Configuration" and then General Settings. You will see the configuration screen, find the Web Sockets option and turn it on. Save your changes.


Creating an SQL database

Enter link https://portal.azure.com/#create/Microsoft.SQLDatabase to create an SQL Database.

Click on Create to save your database.



Configuring the DB connectivity

Use the Azure portal to obtain the connection string necessary for your Web App to connect with Azure SQL Database:

Click on SQL Databases icon and then, search for your temporary database.



Click on your database, then click Show database connection strings.



If you are going to use ADO.NET connection library, copy the string of ADO.NET.




Go to the web.config file where we have previously entered the ClientId and ClientSecret. Search for <connectionstrings> section.

Paste the connection string there in the place of an old string. Please modify added connection string - add your user ID and password (use server admin's credentials).


Save the changes.

There are two important things:


a) Put "MultipleActiveResultSets=True" at the end of each connection string.

b) Find out a new Database name (ex. KanBoContent_db) so it is unique for the chosen database. (the name can't be the same as the name of the database we've created for the Azure site). Delete a previous name and replace it with new one.


Uploading the KanBo installation package

You can do it in two different ways.

Option 1 - Use FTP

After all changes to the web.config have been made, save the file and upload the whole content of the .rar to the {yourAzureFTPRootFolder}/site/wwwroot/. ATTENTION: DO NOT DELETE EXISTING SITE STRUCTURE!

Full KanBo installation on Office 365 SharePoint Azure Microsoft



Option 2 - Use KUDU service

Navigate to your Azure website KUDU service (add .scm just before azurewebsites.net e.g https://kanbo-online-kanbo.scm.azurewebsites.net, then select Debug console -> PowerShell).

Then enter site folder -> wwwroot.

Pack all your files into a .zip file (but please don't add the folder!)

Now drag and drop your .zip archive into left upper part of KUDU service.



Make sure you copy these plugins into Extensions folder:

- KanBo.Graph.dll

- KanBo.ProfileSyncJob

- KanBo.ExternalGroupsSyncJob

Ask the KanBo support for these files - [email protected].

Configure Microsoft Graph connectivity


Go to Azure Active Directory by going to https://aad.portal.azure.com,&... Azure Active Directory and look for App Registrations.

Click on +New registration.

Create a name and paste the redirect URL.

Add your URL to this address: https://YOUR KANBO ADDRESS/auth/aad/return


Click on register to save the changes.

When app is registered, go to API Permissions.

Select +Add a permission and select Microsoft Graph.

    Give the following permissions under MS Graph.

    Application permissions:

    • Calendars.ReadWrite
    • Directory.Read.All
    • Directory.ReadWrite.All
    • Files.Read.All
    • Files.ReadWrite.All
    • Group.Read.All
    • Group.ReadWrite.All
    • Mail.Send
    • Mail.ReadWrite
    • Sites.Read.All
    • User.Invite.All
    • User.Read.All


    Delegated Permissions:

    • Calendars.Read
    • email
    • Directory.Read.All
    • Files.ReadWrite.All
    • Group.ReadWrite.All
    • User.Read
    • User.Read.All
    • Sites.Read.All



    Now, when all permissions are selected, click on Grant Permissions.

      Create a pair of certificates using this manual or purchase a pair of certificates for MS Graph authorization.





      Go to Certificates and Secrets section in App registrations to register a certificate.



      Click on Upload public key and select your .cer certificate. Now click Save.

        Your certificate should be now visible. 


        Go back to Overview. Get Application ID and Directory (Tenant) ID and save it for later as this would be used in the KanBo configuration.




        Upload the certificate to KanBo

        1. Open Azure portal. Make sure your Web App is at least on the Basic plan.


        2. Go to TLS/SSL Bindings and go to Private Key Certificates (.pfx) Select Upload certificate.

        3.  Provide the password and Upload it.

        4.  Copy the certificate's thumbprint.

         

        5. Open Configuration and add a new Application Setting.

        6. The setting's name should be WEBSITE_LOAD_CERTIFICATES. The value should be the Thumbprint of certificate. Save it.

        7. in the Bindings Settings activate "HTTPS only"



        Adjust KanBo configuration

        Enter Kudu services -> Debug Console -> Powershell -> site -> wwwroot and start editing the web.config.

        Make sure that you have the following entries in <plugins> section. Change values in brackets to values from the installation process.

               <load-packages/>
              <package name="kanbo"/>
              <branding.filesystem/>
              <set-language-for-new-users lang="{language: de-AT, de-DE, en-AU, en-CA, en-GB, en-US, es-ES of pl-PL }"/>
              <statistics/>
              <server-url>https://{Your KanBo address}</server-url>
              <package name="auth-aad"
                client-id="{client ID from Azure Active Directory app registration}"
                tenant="{tenant ID from Azure Active Directory app registration}"
                thumbprint="{KanBo Certificate Thumbprint}"
                admin-upn="{email address of the O365 Administrator}"/>
              <package name="graph"/>
              <job.alarm-reminder name="alarm-reminder" repeat="10s"/>
              <template-files path="{Path to the templates folder}"/>
              <package name="webjobs" thumbprint="{KanBo Certificate Thumbprint}"/>
              <doc-actions default="office">
                <type value="office"/>
                <type value="online"/>
                <type value="file"/>
                <type value="download"/>
              </doc-actions>
        



        First run

        Creating the databases


        Go to https:{your kanbo address}/setup and you will be directed to the KanBo Setup page. Choose the Start simple setup option.

        After clicking on the Automatic Setup option, installation of KanBo Setup will proceed. Wait a couple of seconds until it is finished.

        Obtaining the license key

        To obtain a KanBo License ID, click on "Show Advanced Setup", then click on the "Refresh" button near the License ID text. Please send the KanBo ID to [email protected], so a license key can be generated and send to you.




        After obtaining the key you have to paste it into the web.config file. To achieve that, please follow these steps:

        Go to KUDU service (https://YOURNAME.scm.azurewebsites.net). Please navigate to: Debug console -> Powershell -> site ->wwwroot and open the web.config file.





        Enter the web.config and paste the license key in the following place.



        After updating the pasting the KanBoLicenseKey save the web.config.


        Your KanBo has been successfully installed!

        Creating Sync Jobs

        For KanBo to sync Azure Active Directory profiles and o365 groups two webjobs need to be created. Along with the web.zip file, You will be provided with a KanBo.ConsoleJobHostRunner.zip file. It contains its own config named KanBo.ConsoleJobHostRunner.exe.config, which we will need to edit. There are two sections to modify:

        <connectionstrings>
            <add name="KanBoContentConnectionString" connectionstring="{DATABASE-CONNECTION-STRING}" 
            providername="System.Data.SqlClient"/>
          </connectionstrings>

        Here, You will need to paste the same connection string that You use in Your KanBo web.config.

        <load-packages>
        
              <package name="auth-aad" client-id="{CLIENT-ID-FROM-AAD}" tenant="{TENANT-ID-FROM-AAD}" 
            thumbprint="{CERTIFICATE-THUMBPRINT}" />
            <package name="webjob.group-sync" thumbprint="{CERTIFICATE-THUMBPRINT}"
            kanbo-url="https://{YOUR-KANBO-URL}" />
        

        The values here should be the same one that You used in the web.config of Your KanBo.

        After saving the configured file, follow these instructions on creating a scheduled WebJob: https://docs.microsoft.com/en-...

        For the o365 Group Sync jobs, choose the name of "GroupSync" and a CRON expression of "0 */15 * * * *"


        To create a package for the AAD Profile Sync job, simply replace

        <package name="webjob.group-sync"......

        With

        <package name-"webjob.profile-sync".....
        

        And save the config.

        Follow the same instructions You did for creating the o365 Group Sync job, but change the name to "ProfileSync".

        Use it!

        1) Create boards. During board creation, you can choose whether you would like to create new Office 365 Group or use the existing one under the board.

        2) Group memberships will be synchronized.

        3) Also, user's information will be taken from AAD and transferred into KanBo Profile.



        Configure email notifications

        Follow http://community.kanboapp.com/topics/76-setting-up-kanbo-email-notifications-on-azure/ to configure email notifications.



        Configure KanBo Search

        Follow https://community.kanboapp.com... to configure Search for KanBo (Elastic Search).

        Configuring KanBo Content Database on Azure

        As soon as your KanBo is installed, please adjust the sizing of Your database to be suitable

        A change might be necessary for a good performance of the KanBo Content Database which has been created during the Setup installation.

        You can see dependencies on the table below:



        Number of users on your KanBo instanceRecommended Pricing Tier for KanBo Content Database
        20+ usersStandard 10 DTUs 250GB
        50+ usersStandard 20 DTUs 250GB
        100+ usersStandard 50 DTUs 250GB








        Is this article helpful for you?