This sample demonstrates some best practices for Teams EDU Apps integrated with Assignments:
- Single sign-on (SSO)
- Consistent and accessible UX (via Fluent UI components)
- Content selection during App configuration
You will be able to run this app locally and attach an instance of it to an assignment.
- NodeJS
- An M365 EDU account. If you do not have an M365 EDU account, apply for one at Microsoft Education Partner Portal (select Microsoft Education Integration)
- Teams Toolkit Visual Studio Code Extension or TeamsFx CLI
Start debugging the project by hitting the F5
key in Visual Studio Code. Alternatively use the Run and Debug Activity Panel
in Visual Studio Code and click the Start Debugging
green arrow button.
Note: The first time you debug the app, the TeamsFx CLI module will create a Teams App with a unique application id in the Teams Developer Portal. It will also provision the necessary Azure resources (e.g. the Azure Active Directory App for supporting SSO authentication).
Add the app to a class team (go through tab configuration and save the app in a new tab).
At this point, the app is installed as a Teams Tab app. The next section will guide you through attaching it to an assignment.
Note: The functionality to select "sideloaded" apps, apps developed and/or uploaded locally is not yet available publicly. When it becomes available, the following steps will work.
After you have run the app and added it to a class, the app will be available to attach to an assignment.
- From an unpublished assignment, click the
...more
button to open the Teams app picker. - Select the "Assigments News Prompt" app.
- Go through the app configuration (e.g. select a news article, add a prompt).
- Save the configuration.
The configured "Assignments News Prompt" instance is now attached to the assignment. When the assignment is assigned to students, a student will be able to launch the configured app instance and respond to the prompt. Note: Each student's responses will be tied to that student's unique id through use of SSO.
Note: All data created in the sample is stored locally in memory and will reset with each debug session.
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.
When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.
This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.