Sabuj Kundu 27th Jan 2013

images-1For couple of months now are have been working on a customization project of Moodle an open-source PHP web application for producing modular internet-based courses. It is one of the most popular Virtual Learning Environment used by many leading educational institutes around the world.

We were contacted this job from a UK based global consulting agency and they intend to use Moodle platform to share their consultancy courses online to their clients across the globe. What is good about Moodle is that it takes care a lot of things that one would expect in a Virtual Learning Environment that needs to have automated course updates, quiz, grading, discussion forum, adding contents, enrolling participants etc.

Our experience with working with Moodle platform has taught us a lot of things. I am highlighting a few here (I am sure this list will get updated once we finish this project and look back for best practices and lessons learned):

1. Moodle has traditionally given a lot of emphasis on adding detailed functionalities but not so much on customization flexibilities and design.

2. For custom development the look and feel can be very important, and that was our experience as well. From the very beginning you can expect your client to have their moodle look in a certain ways and one of our main challenge was to take Moodle as it is and doing a lot of customization on the level of look and feel. We completely changed the menu system, introduced new menu and tweaked the blocks a lot.

3. We are using Moodle in conjunction with an independent entry site (CMS based) as well as a custom catalogue solution (third party). This fairly seems quite a standard practice for those who are concerned with their branding and marketing aspect of the courses.

4. We began using 2.3 version of moodle, but later on we upgraded to 2.4 since it is the last version with certain improvements and added stability.

5. The server requirement for Moodle is quite high, specially when you are planning for many concurrent users. Our clients usage profile is quite modest at the moment, perhaps 50 to 100, but those setup of Moodle which are used in University / College level can have concurrent users in the range of 1000 uers or more. They can be massive and may need special multiple servers with lots of RAM.

6. Even with a good server configuration for Moodle we are anticipating to do some optimization on server setup so that memory and database query use is optimal.

7. The alpha testing can be very important for Moodle during the intermediate part of development since it is the client who understand the need the most and only when they give good feedback, then the developers can plan early and customize the platform where necessary. So one of my recommendation for other Moodle customization project would be to have one or two person assigned from clients end who will be using and testing the system for possible feature / modification suggestion in terms of User Experience (UX) Journey in moodle since its by default Moodle’s UX can be messy.

Our experience with Moodle customization we hope will be very useful in future when we may take on further projects and we are also thinking of developing our own cataloging system for Moodle.

If you are looking for a Developer Company to deploy your own Moodle as Virtual Learning Environment, you may think of Codeboxr. Feel free to contact us for a discussion schedule and free quotation.


– Sadiq M Alam
COO and Co-Founder