World-wide pandemic literally stalled the curiosity and need of everyone to visit the library in-person. It also impacted very badly the STEM students/scholars/researchers to access their premium resources which could have been accessible from campus only due to several restrictions. On the other hand, Microsoft Teams as an integrated colloborative platform started becoming the one stop shop for all the communication needs. So, if somehow the Digital Library which was just an alternative erstwhile, could be integrated seamlessly to the Teams, all the electronic content whether premium, searchable or uploaded could be accessed at a single place. This was the biggest inspiration to create an experience exclusively for Teams.
What it does
The Knimbus mLibrary app on Microsoft Teams integrates the Institutional Digital Library into a Classroom and Collaboration Environment. One can access all the relevant content from their Digital Library through a seamless and blended environment on Teams.
How I built it
Digital Library platform integrated with Microsoft O365 was already in place and could have been accessed over web link or through a mobile app. But, in order to integrate with a Tab experience inside Teams it needed redevelopment efforts. So, we chose already productized REST webservices of Knimbus and consumed them through a brand new UI written in Vue.js and Php. This entire code is then deployed on a VM on Azure environment.
Challenges I ran into
There were several challenges we came across due to the iframe nature of the Tabs inside Teams.
- Due to the marketplace nature of the product, there are tons of client libraries whose Microsft tenant/client ID details cannot be bound to the single app.
- Limitations of the unsecured and third party cookies.
- Various environments like browser, desktop app, mobile app's and their different way's of handling the Teams authentication.
- Overall responsiveness of the integrated experience.
Accomplishments that I'm proud of
- Able to get entire development of MVC done in a span of merely a month from scratch.
- Identified timely that existing remote access functionality doesn't work directly inside teams thus pulled it outside with proper messaging.
- With the usage of latest UI framework, sped up the overall page rendering. It just behaves like a PWA.
What I learnt
- Entire Microsoft ecosystem is pretty established with strong documentation and prompt dev support.
- With right approach a proper solution of any domain can be developed and integrated within Teams.
What's next for mLibrary powered by Knimbus
This tab based experience is merely the phase 1 of the features. There are tons of features that would be part of ongoing development. Upcoming versions would have entire set of menu to access various functionalities like real time searches, static pages, plagiarism check, data sorting, list/grid viewing, online classrooms to name a few.