AlignMinds Technologies logo

Moodle based Learning Management System

About the Client

Our client is a large US based enterprise providing Moodle based Learning Management solution to educational institutions, training consultancies, government and corporate organizations from across different industries.

The Challenges

  • Client has a basic version of Moodle and hence UI customization is not flexible. There is a gap between what the users (trainers, learners, admins) require and what the current version can offer.
  • The interface is not appealing or user friendly, searching for content and navigating through the site takes time and effort.
  • The website is not mobile friendly. As more students access courses from their smartphones, tablets or other mobile devices, course content should be optimized when accessing from any mobile device for a better learning experience.
  • Teachers cannot engage with remote learners.
  • There is no customizable reporting feature. Teachers need to view regular reports on courses, grades, students or a summary of student learning activities.
  • Teachers need option to set deadlines for activities like assignments, have more control on quizzes and questions.
  • Notifications and messages about general events, new assignments, calendar reminders do not show up on home page.

Old Architecture
(Moodle Core)


  • 1.The solution was to first upgrade to the latest Moodle version 4.1. User interface can be improved using widgets or plugins available with the new version. Plugins add features and functionality to Moodle, such as new activities, reports, integrations with other systems and many more. Most of the UI enhancement functionalities can also be achieved by HTML, CSS and Javascript.
  • 2. ‘Adaptable’ was chosen as the plugin to help design a customizable site. Using this plugin, we can have multiple menus, layout builders on how the courses or other items should be displayed. Recent versions of Moodle allow for a more mobile friendly theme which can allow itself to adapt to various screen sizes and resolutions.
  • 3.‘BigBlueButton’ is a popular Moodle plugin which can be integrated to enable an open source web conferencing system. This can help teachers engage with students to create a smooth online learning platform. The plugin is available for installation with the recent Moodle version and can be configured to suit different user requirements.
  • Since Moodle is an open source learning management system in PHP, the software can be downloaded and customized according to the organization’s unique needs. Plugins can be configured and added to the core system, depending on what additional features are required. Enabling the web services API exposes the plugin’s functions (usually external functions) as Web services. Once this is done, protocols will be enabled according to the external applications used. The plugin’s functions will then be accessible to other systems through Web services using REST protocol.

The Process

Upgrade to Moodle 4.1 is only possible from Moodle 3.9 or later.


So, the current version was upgraded to ver 3.9 as a first step.


Minimum server, client, database requirements were met.


A backup of the current system including the software (server/htdocs/moodle), data files (server/moodledata)and the database (Postgres or MySQL database dump) was taken, before performing the upgrade.


All upgrades and changes were initially done on a staging environment.


Before the upgrade, the site was put in maintenance mode. Any cron processes that were running was allowed to complete.


The latest Moodle version was downloaded on the server. The old files were moved to another location.


The new Moodle software program files were moved to the same location as the old files, so that it will also upgrade SQL and moodledata in the process.


Copied the old config.php file, custom plugins, .htaccess file back to the new Moodle directory, after verifying the custom plugins were the correct version for the new Moodle.


The config.php and other source code were set to be readable by the server, and not writable for maximum security.


Once the upgrade process started, Moodle performed all necessary SQL data and file system upgrades.


Modifications to source code were done through VSCode, and uploaded using Filezilla.


The required plugins for use with the 4.1 version were downloaded. The capabilities that came with the new Moodle version were enabled from Site Administration.


Plugin source code was deployed to Moodle installation directory. Web services and protocol were enabled.


The plugin code was placed in the right Moodle code tree for the plugin type. For eg. theme plugin was placed in /path/to/moodle/theme/ folder.


The plugins that were not deployed using administration web interface, were executed manually.


New Architecture
(with upgraded version and additional plugins)

Development Challenges

If client is using one of the older versions of Moodle, it cannot be upgraded to the latest version at once. For eg. the software will need to be upgraded to 3.6 or later before upgrading to 3.11, or upgrade to 3.9 or later before upgrading to 4.1. Hence the upgrade was done in a series of steps.

The server software such as PHP, should be upgraded to a compatible version of the Moodle version to be installed. This was verified and upgraded before installation.

The version of plugins that are already installed should be compatible with the new Moodle version. If not, then the plugin will have to be uninstalled before installing Moodle. A compatible version can then be installed. This was verified and installed accordingly.

  • A detailed study of the existing system, the versions installed and their compatibility with the new Moodle version was done before the upgrade.

  • A full backup of the system was taken, so that the system can be rolled back to the previous state, in case of any issues.

  • The upgrade was first done on a test server, so that any unexpected errors can be fixed before being performed on the production server.


  • Clean UI, easy navigation, user friendly screens, smooth scrolling, sticky table of content for better reading experience.
  • Custom layouts can be defined for your home page, course page, dashboards and reports with customizable fonts and colors.
  • Learners can easily access courses, notifications etc. on the move from any mobile device.
  • Web conferencing allows teachers to share audio, video, screen in real time with students around the world.
  • Improve student interaction with the use of multiuser whiteboards, polls and chats.
  • Web conferencing allows content recording for later playback.
  • Students will be able to click on a link to join a web session and can be restricted from joining until moderator joins.
  • Admins will have privileges to configure settings as per campus or user role requirements.
  • Teachers and students can get access to customized reports by specifying fields, conditions, layouts on courses, grades, timeline of activities.
  • Admins can set queries, calculations and choose permissions as to who can view the report.
  • Reports can be viewed as chart or in any other graphical format.
  • Teachers can set timed assignments, so that students can submit before deadlines.
  • Teachers can create different versions of questions or quizzes, have it reviewed by peers, set the difficulty level, prepare drafts before releasing to students.
  • Users can view unread notifications and messages in the home page.
  • Some of the plugins that were added to earlier Moodle versions are available as new features in the later Moodle versions. So, all plugins need not be reinstalled if Moodle is upgraded.