Part 1: Introduction To Moodle, Its Usage And Features

in utopian-io •  7 years ago  (edited)

Getting Acquainted With Moodle
For those new to LMS (Learning Management System), Moodle is one of the best open-source project ever embarked on that was made specifically to satisfy all/most demands of LMS all over the world. In this post, i am going to introduce you guys to this amazing open-source project because my experience with it has taught me a lot about development and also the fact that just about everything about the physical world can be "digitized" and in the case of Moodle, it's all about "digitizing the learning platforms".
And in these tutorials, am gonna make it into a series starting from the basic to the more technical aspect of the platform so that both tech savvy developers and layman users can get familiar with this amazing platform and in case they decides to use it, installation, some features and usages will be elaborated on as this series progresses.
indexq.jpg

What is Moodle And Why Do You Need It?
This question might pop up in your mind in the course of you reading this post and it's my desire to succinctly answer it in an easy to understand way in case you are interested in making the best use of this amazing project. Moodle is an amazing platform and its open-source codes on github can be cloned by any tech savvy and interested developers for the purpose of creating and setting up their own (or clients own) Learning Management Portal for e-Learning and other online Education services.
It's written on PHP and Javascript and enriched with so much features and functionalities that you will really love as far as setting up a professional and full-fledged LMS platform is concerned.
It's really great for setting up Learning Management Platforms that is suitable for colleges, universities and also high schools (but can as well be adapted for all cadres of academic levels) and it's very versatile and scalable too and can be modified to suit the demands of different users.
Moodle has garnered an award of excellence
z0.PNG
because of its innovative and cutting-edge features that is enriched with the possibilities of making online education more all-encompassing,intuitive, enthralling and fun for both tutors and students alike and with the arrays of features and supports it has, it's sure to satisfy the educational needs of investors or developers. Also the fact that it is an open-source software means that developers can add/remove some features from the original source codes to ensure a distinct yet functional usage of the project.
index.png

Support And Update
One thing that makes Moodle stands out from other open-source LMS platforms out there is in the fact that it's regularly updated and this makes it really nice for anyone who want to use it because as new bugs are detected, they are promptly fixed too and some critical suggestions are implemented too and this means that the platform is really stable and a testament of that is in the user-base of the platform that transverse all (or most) of the continents of the world.
imagesq.jpg

Installation And Server Requirements
Like most other open-source projects out there, there is some basic server requirements that should be met before the script can run successfully on the server without any glitches or issues. Below are some of the server requirements needed to successfully run the Moodle open-source script:

  1. A Linux-based server (Ubuntu,CentOS or Debian) with SSH login access
  2. Access to the root directory of the server for compiling and using commands
  3. A working web server is needed (e.g. Apache), a database server (e.g. MySQL, MariaDB or PostgreSQL)
  4. Sufficient Bandwith and storage space included in the hosting server (10GB Ram, 100GB storage and more).
    It is worthy of note that Moodle requires a number of PHP extensions for it to properly work. And to install it on the server, there are two main methods:
  5. By downloading the latest update files here
  6. By pulling the code from the github repo:
    git clone -b MOODLE_34_STABLE git://git.moodle.org/moodle.git
    Both methods are great but i personally prefer the second method and i especially recommend it for developers because it makes installation and upgrading easier too.
  • Rough/Summarized Installation Steps*

Create a database
Using your chosen database server, create a new empty database. The default encoding must be UTF8. For example, using MySQL:

Create DB...* moodle*
Default Character Set... utf8mb4
Collate... utf8mb4_unicode_ci

Create a user/password combination with appropriate permissions for the database. For example (MySQL again):
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON moodle. TO 'moodleuser'@'localhost' IDENTIFIED BY 'yourpassword'*
Notes: It is important to GRANT ON moodle. as the database name including the '.' and not just the bare database name. Save this password you use for the Moodle user, since you will later need it during the installation and set up process.
Create data directory
Create an empty directory to hold Moodle files. It must not be in the area served by the web server and must have permissions so that the web server user can write to it. Other than that it can be located anywhere. Typically, either make it owned by the web server user or give it write permissions for 'everyone'. If it is on a shared/NFS drive then read Caching - Moodle caches to this disk area by default and a slow share will mean terrible performance.

Install The Moodle code

If you downloaded the zip or tgz file earlier, then unzip / untar / move / copy the Moodle code (obtained above) so that it will be served by your web server (e.g. on Debian based Linux, move to /var/www/html/moodle)
Check the permissions and make sure that the web server does not have permissions to write to any of the files in the Moodle code directories (a very common root cause of sites being hacked).
If you need to, configure your web server to serve the Moodle site with your chosen URL.

Further installation procedures and steps can be found here and here.
imagex.png

It's worthy of note that during the setup and installation of this Moodle script, several errors might occurs (during my first time, i spent several hours figuring out the PHP files that is needed to fix the errors) and in my next post, i will elaborate more on the errors, why they occurs and easiest ways to fix them too.
Furthermore, it's also worth knowing that Moodle has wide arrays of both free and paid plugins and i will dedicate several tutorial posts that are solely geared towards explaining the plugins, the different methods of installing it, how to activate and also configure it with step by step pictorial representation and also video recordings too (for those who would love to watch the video).
Also, in my quest to make this tutorial as educative and exhilarating as possible, i am going to touch different aspects of the Moodle platform in a progressive manner whereby the tutorials will cover the entirety of the Moodle platform for ease of understanding for just about everyone interested in getting acquainted with this amazing platform

That's all for now but in my next post on this series, i will elaborate more on the two installation methods with step-by-step guides on how to go about it and also how to fix some basic errors that might occurs (which are usually due to incomplete server set up). It's going to be an interesting tutorial into this amazing platform and any questions and suggestions are welcome and also quality and constructive criticism too.



Posted on Utopian.io - Rewarding Open Source Contributors

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Thank you for the contribution. It has been approved.

You can contact us on Discord.
[utopian-moderator]

Hey @theoutspokenking I am @utopian-io. I have just upvoted you!

Achievements

  • You have less than 500 followers. Just gave you a gift to help you succeed!
  • Seems like you contribute quite often. AMAZING!

Suggestions

  • Contribute more often to get higher and higher rewards. I wish to see you often!
  • Work on your followers to increase the votes/rewards. I follow what humans do and my vote is mainly based on that. Good luck!

Get Noticed!

  • Did you know project owners can manually vote with their own voting power or by voting power delegated to their projects? Ask the project owner to review your contributions!

Community-Driven Witness!

I am the first and only Steem Community-Driven Witness. Participate on Discord. Lets GROW TOGETHER!

mooncryption-utopian-witness-gif

Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x