Moodle and Office 365 Integration
www.enovation.ieinfo@enovation.ie
www.enovation.ieinfo@enovation.ie
Partnerships & Certifications
Moodle Partner Ireland
Moodle Partner France
2018
Creation of a French
sister company
2004
2009
2020
Moodle Premium
Partner Certification
2019
ISO 27001 certified
2017
Totara Partner
2015
Totara Platinum Partner
www.enovation.ieinfo@enovation.ie
More than 300 customers worldwide
Our Offices :
• Ireland
• France
• Poland
• USA
4
Pre-requisites
• Read https://docs.moodle.org/39/en/Office365
• Moodle administrator credentials
• An Office 365 and Microsoft Azure subscription you can create new resources in
• Azure AD administrator credentials https://portal.azure.com
5
Plugins
There are 10 plugins available to integrate Office 365 with Moodle, you don’t need all of them:
• auth_oidc - SSO to Moodle using Office 365 (AAD) credentials
• local_o365 – Sync users from AAD to Moodle, user fields mapping, sync courses to Teams and others.
• theme_boost_o365teams – improves the display of the Moodle course within Teams.
• block_microsoft – menu to access various Office 365 integration features, resources, and preferences
• repository_office365 – Similar to core repository_onedrive, but doesn’t require an Oauth2 service.
• filter_oembed – Converts videos hyperlinks to embed content in course pages
• local_onenote - common client API that allow Moodle users to take advantage of OneNote Online
• assignsubmission_onenote - allows students to work on an assignment in OneNote.
• assignfeedback_onenote - allows teachers to grade and providing feedback for OneNote submissions.
• atto_teamsmeeting – Create Teams meetings (simplified) anywhere Atto editor is available.
6
SSO with OpenID
• Create the application manually or using PowerShell script provided with local_o365 plugin
/admin/settings.php?section=local_o365&s_local_o365_tabs=0
• Grant all permissions needed
• Populate the client ID and secret into /admin/settings.php?section=authsettingoidc
• Enable OpenID Connect authentication /admin/settings.php?section=manageauths
Note: auth_oidc provides similar functionally of auth_oath2 core feature, major advantages are:
• Force redirect: If enabled, will skip the login index page and redirect to the Office 365 login page.
Can be bypassed with ?noredirect=1 URL param for staff still using manual accounts.
• User Restrictions: Only allow users to log in that meet certain restrictions using regex. For
example: @enovation.ie$ only allows users Office 365 username contain @enovation.ie.
7
Moodle shortcut in Office Dashboard
After you create the app for SSO, you can make it visible via office.com apps:
• Go to https://portal.azure.com/
• App registrations
• Find the application you just created with Powershell
• In the section “Branding”, define a name, logo and home page URL (e.g.
https://enoms38.enovation.ie/auth/oidc/ or simply https://enoms38.enovation.ie if force redirect is
enabled.
• Navigate to office.com and click on the App Launcher
• Click on All Apps link to expand the list
• Click on the three dots next to Moodle application and Pin to launcher
You can also create custom tiles that will appear in the All apps section of the Office 365 app
launcher for all your users via this admin page:
https://admin.microsoft.com/AdminPortal/Home#/Settings/OrganizationProfile/:/Settings/L1/Custom
Tiles
8
How to sync users from AAD to Moodle
1. Create an Office 365 group with dynamic user membership type for users you want to sync to Moodle
(skip this if you want to create users in Moodle for all users in your AAD). For this test we the dynamic
rule will add to the group all users which UPN contains “Moot”.
2. Create a few users in AAD. For this demo we will create a teacher and one student.
3. Go to Office 365 sync settings page /admin/settings.php?section=local_o365&s_local_o365_tabs=1
4. In the option “User Creation Restriction”, select Office 365 Group membership and paste the name of
the group created.
5. Enable the sync options to Create and Update accounts in Moodle for users in Azure AD.
6. Wait for cron to run. For this demo we will run the task Sync users with Azure AD manually:
/admin/tool/task/schedule_task.php?task=local_o365%5Ctask%5Cusersync
9
How to sync a course to Teams
• Create a course in Moodle
• Enrol at least one teacher and one student to the course (both should be using OpenID authentication
method)
• Go to Teams Sync settings page /admin/settings.php?section=local_o365&s_local_o365_tabs=1
• If you want to sync just a few courses to Teams, select Customize and Save changes, if you want to
sync all courses, select All features enabled.
• To select the courses you want to sync, click on customize groups and enable the courses you wish to
sync.
• Log in as teacher or student enrolled to the course to be able to see the Teams
10
Moodle App and assistant bot
The Moodle app for Microsoft Teams allows you to easily access and collaborate around your
Moodle courses in Teams. The Moodle app also consists of a Moodle Assistant bot, which will
send Moodle notifications to students and teachers and answer questions about their
courses, assignments, grades and students
You need to follow the instructions in this page to create a Moodle app for your Teams:
/admin/settings.php?section=local_o365&s_local_o365_tabs=5
• Go to Manage authentication and enable OpenID Connect.
• Go to HTTP security and enable Frame Embedding.
• Go to Advanced features and Enable Web Services.
• Go to Manage protocols and Enable Rest protocol
• Go to External Services to enable Office 365 Webservices.
• Go to Editing role 'Authenticated user' to set "Create a web service token" to "Allow".
• Go to Editing role 'Authenticated user' to set “Use Rest Protocol" to "Allow".
11
Moodle App creation and bot assistant
After you configure the Moodle App, download the manifest file /local/o365/export_manifest.php and
upload it to your organisation site wide: https://admin.teams.microsoft.com/policies/manage-apps
When you add the Moodle app to your Team and login once, you should be able to see the Moodle
assistant under the chat section and can ask some questions.
12
Bot assistant questions for teachers
• How many assignments have incomplete submissions? / Which assignments are running late?
Render list of max. 10 assignments with percentage of incomplete submissions: total possible submissions and
due date
• What assignments are yet to be graded?
Render list of max. 10 assignments with percentage of ungraded submissions: total possible submissions
• Which students have made late submissions?
Render list of latest max. 10 students who made late submissions
• Which students scored the least in the last assignment?
Render list of max. 10 students in the latest graded assignment who scored the lowest.
13
Bot assistant questions for teachers
• Which students have been absent this month?
Render list of max. 10 students who have been absent >=1 times last month
• When did <Student Name> last log into Moodle?
Render student card along with his last login date and time.
• Which students have logged in last to Moodle?
Render list of max. 10 students who logged in last along with their last login date
Which students have logged in latest to Moodle?
Render list of max. 10 students who logged in first along with their last login date
14
Bot assistant questions for students
Questions for teachers:
• What assignments are due next?
Render list of max. 10 assignments with due date
• What are the latest grades I've received?
Render list of max. 10 assignments with due date
• How did I do in my latest assignments compared to the class?
Render list of max. 10 assignments with assignment name, student’s graded score and class’s median score.
• What are the latest grades I've received?
Render list of max. 10 assignments with due date
15
Moodle course as a tab
That feature of the app allows you to add a course that you are enrolled in Moodle as a tab within Teams.
- Go to the Team created by the Moodle via the sync
- Click on “Add a tab”
- Select the Moodle app
- Select the course from your Moodle instance that you want to add as a tab to this Team.
16
Pro-active notifications
In order for proactive notifications to work, the following conditions need to be met:
• The user must have used the bot in teams for at least once. This is to allow the office365 user detail to
be cached by the bot framework.
• All notifications that Moodle tries to send to the user will be sent as proactive notifications in bot,
regardless of user's notification preferences in Moodle.
• Teacher are able receive notification in Teams about submissions of the students in the courses they
are enrolled, and can get help from the bot assistant about the items yet to be graded.
17
Documentation and bug tracker
• https://docs.moodle.org/39/en/Office365
• https://docs.microsoft.com/en-us/microsoftteams/platform/moodleinstructions
• https://github.com/microsoft/o365-moodle/issues
• https://github.com/enovation/moodle-atto_teamsmeeting/issues
www.enovation.ieinfo@enovation.ie
Q&A
Oswaldo Rojas
eLearning Consultant
+353 (0)1 865 6473
oswaldo.rojas@enovation.ie

Moodle integration with microsoft office 365 by enovation

  • 1.
    Moodle and Office365 Integration www.enovation.ieinfo@enovation.ie
  • 2.
    www.enovation.ieinfo@enovation.ie Partnerships & Certifications MoodlePartner Ireland Moodle Partner France 2018 Creation of a French sister company 2004 2009 2020 Moodle Premium Partner Certification 2019 ISO 27001 certified 2017 Totara Partner 2015 Totara Platinum Partner
  • 3.
    www.enovation.ieinfo@enovation.ie More than 300customers worldwide Our Offices : • Ireland • France • Poland • USA
  • 4.
    4 Pre-requisites • Read https://docs.moodle.org/39/en/Office365 •Moodle administrator credentials • An Office 365 and Microsoft Azure subscription you can create new resources in • Azure AD administrator credentials https://portal.azure.com
  • 5.
    5 Plugins There are 10plugins available to integrate Office 365 with Moodle, you don’t need all of them: • auth_oidc - SSO to Moodle using Office 365 (AAD) credentials • local_o365 – Sync users from AAD to Moodle, user fields mapping, sync courses to Teams and others. • theme_boost_o365teams – improves the display of the Moodle course within Teams. • block_microsoft – menu to access various Office 365 integration features, resources, and preferences • repository_office365 – Similar to core repository_onedrive, but doesn’t require an Oauth2 service. • filter_oembed – Converts videos hyperlinks to embed content in course pages • local_onenote - common client API that allow Moodle users to take advantage of OneNote Online • assignsubmission_onenote - allows students to work on an assignment in OneNote. • assignfeedback_onenote - allows teachers to grade and providing feedback for OneNote submissions. • atto_teamsmeeting – Create Teams meetings (simplified) anywhere Atto editor is available.
  • 6.
    6 SSO with OpenID •Create the application manually or using PowerShell script provided with local_o365 plugin /admin/settings.php?section=local_o365&s_local_o365_tabs=0 • Grant all permissions needed • Populate the client ID and secret into /admin/settings.php?section=authsettingoidc • Enable OpenID Connect authentication /admin/settings.php?section=manageauths Note: auth_oidc provides similar functionally of auth_oath2 core feature, major advantages are: • Force redirect: If enabled, will skip the login index page and redirect to the Office 365 login page. Can be bypassed with ?noredirect=1 URL param for staff still using manual accounts. • User Restrictions: Only allow users to log in that meet certain restrictions using regex. For example: @enovation.ie$ only allows users Office 365 username contain @enovation.ie.
  • 7.
    7 Moodle shortcut inOffice Dashboard After you create the app for SSO, you can make it visible via office.com apps: • Go to https://portal.azure.com/ • App registrations • Find the application you just created with Powershell • In the section “Branding”, define a name, logo and home page URL (e.g. https://enoms38.enovation.ie/auth/oidc/ or simply https://enoms38.enovation.ie if force redirect is enabled. • Navigate to office.com and click on the App Launcher • Click on All Apps link to expand the list • Click on the three dots next to Moodle application and Pin to launcher You can also create custom tiles that will appear in the All apps section of the Office 365 app launcher for all your users via this admin page: https://admin.microsoft.com/AdminPortal/Home#/Settings/OrganizationProfile/:/Settings/L1/Custom Tiles
  • 8.
    8 How to syncusers from AAD to Moodle 1. Create an Office 365 group with dynamic user membership type for users you want to sync to Moodle (skip this if you want to create users in Moodle for all users in your AAD). For this test we the dynamic rule will add to the group all users which UPN contains “Moot”. 2. Create a few users in AAD. For this demo we will create a teacher and one student. 3. Go to Office 365 sync settings page /admin/settings.php?section=local_o365&s_local_o365_tabs=1 4. In the option “User Creation Restriction”, select Office 365 Group membership and paste the name of the group created. 5. Enable the sync options to Create and Update accounts in Moodle for users in Azure AD. 6. Wait for cron to run. For this demo we will run the task Sync users with Azure AD manually: /admin/tool/task/schedule_task.php?task=local_o365%5Ctask%5Cusersync
  • 9.
    9 How to synca course to Teams • Create a course in Moodle • Enrol at least one teacher and one student to the course (both should be using OpenID authentication method) • Go to Teams Sync settings page /admin/settings.php?section=local_o365&s_local_o365_tabs=1 • If you want to sync just a few courses to Teams, select Customize and Save changes, if you want to sync all courses, select All features enabled. • To select the courses you want to sync, click on customize groups and enable the courses you wish to sync. • Log in as teacher or student enrolled to the course to be able to see the Teams
  • 10.
    10 Moodle App andassistant bot The Moodle app for Microsoft Teams allows you to easily access and collaborate around your Moodle courses in Teams. The Moodle app also consists of a Moodle Assistant bot, which will send Moodle notifications to students and teachers and answer questions about their courses, assignments, grades and students You need to follow the instructions in this page to create a Moodle app for your Teams: /admin/settings.php?section=local_o365&s_local_o365_tabs=5 • Go to Manage authentication and enable OpenID Connect. • Go to HTTP security and enable Frame Embedding. • Go to Advanced features and Enable Web Services. • Go to Manage protocols and Enable Rest protocol • Go to External Services to enable Office 365 Webservices. • Go to Editing role 'Authenticated user' to set "Create a web service token" to "Allow". • Go to Editing role 'Authenticated user' to set “Use Rest Protocol" to "Allow".
  • 11.
    11 Moodle App creationand bot assistant After you configure the Moodle App, download the manifest file /local/o365/export_manifest.php and upload it to your organisation site wide: https://admin.teams.microsoft.com/policies/manage-apps When you add the Moodle app to your Team and login once, you should be able to see the Moodle assistant under the chat section and can ask some questions.
  • 12.
    12 Bot assistant questionsfor teachers • How many assignments have incomplete submissions? / Which assignments are running late? Render list of max. 10 assignments with percentage of incomplete submissions: total possible submissions and due date • What assignments are yet to be graded? Render list of max. 10 assignments with percentage of ungraded submissions: total possible submissions • Which students have made late submissions? Render list of latest max. 10 students who made late submissions • Which students scored the least in the last assignment? Render list of max. 10 students in the latest graded assignment who scored the lowest.
  • 13.
    13 Bot assistant questionsfor teachers • Which students have been absent this month? Render list of max. 10 students who have been absent >=1 times last month • When did <Student Name> last log into Moodle? Render student card along with his last login date and time. • Which students have logged in last to Moodle? Render list of max. 10 students who logged in last along with their last login date Which students have logged in latest to Moodle? Render list of max. 10 students who logged in first along with their last login date
  • 14.
    14 Bot assistant questionsfor students Questions for teachers: • What assignments are due next? Render list of max. 10 assignments with due date • What are the latest grades I've received? Render list of max. 10 assignments with due date • How did I do in my latest assignments compared to the class? Render list of max. 10 assignments with assignment name, student’s graded score and class’s median score. • What are the latest grades I've received? Render list of max. 10 assignments with due date
  • 15.
    15 Moodle course asa tab That feature of the app allows you to add a course that you are enrolled in Moodle as a tab within Teams. - Go to the Team created by the Moodle via the sync - Click on “Add a tab” - Select the Moodle app - Select the course from your Moodle instance that you want to add as a tab to this Team.
  • 16.
    16 Pro-active notifications In orderfor proactive notifications to work, the following conditions need to be met: • The user must have used the bot in teams for at least once. This is to allow the office365 user detail to be cached by the bot framework. • All notifications that Moodle tries to send to the user will be sent as proactive notifications in bot, regardless of user's notification preferences in Moodle. • Teacher are able receive notification in Teams about submissions of the students in the courses they are enrolled, and can get help from the bot assistant about the items yet to be graded.
  • 17.
    17 Documentation and bugtracker • https://docs.moodle.org/39/en/Office365 • https://docs.microsoft.com/en-us/microsoftteams/platform/moodleinstructions • https://github.com/microsoft/o365-moodle/issues • https://github.com/enovation/moodle-atto_teamsmeeting/issues
  • 18.