Wednesday, June 3, 2015

UK Moodlemoot 2015 - Thoughts on Community and Openness

Two weeks ago, I attended the UK Moodlemoot in Dublin. This was around the twelfth Moodlemoot I have participated in, most of which I have actively presented in as well as attended. I always find the Moots’ spirit of community so energizing, and this one was no exception.

Attending a Moodlemoot gets me back in the community and its sub-communities - developers, educators, users and partners. It reminds me why I do what I do, and makes me happy to be part of the engine that makes Moodle go. A Moot is a reunion of sorts, where I connect with people who I see “virtually” every week, but only physically meet with in geographically far-off places every couple of years. And as a reunion, it makes me review my history.

I began my Moodle connection in 2003, with my first “moodle.org” post on November 27, 2003 contributing my ideas for “Moodle groups” that was being worked on for Moodle 1.1. That same discussion included three colleagues who went on to start their own Moodle Partner businesses - Sean Keogh, Bryan Williams and Tom Murdock. Eventually, Sean, Bryan and I merged our three Moodle Partner companies into one. Tom Murdock co-founded Moodlerooms, which just recently acquired our UK division. Sean and I were both there at the recent Moot.

In February 2004, I released my first module - questionnaire. Questionnaire remains one of the top plugin downloads in the Moodle plugin database, usually sitting in second or third spot.

in June of 2005, I attended my first MoodleMoot at what was then the Governor Dummer Academy near Boston. There I met Martin Dougiamas for the first time in person, as well as Michelle Moore, who I would later work with as well. Both were there at the Moot.

Over the next decade, I continued Moodle development, formed my own Moodle Partner company, attended and presented many more Moots, attended various developer conferences and hackfests, wrote a book on Moodle plugin development and I believe contributed to Moodle’s success. Some of the developers I’ve attended the developer gatherings with were there as well: Dan Poltawski, David Mudrak, Davo Smith, Bas Brands among others.

Now, arriving at Dublin for the 2015 UK Moot, I still found myself amazed by the spirit of collaboration this experiment of Martin Dougiamas has created. I was there to present our latest releases of plug-ins designed to help Office365 users integrate with Moodle, and front a workshop to help learn how to setup and use these plugins. The workshop was attended by new faces as well as known collaborators. When I ran into trouble, someone in the room was there to help me out. I received valuable feedback that will go back into the plugin development.

Likewise the various sessions demonstrated the Moodle community energy. No presenter felt alone, and I think all left with as many new ideas as they provided. You just know, more good ideas will end up available to us all as a result. I personally, have already contacted a couple of the presenters to see if I can get more involved in their projects.

And of course the impromptu meetups in the social times generated many great discussions on Moodle, learning and the industry in general. Many of these went well into the night and well into the Guinness kegs. My personal discussions involved educators, Moodle users and administrators, developers and other partners. I found all of these talks led to positive ideas of how we can improve Moodle, learning and our “product”.

My hats off to Gavin Henrick, another colleague and past co-worker, for organizing a successful Moot that so celebrated and promoted the spirit of openness the Moodle community brings. I love being a part of this community and its innovative energy. Looking forward to the next one.

Tuesday, April 7, 2015

Office 365 Moodle Integration Project - New and Improved

Since we released the O365 integration plug-ins back in January, there has been a lot of community pick-up and feedback. We have responded with a number of improvements. This article will focus on the most noticeable surrounding the O365 single-sign-on and account connection.

The original release of the O365 plug-ins required users who wanted to use the O365 OneDrive and Outlook Calendar Moodle integrations to change their Moodle account authentication scheme to the OpenID Connect using Office 365’s AAD system. Any new Moodle account had to be created and managed from the Office 365 AAD system as well. To login, a user had to use the separate “OpenID Connect” login button on the Moodle login page.

This system worked well for new Moodle installations, where the user management system had not been established, and was therefore easy to select the OpenID Connect/AAD authentication system for their user system. But for established Moodle sites, where other user management and authentication systems were well established, this proved to be a barrier to using the O365 integrations.

Further, some Moodle sites that did want to use the OpenID Connect/AAD system for Moodle authentication, didn’t want their users to look for a separate login button on the Moodle login page, but to continue to use the standard Moodle login form.

I’ll deal with the second problem first.

As originally released, to login via O365, you had to use a separate button on the login page, like below:


However, Moodle is built such that authentication plug-ins can use the standard login form, if they choose to do so. For this case, we built in the ability for Moodle to pass the entered username and password to the OpenID Connect provider, and log the user in to both O365/AAD and Moodle at the same time, in the background. In order to facilitate this, we provided an extra configuration option:


As shown, the second radio button turns off the need to use the separate OpenID Connect login button, and allows the standard Moodle login form to function with OpenID Connect. If you select the first radio button, the login will work as it did before, and require the user to login using the external provider.

One other addition we added was the ability to select an icon for use on the login button, or upload a custom icon for the same use. This allows the OpenID Connect login button to have an icon more suited to the organization, if they choose not to show the Microsoft Office icon.

For the account connection problem, we approached it in a unique way. As the account connection mechanism existed, sites that wanted their users to take advantage of the O365 integrations required that the Moodle logins be managed from O365/AAD as well. The plug-ins provided an easy mechanism to connect existing Moodle accounts to existing O365 accounts, and then switch those users to the O365/AAD login, but that was a permanent change. And sites with many users, already have well-established user management and login systems that they use with Moodle.

To solve that problem, we provided a mechanism that allows users to either switch to using the O365 login (as before), or connect their current Moodle account to an O365 account and continue to login to Moodle as they did before. This mechanism is contained in the user profile plug-ins accessed from a user's Moodle profile page, as so:


In this shot, you can see two Office365 links: 
  • Office365 Connection: You are not connected to Office 365. Connect to Office 365
  • Office365: You are not using Office365 to log in. Start using Office365 to log in.
Either of these links takes you to the new O365 management page, which provides links to each function as so:


The first function on this page, "Start using Office365 to log into Moodle", works the same as the first release. If you click that link, you will be redirected to your Office365 login page to login to O365/AAD. If you login with a valid AAD account that has not already been connected to a Moodle account, your Moodle account will then be reconfigured to use AAD as the authentication scheme. Once that has been done, you will always need to login to Moodle using the AAD account information.

The second function in this page, "Connect to Office365", is the new function. If you click that link, you will be likewise redirected to your Office365 login page. If you login with a valid AAD account that has not already been connected to a Moodle account, your Moodle account will be configured to be connected to that O365 account. What that means, is that you will continue to login to Moodle in the same way you always have, but when you access any of the O365 Moodle integrations, your O365 account will automatically be used. You won't need to login twice once the connection has been made.

This second feature was one that was most asked for. This feature allows Moodle sites that cannot change their Moodle authentication schemes to still take advantage of the full O365 integrations.

One feature that has also remained is the automatic account creation. If a user that does not exist yet in Moodle, logs into a Moodle site that has the OpenID Connect O365/AAD authentication plug-in enabled, and the account information they use is a valid AAD account, they will be logged in and a new Moodle account created for them.

We have a number of other improvements and new features coming in future releases. Look to future blog posts describing these.

Monday, January 19, 2015

Office 365 Moodle Integration Project - Released!

This will be a short post, just to let everyone know that our first release of the Office 365 plug-ins are now available to the community.

Earlier today, Jean Paoli, president of MS Open Tech announced the official release of the code at the BETT show in London. This announcement coincided with the opening of the Githib repositories to the public and the submissions to the Moodle Plugins database.

I have posted an announcement in the Moodle "General plugins" forum, and more discussion can happen there. There will also be tracker items set up in the Moodle tracker to get feature and improvement requests, and deal with bugs.

You can get the plugins from the Moodle plugins database as follows:

The current work for each has been gathered in one Github repository called "o365-moodle", but each plug-in has a current release repository of its own. The "readme" file in the "o365-moodle" repository has references for each release repository.

Start playing!

If you want any more information on how you can benefit from these developments, contact Remote-Learner at moodleo365@remote-learner.net.

Thursday, January 8, 2015

Office 365 Moodle Integration Project - OneDrive

Our initial work with Microsoft Open Technologies has progressed, and we now have an integration with OneDrive for Business. In this post, I will describe and provide brief demos of how Moodle and OneDrive for Business can work together.

At its basic level, the OneDrive for Business integration is a repository plug-in. It is built to work closely with the OpenID Connect authentication plug-in that provides the Office 365 account connection. It provides two levels of repositories to every user. It provides access to each user's private files area, and it provides access to a course shared area for every course a user is enrolled in.

I'll start by looking at the personal space. Below is a screen capture of the Moodle file picker using the Office 365 OneDrive repository.


What I can see here are two folders in OneDrive. The "My Files" folder is my personal space in the OneDrive for Business application. The "Courses" folder contains subfolders for each of the Moodle courses I have access to. "My Files" displays all of the files and directories I have in my OneDrive for Business folder. The image below shows the contents in the Moodle file picker.


Looking at my OneDrive interface, I see a similar structure as below.


Note that the folder structure and contents mirrors what I saw in Moodle. If I add or change the contents of my OneDrive folder, it will likewise  be reflected in the Moodle file picker. This is what we expect from a Moodle repository plug-in. :)

If I add files to my OneDrive, I will see them when I look at "My Files" in the Moodle Office 365 OneDrive "My Files" area. Likewise, if I upload a file from Moodle into the "My Files" area, I will see it in my OneDrive folder. In the Moodle file picker image of "My Files" above, note the "Upload New File" control. Using that, I can select a file from my local machine, and upload it directly into my OneDrive folder via Moodle, where it will be available to both OneDrive and my Moodle files.

The "Courses" folder also uses my Office 365 account. It provides course-level shared access to files for all of the Moodle courses on the site that I have access to. A separate folder is created for each course, using the Moodle course names. To do this, Office 365 for Business uses Sharepoint, and specifically, Sharepoint sites. Below are two images showing the same course level directory on Moodle and on Sharepoint (OneDrive).



The integration uses Moodle capabilities to control access to the files in both Moodle and Sharepoint/OneDrive. By default, the teacher roles in a course are given read and write access to the course folder, while students are given read only. Moodle synchronizes these access permissions to Sharepoint to control it in the Office 365 realm as well.

Showing the path through Office 365 to the Moodle course files is difficult with screen snaps, so instead, below I have included a small video showing the path through to the course files.


We're very close to releasing all of this work to the community at large. And we're very excited to find out how its received. In future posts, I will discuss the technical solutions underneath the hood in more detail.

If you want any more information on how you can benefit from these developments, contact Remote-Learner at moodleo365@remote-learner.net.