The novel coronavirus has brought such unforeseen disruptions in all aspects of our lives that we haven’t thought in our wildest dreams just a few months back. From businesses to academia, and from politics to worship, no facet of human life is left unaffected by this global pandemic. All the countries around the globe have placed severe lockdowns and stringent SOPs to enforce social distancing and minimize the contagion. According to medical researchers, social distancing has become a reality and we have to live with it, at least, for a foreseeable future.
Under such circumstances, it is virtually impossible to hold regular classes in schools and colleges or conduct in-person interviews to hire and train new employees. For many companies, it wreaked havoc, but others adapted modern technology and digital tools to continue providing services to the people and avoid the total shut down of their supply chains. That is why online onboarding new employees with LMS (learning management system)has become a new normal and more and more companies are shifting towards online training of their workers.
Similarly, majority educational institutions have embraced online teachingwhich rhymes exactly with working from home. This exponential growth of online learning has put much load on the learning management system (LMS), an EdTech platform, and almost all the universities and colleges in North America and elsewhere have almost completely transitioned to virtual or distant learning. The chart showing the transition of higher education enrollments in Canada and America is:
Needless to say, Covid-19 has significantly affected the field of education. Online teaching and learning have become more necessary than ever as around 1.2 billion students were out of classrooms due to the closure of educational institutions. In such times, we witnessed a dramatic rise in the usage of Moodle and other LMS around the world. Research studies conducted during the past few weeks show an exponential growth in the usage of online learning management systems likeMoodle. As per data from LMS and Moodle Usage.
Instructure: Witnessed a 60% increase in concurrent users on LMS Canvas in just two weeks.
Blackboard: It saw an increase of 400% in the total number of logins for the Learn LMS, and almost 3600% increase in the number of virtual classrooms.
Moodle: The usage of Moodle has increased significantly during a pandemic. We cannot predict the exact number of users at any time however, the total number of sites registered with Moodle increased by 30% in a single, and similarly, the use of Moodle Cloud also increased by 4-times during last few weeks.
In the same way, Schoology witnessed a 4x increase in its LMS usage from the previous maximum.
It is pertinent to mention that there already was a stimulus towards online teaching and learning before Covid-19 and the total investments in this filed (EdTech) were around $19b in 2019, but, not surprisingly, it is forecasted to reach more than staggering $350b by 2025, thanks to Covid-19. It shows how many companies and universities are investing in online learning tools to offset the losses caused by Covid-19. From open-source LMS like Moodle, and video conferencing tools to video tutoring and online boarding, the world has witnessed an exponential boost in the usage of digital tools for online learning and teaching.
Employees Online Onboarding During Covid-19 Era
It is projected that LMS (learning management system) will accelerate employees online boarding and training in the years to come. It is no more a luxury or perk used by tech-giants to bring in new workers rather a new normal that all the companies have to acquaint themselves with. The majority of companies including Amazon, Facebook, Microsoft, and Google have instructed their employees to work from home since many critical and essential businesses cannot afford to have complete shutdown so they are resorting to virtual onboarding and working to continue providing essential services to the people. Almost all the workplace tasks like hiring new employees through in-person interviews, acclimating to the company’s policies and culture, and learning required skills to carry out individual and team-roles are being done by online boarding.
Data from Udemy
Udemy is the largest online teaching and learning platform. It released a report on April 30 to analyze the surge in its customers due to Covid-19. The statistics shows:
4.25x increase in consumer enrollment.
Instructors created 55% more content
Businesses and governments have used the Udemy platform almost 80% more than pre-COVID levels.
To conclude, it would be wrong to say that because of Covid-19, every domain of human life is affected especially education and employment as governments imposed stringent lockdown to ensure social distancing. However, it provided an unprecedented stimulus to online teaching and learning and all the educational institutions and businesses are resorting to remote education, online boarding, and telecommuting. That is why the usage of LMS like Moodle has witnessed tremendous surge and this trend is likely to only increase in the future.
In this tutorial we are going to have a Moodle Instance up and running on a Virtual Machine – inside Docker Containers.
First of all, install and get Docker up and running. Then, download Moodle or make sure you have a Git-Repository ready at hand. We are going to use docker-compose for this task. Now let’s try and Run Moodle with Docker.
Moodle with Docker
We need a container that will have all the needed technology to run and serve the Moodle source code (your repository). This configuration will come from an Image, that we will use and configure through a docker-compose.yml file. Create a file docker-compose.yml and insert the version of docker-compose syntax that we are going to use:
These Technologies are needed:
Operating System (Ubuntu)
Server (Apache2, Nginx)
PHP7.x (incl. php-curl, php-mysql, etc.)
Database Docker Image
We are going to use a simple and straightforward solution from bitnami. We simple create a service that will use this image, and set some parameters like username, db_name, etc.
We call our service ‘mariadb’, expose some ports (3306) and bind a volume to persist our data on our host machine. We also attach ‘mariadb’ to a network moodle-net. Also, make sure that docker can read/write the /home/maria_data folder on your host. We set rwx access for now (which is not recommended), please make sure to set the proper rights.
We specify the image that we tested previously. Specify the network to be same as the network of mariadb container. The Env Vars that we define, will be used by moodle in config.php. We open ports and specify the volumes. We make sure that moodle container only starts after mariadb container is up with the depends_on option. Make sure /home/moodle_data is writable.
sudo chmod a+rwx /home/moodle_data/
Before we continue, in these courses you can learn how to create backend and frontend application. Both of which you can easily deploy and serve with Docker. And now you know how to use docker-compose. Expand your skill-set with these courses.
At last, we need to define our network and volumes:
Now let’s boot up these containers with and visit localhost or your public ip.
docker-compose up -d
You should see the installation process. Enter your Database data (see ENV VARS in MariaDB Service. After that a config.php file will be created. If not, copy the code and create a config.php file in root folder.
After finishing up the setup process of moodle, you’ll finally see your ready working moodle instance. Now you run Moodle with Docker Containers.
After setting up moodle. Your host volumes/folders will be filled with data that comes from containers. E.g. moodle population a predefined folder structure in moodle_data.
cache filedir lang localcache lock moodle muc sessions temp trashdir
Same, and more importantly, applies to mariadb container. Our Database is now persisted on our host machine.
aria_log.00000001 aria_log_control bitnami_moodle ibdata1 ib_logfile0 ib_logfile1 multi-master.info mysql mysql_upgrade_info performance_schema tc.log test
German IT Academy Coach
Andrey Bulezyuk is the founder of German IT Academy and a course creator. He mainly covers topics from Web Development (NodeJS, VueJS, Django etc.) to Data Science (Pandas, Numpy) and Machine Learning (Tensorflow, Keras, etc.).
He published a German book “Algorithmic Trading“, giving his readers the opportunity to learn how to code automatic trading systems for the stock market or the Forex.
He has experience as a Backend and Frontend Developer. In his early years he worked on Web Projects as a Freelancer. Switched later to Financial Market System Developing. Currently employed as Machine Learning Engineer.
He takes part in different projects and acts as a Co-Founder in different small start-ups. Andrey Bulezyuk was an employed Full-Stack Developer in Munich. Currently his duties do cover areas of Machine Learning and ETL.