Moodle is a popular LMS that is based on socio-constructivist concepts. The purpose of this page is to write down some tips and ideas about Moodle. It's neither an introduction nor a tutorial !
The reasons for its popularity relies in DSchneider's opinion on the facts that:
See also: LAMS (Lams can be integrated with Moodle)
DSchneider doubts that a typical course found on a randomly chosen Moodle installation is truly socio-constructivist. They are most definitely not very constructionist, e.g. on-line student activity is often reduced to forum activities and downloads of materials and uploads of assignments.
Parametrizing the system, classes and activities is sometimes a bit too complicated and there may be too many options.
The default themes are not too user friendly and often waste space. The latter problem can be fixed with some easy to add CSS code. With respect to v 2.0, the 3.x versions seem to be easier to use.
Moodle should install without any problem on all kinds of LAMP installations. Make sure that your PhP meets all the requirements.
It is very difficult to find the version number and there may be several ways.
In Moodle 3.x it should be in both
At TECFA, we frequently upgrade. To keep up with minor upgrades, it is best to work with their Revision control system. See Upgrading Moodle.
(outdated, see GIT below)
To update a same version, type:
cvs update -dP
or to get a new specific version
cvs -Q update -dP -r The_Moodle_Version_you_need
E.g.
cvs -Q update -DP -r MOODLE_22_STABLE
Newer installations are encouraged to use Git
In short, for a first time upgrade with GIT, save the old files
$ mv moodle moodle_old
Then clone into a directory called moodle
$ git clone git://git.moodle.org/moodle.git $ cd moodle $ mv ../moodle_old/config.php . $ git branch -a $ git branch --track MOODLE_23_STABLE origin/MOODLE_23_STABLE $ git checkout MOODLE_23_STABLE
To update within a stable branch (minor revisions):
$ cd /path/to/your/moodle/ $ git pull
To update to a new stable branch without backing up:
// check branches git branch -a // example for tracking new version and then updating git branch --track MOODLE_26_STABLE origin/MOODLE_26_STABLE git checkout MOODLE_26_STABLE git pull
To update to a new stable branch with backing up:
// copy all the files (ajust to your installation directory) cd moodle_install_partent_dir sudo cp -rp moodle moodle_old // (Optional) copy the data files (ajust to your installation directory) cp -rp datadir datadir_old // dump the database mysqldump -u root -p moodle > moodle.sql
After that, do as above.
(using git)
// E.g. revert from Moodle 3.0
git checkout MOODLE_29_STABLE
// repair the database (adjust db name and file name)
mysql -u root -p moodle < moodle.sql
Make sure to allocate enough memory and execution time in php.ini, i.e. at least 128MB.
Type in a console:
php --info | grep php.ini
Then edit the configuration file shown. E.g. high values would be:
max_execution_time = 600 ; Maximum execution time of each script, in seconds max_input_time = 600 ; Maximum amount of time each script may spend parsing request data memory_limit = 256M ; Maximum memory
The make sure that there is no other php.ini override (e.g. in httpd.conf), type
php --info | grep mem
Also in php.ini
upload_max_filesize = 30M ; or whatever you find reasonable.
You also may have to hand edit file moodle/search/cron_php5.php and manually change the "ini_get" lines (for what strange reason I don't know)
If you don't have console access, then deposit a file called test.php with contents:
phpinfo();
and look at the page. It does the same as php --info. DELETE after usage or protect it.
Moodle should regularly be triggered to do things, i.e. you should install a cron jog, e.g. under Ubuntu:
# https://docs.moodle.org/24/en/Cron */15 * * * * www-data cd /__your_path_to_moodle/admin/cli/; /usr/bin/php cron.php >/dev/null
Else, use sudo crontab -u www-data -e
Usually it is not possible to run cron jobs with a simple web hosting program, e.g. from Infomaniak
You can use the web interface instead. Change the following settings (you can find them by typing "cron" in Moodles search box. Untick command line only, provide a password and then enter the php path (maybe)
Cron execution via command line only - UNTICK Default: Yes Running the cron from a web browser can expose privileged information to anonymous users. Thus it is recommended to only run the cron from the command line or set a cron password for remote access. Cron password for remote access ••••••••••••••• This means that the cron.php script cannot be run from a web browser without supplying the password using the following form of URL: https://site.example.com/admin/cron.php?password=opensesame Path to PHP CLI pathtophp /usr/bin/php Path to PHP CLI. Probably something like /usr/bin/php. If you enter this, cron scripts can be executed from admin web interface.
On the webhosting site, enter the password appended to the url.
https://site.example.com/lms/admin/cron.php?password=............................
Important: the URL is lms/admin/cron.php and not lms/admin/cli/cron.php
Default themes, are incredibly bad. E.g. "Formal white" can't display the width of a serious grading rubric, links are difficult to see. One option is to redesign and that can take time that is better spent on something else (IMHO).
To make small fixes, create a user style sheet (Menu: Site Administration -> Appearance -> Themes -> [Selected Theme])
div.title {background-color:#E3DFD4;}
a:link {color:#00008B ;}
a:visited {color:#191970;}
.gradingform_rubric{max-width:1200px};
Make sure to turn the CSS caching off while you test:
Starting Moodle 2.2 there is IMS LTI support in two ways.
LTI>
or External tool
in older versions, allows to integrate LTI services. In other words, Moodle can connect to another system and let the user access services and contents transparently. This will require some setup.As explained in Moodle's external tool and external tools settings documentation, a teacher can add an external tool from their course page and an administrator can make an external tool available to all teachers on the site.
Adding a tool sitewide
Administrators can add an configure external tools.
Add external tool configuration
You then configure new external tools. In order to do so, you should read the documentation of the external tool provider. You need to define a least
In addition you may have to define
Under privacy, you can define if the launcher (i.e. Moodle student's ID and email) are forwarded to the tool and whether the tool can send grades back.
Added (active, pending or rejected) LTI modules then also can be seen here:
Adding a tool as teacher
The following screenshot shows a minimalistic setup, i.e. the equivalent of a simple web link. Such an LTI is of course pointless. In order to make this work, the wiki should at least accept a user login and password, i.e. be an LTI provider.
One could try out LTI4Mediawiki developed by Learning Apps.
The same group also developed plugins for a dozen other applications, such as Joomal, Mahara, Elgg, and Wordpress (see below) This MediaWiki plugin allows Moodle users to connect to a MediaWiki and create/edit files within a Category that has the name of the Moodle course. Members of the same Moodle class will use the same Mediawiki login/pw if we understood right.
An other alternative: Tools integration (Moodle and MediaWiki via OKI, probably outdated).
To do/try out, see:
Educational badges can be used in two contexts:
Documentation:
Badges can be given out automatically for course or activity completion (make sure that Completion tracking is enabled) or manually using the course or the site administration menu.
Badges can be uploaded by the receiver to the Mozilla Backpack by the users. You will have to create an account to do so.
Badge creation is pretty similar at the site and at the course level. You will have to define
E.g. the following was created from two SVG drawings in (roughly) the following way with Inkscape:
Installing a plugin is always a risk, since they go away after upgrading.
Plugins can be installed in different ways. The safest method is probably downloading a zip file or use git.
Plugins go to one of the following subdirectories:
URLS at Google
URLs in your Moodle
... scroll down/search for Google Drive in the page
Tested with Moodle 3.4 / Feb 2018.
Useful to enrol a whole bunch of students in a specific class with their email or Moodle ID. Can be used by teachers. Just use a text file with one column. Each line is either a Moodle login, id or email address. The first line will be skipped (!)
It must be installed in the ./local subdirectory !
The tool can be found in the Participants page, pulldown menu top right -> Bulk enrolments.
Exemple using Moodle IDs:
First line will be skipped schneiderd millera moodlegiant1
Alternative
Admins: If you use a CVS to create users you can use the same file to add user to a class by adding a column I believe. However, it may affect users and is potentially dangerous.