Microsoft 365 Repository

Repositories ::: repository_office365
Maintained by Enovation Dev Team, James McQuillan, Zion Brewer, Nima Mojgani
This plugin provides access to Microsoft 365 as a repository. Specifically, includes OneDrive for Business, Office Video, Office Delve as well as SharePoint Document Libraries and Group Files associated with Moodle courses.

Microsoft 365 Repository for Moodle 3.0

Mike Churchward
Thursday, March 17, 2016, 3:30 AM
General comments

Version Reviewed:


The OneDrive for business repository plugin allows users access to files on OneDrive wherever the Moodle file picker appears. With the Office 365 integration teachers have two choices for where course files can be stored in OneDrive. Each course has its own folder created in OneDrive, which allows teachers to chose to add files from the course files area of OneDrive or from their own personal space in OneDrive. Users can choose to add the file to Moodle as a copy, or make a link to the file. A linked file can then be displayed in a new window or embedded in the page. The OneDrive repository plugin also allows users to upload files to OneDrive from the Moodle file picker.

Overall the OneDrive repository plugin is extremely powerful for allowing OneDrive to be an institutions file repository while keeping Moodle’s data structure small. This allows institutions to use the power of Office 365 with the management and timing of Moodle.

The OneDrive repository plugin is well supported by Microsoft and Remote-Learner who are actively improving all of the Office 365 plugins. The plugin is easy to use and works will for users that have access to Office 365. The one drawback is that the repository plugin displays for all users even if they do not have an Office 365 plugin, which can confuse some users.


The plugin is installed in the normal fashion for Moodle plugins either by cloning the repository into the repository directory from the github repository or downloading a zip and following the installation instructions:

  1. Unpack the plugin into /repository/office365 within your Moodle install.

  2. From the Moodle Administration block, expand Site Administration and click "Notifications".

  3. Follow the on-screen instructions to install the plugin.

Once installed the administrator will need to enable the repository via Plugins > Repositories.


The usability is the same for a teacher or student with the OneDrive for Business repository plugin. The user accesses the Onedrive repository from the file picker. After clicking the add file button they select the OneDrive Repository from the repository list.  From there the user will need to either click up a directory to access the my files folder or use the course files folder. Once the user has determined a folder they can select the file they want to add or they can choose to upload a new file from their desktop to OneDrive. After selecting the file the user has the typical settings for the file in Moodle. They can determine to duplicate the file in Moodle or link to the file in OneDrive. Duplicating the file means that any changes in OneDrive will not show in Moodle. Linking means the opposite.

If the teachers is creating a file resource in Moodle they also  have the option to embed the file directly on the page. This only works if the teacher selects to link to the file instead of duplicating it. If this is done then the file is displays embedded on the page with a border around it and none of the Office 365 editing features.

Course Maintenance:
Course maintenance will depend on if a Office 365 file is linked to or duplicated. If the file is linked to then on restore that same file will be used by a new course and all maintenance can be done in Office 365. If the file is duplicated then the version of the file that was used may need to be updated in future courses. Teachers will need to consider whether the file should exist at a point in time (duplicating the files in Moodle) or if they want to make sure all courses have the most upto date version of the file (linking to the file).


The documentation covers adding a file from OneDrive as well as uploading a file from your desktop to OneDrive for use. It is adequate for what the features does.


The OneDrive repository is used for adding content anywhere in Moodle where the file picker appears from Office 365. It is useful for attaching any file type that Microsoft Office 365 supports. The ability to link or duplicate files also provides users with various options for long term support of content. The files can also be used as teaching tools or content as well as assignment submissions or attachment to forum posts.


No formal accessibility testing was done on this plugin. However, nothing has come up in our other tests to indicate a problem. In the future, we will be developing more formal accessibility testing suites and will redo them then.


Code Review:

Full code testing results

(Scores out of 2 - 2 = perfect; 1 = some concerns; 0 = problems.)
Tested for PHP 5.6 and 7 on both MySQL and Postgres. No version of technology problems were found. Score - 2.
Installation test (mpci install) - no problems. Score 2.
PHP syntax test (mpci phplint) - no problems. Score 2.
PHP copy/paste detector (mpci phpcpd) - No duplications. Score 2.
PHP code complexity (mpci phmd) - generally code is okay. One file out of 15 flagged with minor violations. Score - 1.
Moodle code guidelines (mpci codechecker) - Several minor Moodle coding guideline violations (10 files missing Moodle GPL header). Score - 1.
CSS syntax test (mpci csslint) -no files. Score 2.
JS syntax test (mpci jshint) - no files. Score 2.
Moodle plugin structure test - Passed. Score - 2.
PHPUnit tests - no tests provided. Score - 0.
Behat tests - No tests provided. Score - 0.
Total score 16 / 22 - 73%.  

Maintenance Review:

(Scores out of 2 - 2 = confident; 1 = nervous; 0 = concerned.)
Lifetime: Plugin has existed since January 2015 on version 2.7. Score - 1
Releases: Frequent releases to Moodle plugins DB, with the latest in March 2016. Score - 2
Maintainers: James McQuillan of Remote-Learner (former Moodle Partner) and Microsoft. Score - 2
Support Response: Has a component in Moodle Tracker. Uses Github tracker. Uses Moodle forums. Responds in plugins DB. Score - 2
Release timing: How quickly is a release made available to a major Moodle release? 3.0, 2.9, 2.8, 2.7 met criteria. Score - 2

 Total score 9 / 10 - 90%.