Thoughts on learning and education and how technology is changing the way we perceive and perform them.
Friday, December 5, 2014
OneNote Moodle Integration Project - Progress
In my last post, I
started talking about the work we are doing with Microsoft Open Technologies to
create integrations with Moodle and a number of Microsoft technologies and
applications. That work has progressed quickly, and we are now testing our
first efforts. In this post, I will describe where we are with the OneNote /
The work so far is
focused on providing access to OneNote's notebook pages as repository
selections and as assignment plug-ins. The current work has been done for the
free, OneNote for Consumer application. In future phases, the commercial
OneNote plug-in will also be added.
For the assignment
plug-in, the key goal is to allow Moodle assignments to be created in OneNote,
using any and all of OneNote's content features. Then, once the student feels
their assignment is done, they simply need to click the Moodle assignment's "submit"
button, and the student's Moodle assignment submission will be automatically
associated with the OneNote page they worked on in OneNote. No downloading and
uploading required. No conversion into Moodle compatible content required.
feature developed allows the instructor to provide feedback to the provided
submission using OneNote.
To get these
features working correctly, a number of problems had to solved:
Establish a defined, secure
connection between the OneNote application and the Moodle site.
Establish a defined, secure
connection between each user's Moodle account and their OneNote account.
Connect a specific OneNote
page in a user's OneNote account with a specific Moodle assignment
Connect a specific OneNote
page in an instructor's OneNote account with a specific Moodle assignment
submission's feedback response.
Ensure that a specific
submission can be "frozen" at the time of submittal, so that any
changes that occur afterward can be prevented or allowed but visible.
I'll describe the
approach taken for each problem.
A Moodle local
plug-in establishes a secure connection between the specific Moodle site's
instance of the Microsoft plug-ins and the Microsoft API's for OneNote. The
plug-in works with Microsoft's "Live App management site" (https://account.live.com/developers/applications)
to establish unique identifier and secret codes that ensure communication
between the Moodle site and the OneNote API's are for the intended purpose. The
connections are managed using OAuth 2.
This is set up by a
Moodle administrator and configured into the plug-in as above.
A Moodle user can
establish a connection to their OneNote account in several ways. In each case,
the connection is live for the duration of the Moodle session, but is lost when
the Moodle session is complete. Each time a user logs back into the Moodle site,
the user will need to login to the OneNote account as well.
The OneNote account
connection can be established by accessing the repository plug-in, by using the
OneNote block or by using the sign-in button on the assignment plug-in. Using
any of these options logs the user in for all OneNote plug-ins for that Moodle
submission plug-in allows the specific assignment to connect to a OneNote page
for each user's submission. Once a user has logged into their Microsoft
account, the assignment will offer a "Work on this" in OneNote
button. Clicking this button will open the OneNote web application in a new
browser tab, logged into the user's account.
If the OneNote page
has not already been created (if this is the first time the user has opened
this assignment), a new page will be created in a section for the Moodle course
in a notebook for the Moodle site. Each of these will be created as necessary.
Each book/section/page is given a name according to the Moodle site, course
name, assignment name, user name and action (submission, feedback). These names
are important, but data references are also kept in Moodle to keep the
A user can then work
on their OneNote assignment in any of the OneNote applications - web based,
desktop application or mobile. When the user is happy with the assignment, in
Moodle, they simply need to click the "Save changes" for their OneNote
assignment submission. Doing this, records the submission in Moodle, provides a
direct link to the OneNote page for the user and the instructors and uploads a
zipped submission of the page in HTML format to the Moodle course assignment.
This upload provides a snapshot in time of when the assignment was submitted,
helping to control what was submitted with any changes made to the page after
On the instructor
side of things, the student's submission is available to be reviewed in
OneNote, reviewed as submitted zipped HTML pages and for feedback in OneNote.
When the instructor opens the students OneNote submission in OneNote, that page
is copied into the instructor's course section in their site notebook with a
name identifying the assignment and the student. If the instructor elects to
offer feedback using OneNote, a new page will be created in the instructor's
notebook containing the content of the submission, allowing the instructor to
provide feedback inline in the content. That feedback page will likewise be
available to the student, by copying it into the student's notebook when the
We are currently
running this work through closed beta-testing, and it will available for more
general beta testing in the new year. I think this add-on will be a very useful
addition to the Moodle landscape, and look forward to seeing what people can do