2. 2
1.0 INTRODUCTION 3
1.1 Document purpose 3
1.2 Scope 3
1.3 Prerequisites 3
2.0 SYSTEM REQUIREMENTS 4
2.1 Overview 4
2.2 Software requirements 4
2.3 Hardware requirements 4
2.4 Operating systems 4
2.5 Database support 4
2.6 Assumptions and constraints 4
3.0 PLUGIN INSTALLATION AND CONFIGURATION 5
3.1 Moodle installation and Office 365 integration 5
3.2 App for SharePoint installation procedure for administrators 27
3.3 App for SharePoint installation procedure for students 31
4.0 USING THE FEATURES OF THE MOODLE-OFFICE 365 PLUGIN 36
4.1 Creating users in Active Directory from Moodle 36
4.2 Adding existing users to Windows Azure Active Directory 37
4.3 Active Directory bulk user creation 38
4.4 Bulk licensing PowerShell export 39
4.5 Accessing Office 365 plugin features 40
4.6 Dynamic course creation 40
5.0 APPENDIX 43
3. 3
5.1 Tenant administrator 43
5.2 Base SharePoint URL 45
5.3 App ID and App Secret 45
1.0 Introduction
Moodle is an open source Course Management System (CMS) also known as a Learning Management
System (LMS) or a Virtual Learning Environment (VLE). It has become very popular among educators
around the world as a tool for creating online dynamic websites for their students.
Microsoft has developed a plugin to integrate Moodle with Microsoft Office 365 and SkyDrive. This will
allow teachers to create courses and assignments in Moodle that can be read, edited, and submitted by
students in SharePoint. The plugin also enables various features such as:
1. User management features such as adding a new user, deleting a user, and user group creation in
Office 365 through Moodle.
2. Single sign-on to Office 365 and Moodle
3. Task list and Calendar integration
4. Enabling students to edit and submit the assignments in the browser itself.
1.1 Document purpose
The purpose of this document is to provide step-by-step instructions to configure and install the
Microsoft-provided plugin for integration with Moodle. It will also describe the new features that are
enabled by this plugin.
1.2 Scope
The scope of this document is limited to instructions for installing the new plugin modules delivered by
Microsoft. Installation of Moodle, Office 365, and other required system components is outside the scope
of this document. It is also assumed that the administrator using this document is familiar with Moodle
and Office 365 installation processes and features.
1.3 Prerequisites
The administrator should know how to manage the Windows, Apache, MySQL, and PHP software stack
(also known as âWAMPâ); have basic MySQL command knowledge used in operating MySQL; and basic
knowledge of CMS installation. This document does not elaborate on the details of any system utility
except as necessary to complete the tasks within.
4. 4
2.0 System requirements
2.1 Overview
This section explains hardware, software, operating system, resource requirements, and the licenses
required to successfully complete the installation. Please ensure that the system is pre-configured to meet
these minimum requirements before starting the installation.
2.2 Software requirements
ï· A working installation of Moodle v2.3 or higher which can be downloaded from
http://download.moodle.org/
ï· Office 365 E3 or Educational account with available user licenses.
ï· Windows Azure Active Directory account linked to Office 365 account root tenant account (achieved
by accessing the Windows Azure portal while logged in as an Office 365 administrator and creating a
new Windows Azure account).
ï· Windows Azure Active Directory Module for Windows PowerShell, which will be used for Office 365
auto-licensing and Access Control service provisioning.
2.3 Hardware requirements
ï· Disk space: a minimum of 160 MB is required to install this app.
ï· Memory: a minimum of 256 MB is required, 1 GB of memory or more is strongly recommended.
2.4 Operating systems
Windows or Linux.
2.5 Database support
MySQL is the primary development database.
2.6 Assumptions and constraints
1. The mail server should configure properly.
2. The administrator should have the knowledge of basic Moodle features.
3. The student should have SkyDrive Pro installed for certain features of Moodle.
4. Wherever a serverâs cross-domain policy restricts iframe loading of apps for Office 365, the app will be
forced to load in a new browser tab.
5. For any app to work, a user must have an active Office 365 authentication token within an active
browser session.
5. 5
3.0 Plugin installation and configuration
3.1 Moodle installation and Office 365 integration
1. In Moodle, on the File tab, click the root directory, open the Login folder, and rename
index_form.html to index_form_backup.html.
8. 8
2. Copy the plugin directory structure to the Moodle root directory for the installation.
3. Log on to Moodle as an administrator. The plugin will initiate the installation procedure automatically.
4. After the plugin has installed, log on to Moodle, on the left menu click Site administration, click
Plugins, click Authentication, click Manage authentication, click Office 365 and Azure Active
9. 9
Directory SSO and Integration. This is disabled initially. Click the icon beside it to enable it and click
Settings.
10. 10
This will bring up the plugin settings page.
5. To get the settings values, log on to Office 365 in a new browser tab as a Tenant Administrator.
See Appendix 5.1 for steps on how to get a Tenant Administrator account.
6. Using a base SharePoint site collection URL, go to
https://yourbaseurl.SharePoint.com/_layouts/15/appregnew.aspx
See Appendix 5.2 for steps on how to get a base SharePoint URL.
7. Generate an App ID and App Secret. Then enter the desired title.
See Appendix 5.3 for steps on how to generate an App ID and App Secret.
8. The App Domain should be the root host of your Moodle installation.
11. 11
9. For the redirect URI enter the URL that you want to show after the authentication. After the redirect
URI has been entered, click Create.
12. 12
10. Once the redirect URI has been entered, click âcreateâ.
11.
13. 13
12. Save your App ID and App Secret for use later.
13. Next go to:
https://yourbaseurl.SharePoint.com/_layouts/15/appinv.aspx
14. Paste the App ID that was just created and click Lookup.
14. 14
15. Copy and paste the following text into the Permission Request XML box:
<AppPermissionRequests>
<AppPermissionRequest Scope=http://SharePoint/content/sitecollection
Right="FullControl" />
</AppPermissionRequests>
16. 16
16. After receiving the confirmation, go back to Moodle and enter the App ID, App Secret, and your
SharePoint Base URL into the settings.
17. Go back to Office 365. While still logged on to Office 365 as an administrator, go to
https://manage.windowsazure.com/
18. If you do not have a Windows Azure account, you will receive the following message:
17. 17
19. If the above prompt appears, click SIGN UP FOR WINDOWS AZURE.
20. This will allow you to sign up for a 3-month free trial of Azure and use Azureâs Active Directory
services.
21. After entering the Windows Azure portal, on the left menu, click ACTIVE DIRECTORY.
22. Click your directory name:
23. Then at the top of the screen click Integrated Apps.
24. At the bottom of the screen, click ADD.
25. At the next prompt, enter a name for the new app, then choose SINGLE SIGN-ON, READ AND
WRITE DIRECTORY DATA.
18. 18
26. At the next prompt, enter the domain where Moodle is hosted as the APP URL, and enter your Active
Directory domain as the APP ID URI.
27. On the next page, click Configure key.
19. 19
28. Under keys, click Select duration and choose the duration for which you would like the key to be
valid. The duration will determine how long the key will work. For security purposes, select 1 year.
29. Then click SAVE.
The key is now generated.
20. 20
30. Copy the key and client ID, and then go back to Moodle.
31. Enter the key for the value Azure AD Client Key, and the Client ID for Azure AD Client Key.
32. Enter your Active Directory domain for the Active Directory Domain field.
33. Go back to the Azure page and the main page of your new app, save the âFederation Metadata URLâ
for later use.
34. In the lower-left corner, click NEW.
21. 21
35. Click APP SERVICES, click ACCESS CONTROL, click QUICK CREATE, then enter a value in the
NAMESPACE field, and a region that is closest to your location in the REGION field.
36. On the leftmost menu, click ACTIVE DIRECTORY.
37. At the top, click ACCESS CONTROL NAMESPACES and highlight your namespace below it.
38. Click MANAGE.
22. 22
39. In the new window, click Identity Providers.
40. Click Add.
41. Under Add Identity Provider, select WS-Federation identity provider and click Next.
42. On the next screen, enter your display name, and paste the federation metdataURL that you saved
earlier into the Federation Metadata field.
43. In the Login link text field, enter Enter Office365 then click Save.
23. 23
44. On the left menu, click Relying party applications, then click Add.
45. On the next page, enter the desired name, then add the following info:
Realm: Your Moodle root domain
Return URL: https://your.Moodledomain.com/auth/0365azureacs/acsredirect.php
Token format: SWT
46. Select the identity provider that you created in the last step at the bottom.
24. 24
47. At the bottom, make sure Create new rule group is checked. Under Token signing key, click
Generate.
48. Copy and save this key for later use, and click Save.
25. 25
49. On the left menu, click Rule groups.
50. Select the default rule group that was just created.
51. Click Generate
52. Go back to Moodle, enter your Windows Azure ACS namespace
(namespace.accesscontrol.windows.net) into the ACS Namespace field.
53. Enter the ACS application key that you generated earlier into the ACS Application Key field.
54. Ensure that all of the information that was entered is correct, and then click link to Office 365.
55. Go to the bottom of the plugin page and click Save.
26. 26
56. You will be redirected to a trust screen for SharePoint, click trust it.
57. Click the eye icon to the right of Office 365 and Azure Active Directory SSO and Integration.
The plugin is now activated.
58. As a final step to ensure that ACS has properly registered your new namespaces, as a principal open
PowerShell and execute the following commands:
Connect-MsolService
Import-Module MSOnlineExtended -Force
$replyUrl=New-MsolServicePrincipalAddresses âAddress
"https://{yourservicenamespace}.accesscontrol.windows.net/"
New-MsolServicePrincipal â
ServicePrincipalNames@("https://{yourservicenamespace}.accesscontrol.windows.net/") -
DisplayName "[your namespace display name]" -Addresses $replyUrl
Note: In order to run the PowerShell commands, you will need Windows PowerShell and the
Windows Azure Active Directory Module for Windows PowerShell installed on a windows
machine.
Azure Active Directory Module Download links:
For 32-bit Windows
http://go.microsoft.com/fwlink/p/?linkid=236298
For 64-bit Windows
http://go.microsoft.com/fwlink/p/?linkid=236297
27. 27
3.2 App for SharePoint installation procedure for administrators
1. Log on to SharePoint as a site administrator.
2. On the main ribbon, click Admin, then click SharePoint.
3. On the next page, a menu on the left of your screen will appear, click apps on this menu.
4. On the next page, click App Catalog.
28. 28
5. On the next page, click the distribute apps for SharePoint icon.
30. 30
6. On the next page, click new app. You will be prompted with a file picker that will allow you to browse
your local system.
7. Open the Moodle App folder of the installation package, browse to Moodle.app and select the file.
8. The app will be uploaded and installed to your tenantâs app catalog.
31. 31
3.3 App for SharePoint installation procedure for students
1. The Moodle app for SharePoint allows students to view their current Moodle courses and grades in a
single location, it also allows students to submit assignments back to Moodle from within their
SkyDrive Pro folders.
2. To install the Moodle app, the student only needs to log on to Office 365 and click Newsfeed from the
main menu.
33. 33
4. This will show a view of the currently installed apps and allows students to install a new app by clicking
add an app.
5. Because the Moodle app is installed in the tenantâs app catalog, the MoodleIntegration app will
automatically show up under Apps you can add.
34. 34
6. When the MoodleIntegration app is clicked, the user must allow the app permissions within their site.
After permission is granted, the app will be installed automatically.
7. After the installation is complete, the main part of the app can be accessed by clicking on Apps in the
left menu.
35. 35
8. From inside the MoodleIntegration app, the student is able to view their courses and assignment
information from Moodle, they can also begin to work on an assignment or view materials from the
course site by using links in the app.
9. When an assignment is started in the app, a file is created in the studentâs SkyDrive Pro account.
When students are ready to submit the assignment back to Moodle, they can go to SkyDrive Pro and
click the options menu for the file. Assignments can be requested by the teacher in a certain format
or with content already added to the document, these assignments will be automatically generated
in the enrolled studentâs SkyDrive Pro folder under the Courses folder
10. When the student clicks Submit to Moodle, the document will be transferred to Moodle, and
submitted for grading.
36. 36
4.0 Using the features of the Moodle-Office 365 plugin
4.1 Creating users in Active Directory from Moodle
The Moodle-Office 365 plugin allows creation of new Moodle users, through Active Directory. The user
can then log on to Moodle, using only their Active Directory credentials.
1. To add a new user, log on to Moodle as an administrator
2. On the left menu panel, click Site Administration, click Users, then click Add a new User.
3. Fill out the registration details as a new user, as shown in the following image. Select Office 365 and
Azure Active Directory SSO and Integration as the authentication method and save the user.
4. When the user is created in Moodle, the plugin will automatically add the user to Active Directory and
email a confirmation to the user by using the email address provided in the registration process.
Note: email confirmations require email messaging to be set up in Moodle and working properly.
Email settings can be found under Site Administration > Plugins > Message Outputs > Email
37. 37
4.2 Adding existing users to Windows Azure Active Directory
This feature helps to add already existing users to Windows Azure Active Directory.
1. To add an existing Moodle user to Active Directory, log on to Moodle as an administrator.
2. On the left menu, click Site Administration, click Users, then click Browse list of users.
3. To access a userâs account information, click the gear icon in the Edit column of the the user table.
4. To create the user in Active Directory, change the authentication method to Office 365 and Azure
Active Directory SSO and Integration then click Save.
5. After the changes are recorded in Moodle, the plugin will add the user to Windows Azure Active
Directory and email a confirmation to the userâs registered Moodle email address.
Note: email confirmations require email messaging to be set up in Moodle and working
properly. Email settings can be found under Site Administration > Plugins > Message Outputs >
Email
38. 38
4.3 Active Directory bulk user creation
When multiple Active Directory accounts need to be created, creating them one by one can be
cumbersome. This feature allows for the creation of multiple Active Directory accounts at once:
1. To access bulk user actions, log on to Moodle as an administrator,
2. On the left menu, click Site Administration, click Users, click Accounts, then click Bulk user actions.
3. Select the users to add to Active Directory and click Add to Selection, on the With Selected Users
dropdown, select Add users to Active Directory then click go.
4. If any of the users that were selected are not in Active Directory, they will be automatically added and
emailed Active Directory login information in bulk.
39. 39
4.4 Bulk licensing PowerShell export
For any user to use the Office 365 features of the Moodle-Office 365 plugin, they will need to be issued
licenses. As of now there is no way to automatically issue these licenses through current Active Directory
APIs. However, there is a PowerShell command that allows the automatic issuance of Office 365 licenses.
To create and export a PowerShell script that can automatically issue licenses to users, do the following:
1. To access bulk user actions, log on to Moodle as an administrator, on the left menu, click Site
Administration, click Users, click Accounts, then click Bulk user actions.
2. Select the users that need to be added to Windows Azure Active Directory and click Add to Selection.
Then, from the With Selected Users dropdown menu, select Export Office 365 Licensing PowerShell
Script then click go.
40. 40
3. Initiate a download, save the file to your computer and run it as an administrator in Windows to begin
the process. You will be prompted for your Office 365 administrator login information, and the script
should proceed with the license delegation for the selected users from there.
Note: In order to run the PowerShell script, you will need Windows PowerShell and the
Windows Azure Active Directory Module for Windows PowerShell installed on a windows
machine.
Windows Azure Active Directory Module Download links:
For 32-bit Windows
http://go.microsoft.com/fwlink/p/?linkid=236298
For 64-bit Windows
http://go.microsoft.com/fwlink/p/?linkid=236297
4.5 Accessing Office 365 plugin features
1. The Moodle- Office 365 plugin includes integration modules that allow Moodle to communicate with
Office 365.
4.6 Dynamic course creation
1. When a course is created in Moodle, a course site is created in SharePoint. This site allows users to
view assignments and course materials in SharePoint. It also adds easy-to-use social features that can
greatly enhance the communication between classmates and teachers.
2. When a student is enrolled into the course, they are notified of the new course site through their social
feed on their personal site. The course sites can be found under Newsfeed after they are added. The
course sites can also be found in Office 365 by clicking Sites on the top menu.
41. 41
3. A SharePoint course site features a calendar of assignment due dates, a document library, and other
social elements that allow classmates to communicate and follow the progress of a course within
SharePoint.
42. 42
7.7 Assignment module
A teacher can create a new assignment in Moodle, then use the Moodle-Office 365 pluginâs assignment
submission module to attach deliverable Office documents to the assignment. The uploaded assignments
will then be delivered to each studentâs SkyDrive account. The documents can be edited by the student
and submitted back to Moodle by using the menu extender (discussed in the next section) for the Moodle
app for SharePoint.
1. To use the assignment creation module in Moodle, when logged in as an administrator or as a course
teacher, go to the courses section and click the course name to add an assignment to it.
2. In the upper right corner, click Turn Editing On.
3. Chose a course section and click Add an Activity or Resource, choose Assignment, then click Add.
43. 43
4. Fill out the assignment as usual, then under Submission settings click Choose a file to upload an
assignment document (PowerPoint, Excel, or Word). Then save the assignment information.
5. After it is saved, the assignment document will be saved on each enrolled studentâs SkyDrive, where
the document can be edited and submitted back to Moodle by using the app for SharePoint.
5.0 Appendix
5.1 Tenant administrator
1. Go to Office 365 and log on .If you need new account, click Try now to select the trial
version, or click Buy now to purchase an account.
45. 45
When you create a new Office 365 account, you also set the administrator username in
the format xxxx@yyyy.onmicrosoft.com, where xxxx is the administrator username and
yyyy is the tenant identifier.
5.2 Base SharePoint URL
The base SharePoint Tenant ID can be found at the site http://yourtenantid.sharepoint.com/.
5.3 App ID and App Secret
After you have created the account, you will see the following new SharePoint screen. Click
Generate to create a new App ID and App Secret.