Challenge Overview
A tool that will collect ratings directly within MS Teams right after any meeting ends. The rating is a 5-star scale and each star corresponds to one criteria - see below for reference.
The tool should prompt users to provide the rating immediately after a call ends in MS Teams. This includes scheduled meetings, direct calls and ad hoc meetings. The prompt should be seen by everyone, and it should be available in the channel or chat where the meeting originated. It must also be possible to collect the results, such as number of meetings for each rating, in aggregate. If it is simple, the average rating should be displayed after each submission.
This challenge is a followup to the previous challenge: http://www.topcoder.com/challenge-details/30070107/?type=develop&noncache=true
In this challenge we want to support personal scheduled meetings as well (the scheduled meetings with no channel selected), and after the meeting is ended, the rating prompt should be sent to all involved persons invidudually.
Note the current implementation calls the /groups/:groupId/calendar/calendarView Microsoft Graph API to fetch the scheduled meeting data, which won't return the personal scheduled meetings. So we will have to change to call the users/:userId/calendar/calendarView Microsoft Graph API instead to fetch all the scheduled meeting data (including both channel and personal meetings).
You need to make sure the functionalities from previous challenge still works. And the REST APIs should be updated to include the personal meetings as well.
Here are some other items should you pay attention to:
The tool should prompt users to provide the rating immediately after a call ends in MS Teams. This includes scheduled meetings, direct calls and ad hoc meetings. The prompt should be seen by everyone, and it should be available in the channel or chat where the meeting originated. It must also be possible to collect the results, such as number of meetings for each rating, in aggregate. If it is simple, the average rating should be displayed after each submission.
This challenge is a followup to the previous challenge: http://www.topcoder.com/challenge-details/30070107/?type=develop&noncache=true
In this challenge we want to support personal scheduled meetings as well (the scheduled meetings with no channel selected), and after the meeting is ended, the rating prompt should be sent to all involved persons invidudually.
Note the current implementation calls the /groups/:groupId/calendar/calendarView Microsoft Graph API to fetch the scheduled meeting data, which won't return the personal scheduled meetings. So we will have to change to call the users/:userId/calendar/calendarView Microsoft Graph API instead to fetch all the scheduled meeting data (including both channel and personal meetings).
You need to make sure the functionalities from previous challenge still works. And the REST APIs should be updated to include the personal meetings as well.
Here are some other items should you pay attention to:
- Listen to the bot-removed-from-team event, and mark all channels in this team as inactive. We should no longer fetch data for this team after the bot is removed from it.
- For the rating card, if the user has rated the meeting, make the checkboxes readonly. It's fine if it's not possible.
- For the rating card, tighten up the spacing between checkbox items, so that the card takes less real estate.
- We will provide you the 2nd place submission from our intial PoC challenge, this submission uses the users/:userId/calendar/calendarView and uses subscription API, so that if anything is changed in the user's calendar, the changed data will be reported back to our app. Your implementation should take a similar approach. Simply polling the API is not a good choice.
- Please add some necessary error handling and logging to codebase, so that it's easy for us to investigate what's going wrong.
- Please provide some guideline about accessing the logging from the app on azure portal.
Final Submission Guidelines
Submission Deliverable
- Updated Source Code
- Deployment Guide and Verification Guide
- Working Azure Deployment for easy testing
- Updated Source Code
- Deployment Guide and Verification Guide
- Working Azure Deployment for easy testing