Moodle as a Corporate LMS

Almost a year and a half ago, our little-internal-training-team-that-could introduced our colleagues to the new corporate learning management system (LMS).  The LMS is a modified Moodle installation.  At the time it was version 2.4, and we have since upgraded to 2.8.  Typically, K-12 and higher ed institutions use Moodle as an online platform for learning.  With a little tweaking, the software can work well in the corporate world, too.

We chose Moodle as the LMS for a few reasons.

  1. Our corporation serves K-12 institutions and we wanted to use a platform with which they are familiar.
  2. It’s well-established software used globally.
  3. I knew the software well and could maintain it as needed.
  4. I admit to being a control freak when it comes to delivering training and content.  I wanted a platform I could manage completely and change as needed.
  5. It’s free.  Our internal training team has a very small (practically nonexistent) budget and we need to save money however we can.

Our leadership was skeptical at first, especially because the software is open-source and distributed under the GPL (“GNU General Public License”, n.d.), which allows users of the software to modify and distribute the software as long as the derived work is distributed under the same license.  We do not use our learning management system for any purpose other than to deliver courses and content to our employees.  We do not distribute our derived works to anyone, and never will.  No one can get to the site unless they are on our network, either in the office or via our VPN.  After hearing these arguments, the leadership agreed to use Moodle as the LMS.

They also wondered how we were going to use the software in a way that would satisfy professional development needs, which are arguably different from those of traditional students.  Frankly, I wondered that myself.  Over time, we have installed plugins, written reports, and created processes that seem to work well.  This post focuses on the plugins we use in our learning management system.

Our Plugins

Visit and you will be amazed by the number of plugins available that were contributed by the Moodle community.  I researched, installed, tested, and evaluated numerous plugins that I thought would suit a corporate environment.  Here are a few that made the cut.

DB User Role Assignment

This was the first plugin I installed.  I knew we could use Moodle in a corporate context once I discovered this plugin.  Basically, it allows us to assign supervisors to users and to grant supervisors access to their team’s progress reports.  Once the supervisors were assigned, I could write reports that would show the supervisors enrollment and completion data for their direct reports.  Therefore, the second plugin I installed was the Configurable Reports plugin.

Configurable Reports

This plugin, and its cousin Ad-hoc Queries, is so useful that our LMS would not be nearly as data-rich without it.  It would also be much more difficult to extract information from its database.  It helps administrative users (and those who are granted access) to write MySQL queries within the software and generate reports that can be read from within the LMS.  Once I figured out how to use it, I created reports for our three tiers of management: supervisor, department head, and leadership team.  Each employee has a supervisor, department head, and leadership team member assigned to him or her.  Each of those management types has a report that shows those employees to whom they are assigned and their enrollment data, completion data, and resource view data.

Additionally, the plugin author has created and shared many reports.  We use two of them each month when we report our statistics to management.  One shows users who have logged into the LMS in the last 120 days.  Another shows users who have never logged in.  This is very valuable information we can share with management, especially the second report, which can be used to encourage those who have never logged in to visit the LMS and see what is available.

This plugin was also used to create what I call the “File Search” page.  First, I created a query in the database that pulls resources from all the resource tables in Moodle and puts them into a new table called various_resources.  That query was added to the cron so that it will run regularly.  Then within Moodle, I created the file search page that queries that table based on a user’s entry in the filter box you can add to the report page.  Now, users do not have to enroll in a course to see the resources stored within it.  They can start at the “File Search” page instead.

Enrollments and Transcripts

The next plugin I found was the “Enrollments and Transcripts” plugin.  This one helps the users keep track of the courses in which they are enrolled and those they have completed.  At performance review time, the transcripts page is often referenced by users; items can be copied and pasted into the review software.

Course Overview on Campus

I just found this plugin the other day and it looks very promising.  As opposed to the standard course overview block, this plugin allows users to hide courses that they do not want to see on their personal home page.  It also comes with filters for term (semester, quarter), teacher, and course category.  A user’s course list can become quite long in our LMS, because unlike a K-12 or college LMS our courses are used for self-study and for live sessions.  Therefore, courses stay open and users stay enrolled for longer periods of time than in a school-based LMS.


Those who manage the LMS use the attendance module for every course used for live sessions.  For many of our courses that are live session courses, the only grade a student will receive is an attendance grade.  We log attendance after the session is over, the cron runs, and the users are marked as having completed the course.  After that, the course shows up on the user’s transcript and the attendance data is used in executive reports.  This module has a cousin, too, called Auto Attendance.  Users can log their attendance on their own instead of the teacher.


We use the questionnaire activity to poll users about training needs.  Being able to store that information within the LMS (as opposed to using Survey Monkey, for example) is very convenient.

Sharing Cart

Using this block, I saved many hours as I was creating professional development resource courses.  Using our job matrices, which describe what employees should be able to do by job function and level of expertise, I created these courses in the LMS to store materials found in a myriad of places (mostly on the Internet).  As I created each course, I added the Sharing Cart block to it and then added the resources stored in other courses to the new one with a click of an icon.  I also added things to the sharing cart as I found them.  Of all the plugins I have, this one is my favorite.

Quick Course List

This block helps users to find courses that might interest them.  We added this block to every page of the LMS for the users’ convenience.  Users can type in a keyword or two and courses with that word in the title appear as a list beneath the text box.  They can click the title and go to the course to explore further.

User Bookmarks

This is my second favorite plugin.  How useful this has been!  We added this block to each page so users can easily bookmark any page that they find interesting.  As an example, I have three bookmarks for courses I visit often.  Rather than have to look them up, I click the link to them in the User Bookmarks block.  Removing bookmarks is just as easy as adding them, too.


This plugin generates a certificate based on parameters set by the teacher within a course.  The certificate can be customized to include your logo and signature.  We are pretty proud of the certificates we can generate from this activity.

Sign in Sheet

This block pulls the participants list for a course and creates a printable sign in sheet, which has come in handy during live sessions.

These plugins have made our LMS work for our organization.  Perhaps they can help your organization, too.


GNU General Public License – Wikipedia, the free encyclopedia. (2015, April 21). [Wiki]. Retrieved May 16, 2015, from

This post was originally published on


Leave a Comment

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s